72
Remotely Controlled Laboratories (RCLs) Technik-Tutorial der RCLs des RCL-Portals http://rcl.physik.uni-kl.de Arbeitsgruppe Didaktik der Physik an der Technischen Universität Kaiserslautern Juni 2011

Remotely Controlled Laboratories (RCLs)rcl-munich.informatik.unibw-muenchen.de/docs/RCL-Technik-Tutorial.pdf · le Fähigkeiten und Fertigkeiten. Das Tutorial soll dazu anregen sich

Embed Size (px)

Citation preview

Remotely Controlled Laboratories (RCLs)

Technik-Tutorial der RCLs des RCL-Portals httprclphysikuni-klde

Arbeitsgruppe Didaktik der Physik an der Technischen Universitaumlt Kaiserslautern

Juni 2011

2

INHALTSVERZEICHNIS

0 Warum ein Tutorial zur RCL-Technik 4

1 Technische Konzeption 4

11 Einfuumlhrung 4

12 Wahl der RCL-Technik 8

2 Lokal gesteuertes RCL 13

21 Interface 13 211 Mikrocontroller 13 212 Basisschaltung und Erweiterungsschaltungen 15 213 Programmierung des Mikrocontrollers 17

22 Hyperterminal20

23 Positionieren von Objekten 21 231 Hybrid-Schrittmotoren 21 232 Schrittmotorsteuerung und Positionierungsmechanik 24

3 Ferngesteuertes RCL 26

31 RCL-Server 26

32 Laborseite 28 321 Steuerung des RCLs uumlber das Bedienfeld 28 322 Videouumlbertragung im Webcamfeld 30

33 Standard-Lernumgebung 31

4 ANHANG 33

41 Interface in Basisschaltung 34 411 Schaltplan und Bauteilliste 34 412 Bestuumlckung der Platine 35

42 Erweiterungsschaltungen 39 421 Uumlbersicht 39

3

422 TMC222-Modul zur Schrittmotorsteuerung 41 4221 Schaltplan und Bauteilliste 41 4222 Bestuumlckung der Platine 41 4223 Quellcode des Mikrocontroller-Programms 42 423 Geschaltete Spannungsquellen und Verbraucher 43 424 Steuerung von Gleichstrommotoren 43

43 Quellcodes zum RCL Elektronenbeugung 45 431 Mikrocontroller-Programmierung 45 432 PHP-Programmierung 49 433 Bedienfeld der Laborseite 51 434 Webcamfeld der Laborseite 52

44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung 53 441 AVR-Studio 418 53 4411 Installation 53 4412 Konfiguration 54 442 BASCOM 11198 Demoversion 55 4421 Installation 55 4422 Konfiguration 57

45 Installation und Konfiguration von Programmen auf dem RCL-Server 57 451 Einrichten des Internet-Zugangs 58 452 Paket XAMPP 174 58 453 Videoserver webcamXP 5 Private 60 454 Terminalprogramm Hyperterminal 62 455 Fernwartungssoftware TeamViewer 6 Host 65

46 Selbstbau eines elementaren RCLs 67 461 Hard- und Software 67 462 Bestuumlckung der Platine 67 463 Lokal gesteuertes RCL 68 464 Ferngesteuertes RCL 70

4

0 Warum ein Tutorial zur RCL-Technik Dieses Tutorial zur Technik von RCLs des RCL-Portals ist eine uumlberarbeitete und ergaumlnzte Fassung eines ersten Tutorials1 aus 2006 Gruumlnde ein Tutorial zur RCL-Technik anzubieten sind

Am Selbstbau von RCLs interessierten Schuumllern Studierende Dozenten und Lehrkraumlften soll das Tutorial einen Einstieg in die RCL-Technik bieten Insbesondere soll Staatsexa-menskandidaten in Physik die ein RCL entwickeln wollen die Einarbeitungszeit in die Technik der RCLs des RCL-Portals verkuumlrzt werden In muumlndlicher Form ist Technik nur schwer vermittelbar

Der Umfang an technischen Faumlhigkeiten (Programmierung in HTMLPHP und einer weite-ren Programmiersprache Elektronikkenntnisse zu Mikrocontrollern Sensoren und Akto-ren) und Fertigkeiten (Bestuumlckung der Platine des Interface mechanischer Aufbau eines RCLs) zur Realisation eines RCLs ist groszlig Zu wenige RCL-Interessierte verfuumlgen uumlber al-le Faumlhigkeiten und Fertigkeiten Das Tutorial soll dazu anregen sich die notwendigen technischen Faumlhigkeiten anzueignen

Das Tutorial fuumlhrt in die technische Konzeption der RCLs des RCL-Portals ein und die Wahl der RCL-Technik wird begruumlndet In zwei Schritten Lokal gesteuertes RCL (rarr 2) und Ferngesteuertes RCL (rarr 3) wird die Realisation eines RCLs am Beispiel des RCLs Elekt-ronenbeugung beschrieben Wer selbst ein eigenes elementares und kostenguumlnstiges RCL ohne physikalische Geraumlte bauen moumlchte findet dazu im Anhang eine in den gleichen zwei Schritten strukturierte Anleitung (rarr 46) Der Anhang enthaumllt weitere Anleitungen und ergaumln-zende Informationen An den entsprechenden Stellen des Tutorials wird darauf verwiesen

1 Technische Konzeption 11 Einfuumlhrung Abb 1 veranschaulicht das Prinzip von RCLs

Abb 1 Prinzip von RCLs

1 Vgl Tutorial Selbstbau eines RCLs

5

Ein Besucher an einem quasi beliebigen Ort A kann uumlber das Internet mit einem Experiment an einem quasi beliebigen Ort B experimentieren Dazu stellt ein RCL-Server auf dem Com-puter des Besuchers eine Webseite bereit von der aus der Besucher das Experiment uumlber Aktoren fernsteuern und uumlber Sensoren Fernmessungen durchfuumlhren kann Den Datenaus-tausch zwischen RCL-Server und Experiment und die Steuerung des Experiments uumlber-nimmt ein Interface Per Webcam erhaumllt der Besucher auf der Webseite visuelle Ruumlckmel-dungen zu durchgefuumlhrten Aktionen und Veraumlnderungen im Experiment

Am Beispiel des RCLs Elektronenbeugung wird in die technische Konzeption der RCLs des RCL-Portals eingefuumlhrt Abb 2 zeigt den prinzipiellen Aufbau eines RCLs aus RCL-Server Interface und Experiment

Abb 2 Aufbau eines RCLs am Beispiel des RCLs Elektronenbeugung

Das Experiment Elektronenbeugung ist ein Standardversuch mit Hochspannungsnetzgeraumlt2 und Elektronenbeugungsroumlhre3 Eine Webcam Interface und RCL-Server erweitern den Versuch zum RCL Die nummerierten Kabelverbindungen in Abb 2 haben folgende Funktio-nen Kommunikation zwischen RCL-Server und Interface uumlber serielle Schnittstellen (1) 12 V-Spannungsversorgung des Interface vom Steckernetzteil (2) geschaltete Netzspannung des Hochspannungsnetzgeraumlts (3) Steuerung der Ausgangsspannung des Hochspan-nungsnetzgeraumlts bzw der Beschleunigungsspannung uumlber das Interface (4) Heizspannung fuumlr Gluumlhkathode der Elektronenkanone (5) Beschleunigungsspannung fuumlr die Elektronenka-none (6) USB-Anschluss der Webcam am RCL-Server (7) und Internetanschluss des RCL-Servers (8) Um ohne stoumlrendes Fremdlicht mit der Webcam das Beugungsmuster auf dem Szintillationsschirm beobachten zu koumlnnen befindet sich das gesamte Experiment im Betrieb unter einem Verdunklungskasten

2 Vgl LD Didactic Hochspannungsnetzgeraumlt 10 kV 3 Vgl LD Didactic Elektronenbeugungsroumlhre

6

Das RCL Elektronenbeugung kann auf dem RCL-Portal nach der Wahl des Menuumlpunkts RCLs aufgerufen werden Die Wahl des Menuumlpunkts Labor aus der Standard-Lernumgebung ruft die Laborseite des RCLs in Abb 3 auf

Abb 3 Laborseite des RCLs Elektronenbeugung in einem Webbrowser

Im Bedienfeld kann die Gluumlhkathode der Elektronenkanone mit dem Button Elektronenroumlhre einschalten eingeschaltet werden Durch Eingabe von Werten zwischen 0 und 43 kV kann eine variable Beschleunigungsspannung an die Elektronenkanone angelegt das auf dem Szintillationsschirm entstehende Beugungsmuster im Webcamfeld beobachtet und mit dem Button Screenshot das Webcambild auf dem Computer gespeichert werden

Die Realisation eines RCLs erfolgt in zwei Schritten Als lokal gesteuertes RCL kann das Ex-periment ohne Internetzugang vom RCL-Server aus gesteuert werden als ferngesteuertes RCL kann mit dem RCL zusaumltzlich weltweit uumlber das Internet experimentiert werden Abb 4 zeigt dazu das Blockdiagramm der fuumlr alle RCLs einheitlichen Funktionsgruppen von RCL-Server Interface und Experiment Pfeile zwischen den Funktionsgruppen geben Kommuni-kations- oder Abhaumlngigkeitsrichtungen an

7

Abb 4 Funktionsgruppen von RCL-Server Interface und Experiment eines RCLs

Lokal gesteuertes RCL Damit das Experiment fernbedienbar wird muss der Versuchsaufbau mit Sensoren (z B fuumlr Temperatur) Aktoren (z B Schrittmotor) oder anderen gesteuerten Geraumlten (z B Hochspannungsnetzgeraumlt in Abb 2) ausgestattet werden Das Interface besteht aus einer fuumlr alle RCLs identischen Basisschaltung und aus RCL-spezifischen Erweiterungsschal-tungen (rarr 212) fuumlr die Sensoren Aktoren und gesteuerten Geraumlte Wichtigster elektronischer Baustein der Basisschaltung ist ein programmierbarer Mikro-controller (rarr 211) zur Steuerung des Experiments Fuumlr die Programmentwicklung wird eine Entwicklungsumgebung auf dem RCL-Server oder alternativ auf anderen Computern verwendet (rarr 213) Die Programmuumlbertragung vom RCL-Server auf den Mikrocontroller erfolgt uumlber einen USB-ISP-Programmer und die ISP-Schnittstelle des Mikrocontrollers (rarr 213) Danach werden die in Abb 4 gestrichelt dargestellten Funktionsgruppen und Verbindungen nicht weiter benoumltigt und das RCL kann lokal uumlber ein Terminal (rarr 22) ge-steuert werden werden

Ferngesteuertes RCL Um auf das RCL weltweit zugreifen zu koumlnnen wird auf dem RCL-Server ein Webserver installiert und ein Internetzugang benoumltigt (rarr 31) Befehle von der Laborseite wie z B Parametereingaben werden von einem PHP-Programm interpretiert und uumlber die RS232-Schnittstelle (alternativ uumlber USB-Seriell-Adapter) des RCL-Servers an die RS232-Schnittstelle des Mikrocontrollers zur Ausfuumlhrung an das Experiment uumlbermittelt In umge-kehrter Richtung werden uumlber das PHP-Programm vom Mikrocontroller Zustaumlnde des Ex-periments oder Messergebnisse an die Laborseite uumlbermittelt (rarr 321) Zur Uumlbertragung von Videobildern einer oder mehrerer Webcams die visuelle Ruumlckmeldungen uumlber den Zustand des Experiments geben wird ein Videoserver eingesetzt (rarr 322) Der RCL-Server stellt Besuchern auszliger der dynamisch generierten Laborseite auch die statischen Webseiten der Standard-Lernumgebung (larr 11 Abb 2) des RCLs bereit (rarr 33)

8

12 Wahl der RCL-Technik Es existiert eine nur schwer im Detail zu uumlberblickende und zu beherrschende Vielzahl von Hard- und Softwaretechnologien (Interfaces und Programmiersprachen) um ein Experiment uumlber das Internet fernbedienbar zu machen Im Folgenden wird die Wahl der Technik von RCLs des RCL-Portals begruumlndet

Interface Zu Beginn des RCL-Projekts war es naheliegend auf vorhandene technische Loumlsungen zum Interface zuruumlckzugreifen Das RCL Elektronenbeugung wurde zunaumlchst mit dem Power-Cassy4 und dem Sensor-Cassy5 von Leybold zur Steuerung und Messung der Be-schleunigungsspannung betrieben Der heutige Preis fuumlr beide Komponenten zusammen liegt bei ungefaumlhr 1700 euro Ein Datenaustausch zwischen dem RCL-Server und dem Sen-sor-Cassy wurde uumlber das Common Gate Interface (CGI) realisiert Bei den nicht mehr existierenden Versionen der RCLs Beugung und Interferenz und Computertomographie wurde das Intelligent Interface6 von Fischertechnik eingesetzt Fuumlr 130 euro wurden 4 umpolbare kurzschlussfeste digitale Ausgaumlnge mit 025 A Dauerbelast-barkeit fuumlr Gleichstrommotoren Elektromagneten oder Lampen geboten Digitale Senso-ren wie z B Taster konnten an 8 digitale Eingaumlnge angeschlossen werden Fuumlr Potenti-ometer Temperatur- oder Helligkeitssensoren mit variablem Widerstand als Ausgangs-groumlszlige waren 2 analoge Eingaumlnge mit Eingangswiderstand zwischen 0 und 5 kΩ und einer Abtastrate von 50 Hz verfuumlgbar Programmiert werden konnte das Interface mit C++ Vi-sual Basic oder als Einstieg in die Technik des Programmierens mit der graphisch orien-tierten Programmiersprache LLWin Ein nutzerspezifisches im RAM des Interface gespei-chertes Programm ging ohne Spannungsversorgung verloren Die Nachteile dieser Interfaces wie zu hohe Kosten zu geringe Flexibilitaumlt beim Anschluss von Sensoren und Aktoren - insbesondere von Schrittmotoren - und zu geringe Messraten wurden erst durch das programmierbare Eigenbau-Interface (rarr 21) fuumlr ungefaumlhr 50 euro (rarr 41) und eine modular gestaltete an das jeweilige RCL anzupassende PHP-Basisprogrammierung (rarr 432) geloumlst Zur Programmierung des Interface wird ein USB-ISP-Programmer fuumlr ungefaumlhr 30 euro benoumltigt

Software fuumlr RCL-Server Mikrocontroller und Standard-Lernumgebung Tab 1 enthaumllt eine Uumlbersicht der Programme fuumlr den RCL-Server und einem weiteren Computer Die Links fuumlhren auf die Webseite zum Download des Programms und Preise sind angegeben Auf Installation und Konfiguration von Programmen wird in den einzel-nen Abschnitten des Tutorials eingegangen

4 Vgl LD Didactic Power-Cassy 5 Vgl LD Didactic Sensor-Cassy 6 Vgl Fischertechnik Intelligent Interface nicht mehr lieferbare Art-Nr 30402 bei Knobloch GmbH

9

Typ Hersteller Name und Version Preis

RC

L-Se

rver

Betriebssystem und Terminal

Microsoft Windows XP Professional mit Service Pack 3 Microsoft Hyperterminal in Windows XP Professional unter

StartProgrammeKommunikationHyperterminal asymp 20 euro

Webserver und PHP Apache Friends XAMPP 174 fuumlr Windows Installer-Version The PHP Group PHP 531 (enthalten in XAMPP 174)

-

Videoserver Moonware Studios webcamXP 5 Free (eine Videoquelle) Moonware Studios webcamXP 5 Private (bis zu 5 Videoquellen)

- 4495 euro

RCL-Software Technische Universitaumlt Kaiserslautern RCL-Ordner htdocs -

Fernwartung- und Desktop-Sharing TeamViewer GmbH TeamViewer 6 Vollversion -

Virenscanner Avira AntiVir Personal Webeditor Notepad++ team Notepad++ 59 -

Com

pute

r

Entwicklungsumgebungen fuumlr Mikrocontroller ATmega16

ATMEL AVR-Studio 418 - Sourceforge WinAVR - MCS Electronics BASCOM-AVR Demoversion (maximal 4 kB

Programmcode) MCS Electronics BASCOM-AVR Vollversion

-

89 euro MikroElektronika MikroPascal Pro for AVR asymp 140 euro

Webeditor Notepad++ team Notepad++ 59 Adobe Dreamweaver CS557

- asymp 115 euro

Fernwartung- und Desktop-Sharing TeamViewer GmbH Teamviewer 6 Vollversion -

Tab 1 Programme fuumlr den RCL-Server und fuumlr weiteren Computer zur Prgrammie-rung des Mikrocontrollers Webseitenerstellung und Fernwartung ( optio-nale Programme Links fuumlhren auf Webseite zum Download Stand Juni 2011)

Fuumlr den RCL-Server wird als stabiles Betriebssystem Windows XP Professional einge-setzt Microsoft vertreibt seit Dezember 2008 Windows XP nicht mehr Sicherheitspatches werden noch bis April 2014 bereitgestellt ein Bezug ist z B uumlber Ebay8 moumlglich Das Hy-perterminal-Programm zur Kommunikation mit dem Interface ist Teil von Windows XP Professional Vom Open-Source-Paket XAMPP wird der Apache Webserver und der PHP-Interpreter eingesetzt Da in der Regel bei RCLs zwei Webcambilder uumlber das Inter-net uumlbertragen werden muumlssen ist der Videoserver webcamXP 5 nicht kostenlos Im RCL-Ordner htdocs befindet sich die Basissoftware die noch an das zu realisierende RCL anzupassen ist Ein kostenloser Virenscanner wie z B Antivir Personal ist erfahrungsge-maumlszlig ausreichend Als Fernwartungssoftware fuumlr den RCL-Server wird Teamviewer emp-fohlen Es genuumlgt der Teamviewer Host weil vom RCL-Server kein Remote-Zugriff auf den Computer erfolgen muss Fuumlr kleinere Arbeiten an der RCL-Software oder der Stan-dard-Lernumgebung waumlhrend der Fernwartung sollte ein kostenloser Webeditor wie z B Notepad++ installiert werden Auf einem weiteren Computer kann zur Programmierung des Mikrocontroller eine Ent-wicklungsumgebung fuumlr folgende Programmiersprachen installiert werden Mit dem AVR-Studio kann in Assembler und nach der Installation von WinAVR in C bzw C++ program-miert werden Fuumlr Einsteiger wird eine Programmierung in Basic mit BASCOM-AVR emp-fohlen Falls der Programmcode groumlszliger als 4 kB ist muss die Vollversion erworben wer-

7 Vgl Adobe Dreamweaver CS55 8 Vgl Ebay Windows XP Professional

10

den Eine Programmierung in Pascal ist fuumlr ungefaumlhr 140 euro mit dem Pascal-Compiler von MikroElektronika moumlglich Mit Notepad++ steht ein kostenloser und guter Webeditor zum Erweitern der PHP-Basissoftware und zum Erstellen von Webseiten der Standard-Lernumgebung bereit Als professionellerer Editor kann z B Dreamweaver verwendet werden Fuumlr die Fernwartung des RCL-Servers muss auf dem zugreifenden Computer die Vollversion von Teamviewer installiert werden

Die gewaumlhlte Hard- und Software fuumlr RCLs bietet folgende Vorteile

Geringe Hard- und Softwarekosten Interface mit Erweiterungsschaltungen (asymp 70 euro) USB-ISP-Programmer (asymp 30 euro) AVR-Studio zur Programmierung in C (0 euro) Betriebssystem Windows XP Professional (asymp 20 euro) webcamXP 5 fuumlr ein Webcambild (0 euro) koumlnnen zusammen fuumlr 120 euro erworben werden Mit einem nicht mehr benoumltigtem aumllteren Computer Tastatur und Maus (0 euro) einem ausge-dientem Monitor (0 euro) einer einfachen USB-Webcam (asymp 20 euro) und der Positionierungsme-chanik eines nicht mehr benoumltigten aumllteren Scanners (0 euro) kann ein RCL schon ab 140 euro realisiert werden

Einfache Adaptierbarkeit des Interface und der PHP-Basissoftware an das Experiment Der Mikrocontroller des Interface kann frei programmiert werden Mit der Aufteilung der Schaltung des Interface in eine fuumlr alle RCLs gleiche Basisschaltung und RCL-spezifische Erweiterungsschaltungen (rarr 212) ist das Interface leicht an das Experiment anpassbar Durch die im Mikrocontroller integrierten Peripheriebausteine genuumlgen meist wenige Bau-elemente und die unterschiedlichsten Mess- und Steuergroumlszligen koumlnnen verarbeitet wer-den Die PHP-Basissoftware braucht nur um wenige Programmbloumlcke erweitert zu wer-den

Einfacher Zugang zu Ressourcen der RCL-Technik Die weite Verbreitung des Mikrocontrollers ATmega16 im Hobbybereich korrespondiert mit einem umfangreichen kostenlosen Informationsmaterial zur Hardware und Software des Mikrocontrollers im Internet In Tab 2 sind unter Mikrocontroller Links zu Datenblaumlt-tern Portalen und Foren mit praxisnahen Loumlsungen fuumlr Probleme der Mikrocontroller-Programmierung zusammengestellt Ein staumlrker strukturiertes Erlernen der Funktionen und Programmierung von AVR-Mikrocontrollern ist uumlber die genannten Tutorials im Inter-net und Buumlcher moumlglich

11

Ressource Kurzbeschreibung

Mik

roco

ntro

ller

Mikrocontroller mega16A Mikrocontroller ATmega16A Summary

Ausfuumlhrliches und zusammenfassendes Datenblatt des Mikrocon-trollers ATmega16

wwwmicrocontrollernet Portal fuumlr Mikrocontroller RoboterNETZ Portal fuumlr Robotik Mikrocontroller und Elektronik AVR-Tutorial Tutorial zur AVR-Familie auf microcontrollernet BASCOM-AVR Online-Hilfe zur Entwicklungsumgebung BASCOM-AVR myAVR Mikrocontrollerloumlsungen fuumlr Ausbildung und Selbststudium BASCOM-Forum Forum von MCS BASCOM RoboterNETZ-Forum Forum von RoboterNETZ myAVR-Forum Forum von myAVR AVR-Forum Forum von Atmel Roland Walter AVR Mikrocontroller Lehr-buch Buch zur Programmierung von AVR-Mikrocontrollern mit Basic

Guumlnter Schmitt Mikrocomputertechnik mit Controllern der Atmel AVR-RISC-Familie

Buch zur Programmierung von AVR-Mikrocontrollern in Assemb-ler und C

Claus Kuumlhnel Programmierung der AVR RISC Mikrocontroller mit BASCOM-AVR

Buch zur Programmierung von AVR-Mikrocontrollern in BAS-COM-AVR (Basic)

Frank Sichla Schaltungssammlung Mikro-controller und USB

Buch mit praktischen Anwendungsschaltungen und Einsatzmoumlg-lichkeiten von Mikrocontrollern

HTM

LPH

P

SELFHTML Portal zum Erstellen von Webseiten mit HTML SELTPHP Portal zum Programmieren von Webseiten mit PHP PHP Entwicklerseite von PHP Kleines Tutorial PHP-Tutorial PHP-Handbuch PHP-Handbuch

Elek

tron

ik

reichelt elektronik Elektronikversand Conrad Elektronikversand ELV Elektronik Elektronikversand Datasheet Catalogcom Datenbank fuumlr Datenblaumltter elektronischer Bauelemente Datasheet Archive Datenbank fuumlr Datenblaumltter elektronischer Bauelemente Pegelwandler Max232 fuumlr serielle Schnitt-stelle Datenblatt des ICs Max232 von Texas Instruments

Spannungsregler L7805 Datenblatt des ICs L7805 von STMicroelectronics Schrittmotormodul TMC222 Datenblatt des ICs TMC222 von Trinamic

Schr

ittm

otor

en

Minebea Hybrid Stepping Motors Datenblaumltter von 12 Hybrid-Schrittmotoren Trinamic Stepper Motors Datenblaumltter und Bezugsquellen von 6 Hybrid-Schrittmotoren reichelt elektronik Groszliges Angebot an Schrittmotoren Quality Motors Auf TMC-Module und -ICs abgestimmte Schrittmotoren Nanotec Schrittmotor-Animation Animation von unipolarem und bipolarem Schrittmotor

Nanotec Glossar Glossar mit Erklaumlrungen zu wichtigen Begriffen aus der Schrittmo-tor-Antriebstechnik

Erich Rummich Elektrische Schrittmoto-ren und -antriebe- Funktionsprinzip- Be-triebseigenschaften - Messtechnik

Buch zum Erwerb von Kenntnissen zum Aufbau und zur Funkti-onsweise von Schrittmotoren

Tab 2 Ressourcen zur Realisation eines RCLs

Die seit 1996 zunehmende Bedeutung der kostenlosen Skriptsprache PHP und das Wachstum des Internets korrespondieren mit einer Zunahme an kostenlosem Informati-onsmaterial zur PHPHTML-Programmierung Neben den unter PHPHTML in Tab 2 ge-nannten Ressourcen sind wegen des groszligen Marktes keine Buumlcher zu PHP genannt Die teuren und schnell veraltenden Buumlcher sollten in Bibliotheken geliehen werden Unter Elektronik sind in Tab 2 Links zum Versandhandel elektronischer Bauelemente zu Datenbanken mit Datenblaumlttern elektronischer Bauelemente und zu Datenblaumlttern der wichtigsten ICs des Interface zu finden Unter Schrittmotoren sind Links zu Schrittmotoren

12

wichtiger Anbieter zusammengestellt die uumlber den Elektronikhandel leicht bezogen wer-den koumlnnen Das Buch von Erich Rummich erklaumlrt Zusammenhaumlnge zwischen Bauform und Funktionsweise von Schrittmotoren die uumlber Informationen zu Schrittmotoren im Tu-torial (rarr 231) gegebenen Informationen hinausgehen

Programmierung des Mikrocontrollers in Basic Besonders die Moumlglichkeit der Programmierung des Mikrocontrollers in der Hochsprache Basic (larr 12 Tab 1 Bascom AVR) erleichtert den Einstieg in den Selbstbau von RCLs Daruumlber hinaus besteht analog zur PHP-Programmierung die Mikrocontroller-Programmierung aus einer an das jeweilige RCL lediglich anzupassenden Basispro-grammierung (rarr 431)

Betriebssystemunabhaumlngigkeit Das Interface kommt ohne betriebssystemspezische Treiber aus PHP und HTML sind be-triebsystemunabhaumlngige Sprachen Der Apache Webserver XAMPP ist auszliger fuumlr Windows fuumlr die Betriebssysteme Linux Mac OS X und Solaris9 erhaumlltlich

Wartung von Programmierung und Interface Aumlnderungen der PHPHTML-Programmierung koumlnnen leicht uumlber einen Fernzugriff auf den RCL-Server vorgenommen werden Da der PHPHTML-Quellcode im RCL-Betrieb stets in einer lauffaumlhigen Form vorliegt fuumlhren Wechsel von Personen die Zugriff auf die Programmierung haben nicht zu Ausfaumlllen des RCLs Aumlnderungen und Reparaturen an den Ergaumlnzungsschaltungen des Interface koumlnnen aufgrund des Lochrasteranteils der Platine (rarr 412) leicht durchgefuumlhrt werden

Zerstoumlrungssichere Versuchskomponenten Versuchskomponenten sind durch die Programmierung des Mikrocontrollers vor Fehlbe-dienungen des RCLs geschuumltzt Da der Mikrocontroller die Zulaumlssigkeit von Parameter-werten uumlberwacht ist kein Missbrauch des Experiments durch Dritte moumlglich Abstuumlrze des RCL-Servers fuumlhren nicht zu undefinierten Zustaumlnden des Experiments weil der Mik-rocontroller das Experiment steuert In der Lebensdauer staumlrker begrenzte Versuchskom-ponenten wie z B die Elektronenbeugungsroumlhre beim RCL Elektronenbeugung (larr 11 Abb 2) koumlnnen durch eine programmierte Standby-Funktion des Mikrocontrollers bei Nichtgebrauch ausgeschaltet werden

Keine Installation von Zusatzsoftware Besucher benoumltigen zum Experimentieren mit RCLs lediglich einen kostenlos verfuumlgbaren Webbrowser wie z B die auf Funktionsfaumlhigkeit fuumlr die RCLs getesteten Internet Explo-rer Opera Firefox Safari oder Konquerer mit aktivierter Javaskript-Funktion Es muss keine weitere Zusatzsoftware installiert werden

Eine alternative technische Loumlsung fuumlr RCLs ist LabVIEW (Laboratory Virtual Instrument En-gineering Workbench) von National Instruments (NI)10 LabVIEW ist eine sehr umfangreiche

9 Apache friends XAMPP

13

mittlerweile als Industriestandard geltende grafische Programmierumgebung zum Messen Steuern und Regeln von Systemen Uumlber umfangreiche Treiber-Bibliotheken lassen sich fast alle gaumlngigen mit einer entsprechenden Schnittstelle ausgestatteten Geraumlte in LabVIEW ein-binden LabVIEW wurde als technische Loumlsung im RCL-Projekt aus mehreren Gruumlnden nicht eingesetzt

Besucher muumlssen einmalig vor dem Experimentieren mit RCLs die LabVIEW Run-Time Engine11 installieren

Es existieren nur wenige Schulgeraumlte mit den erforderlichen Schnittstellen

Die Kosten von ungefaumlhr 1300 euro fuumlr die Basisversion und ungefaumlhr 2800 euro fuumlr die Vollver-sion sind zu hoch

LabVIEW ist fuumlr die zu entwickelnden RCLs bzw die Zielgruppe aus Schuumllern und Studie-rende uumlberdimensioniert Der Nachbau von RCLs durch interessierte Schuumller und Studie-rende waumlre aus Kosten und Anforderungsgruumlnden nur schwer moumlglich

Trotz der graphischen Programmieroberflaumlche von LabVIEW muumlssen im Programmcode immer noch Anpassungen in der speziell fuumlr LabVIEW entwickelten Programmiersprache G vorgenommen werden

Die Einarbeitung in LabVIEW ist vom Zeitaufwand und den Anforderungen her mindes-tens genauso hoch wie die fuumlr Mikrocontroller- und PHP-Programmierung

Eine mit fertigen LabVIEW-Elementen gestaltete Laborseite ist nicht unbedingt nutzer-freundlicher als eine mit PHPHTML erstellte Laborseite

2 Lokal gesteuertes RCL 21 Interface 211 Mikrocontroller Zentrales Bauelement des Interface ist ein ATMEL AVR 8-bit RISC Mikrocontroller ATme-ga16 Dieser enthaumllt im Vergleich zu einem Mikroprozessor auszliger dem Prozessor auch peri-phere Module wie z B Speicher digitale und analoge Ein- und Ausgaumlnge oder Timer fuumlr Zu-satzfunktionen Dadurch kommen Anwendungen von Mikrocontrollern wie z B RCLs meist mit wenigen zusaumltzlichen Bauelementen aus Tab 3 enthaumllt eine Uumlbersicht der wichtigsten Features des Mikrocontrollers zum Prozessor zur Programmierung und Datenspeicherung zu peripheren Modulen und erlaumlutert einige Fachbegriffe

10 Vgl National Instruments 11 Vgl National Instruments LabVIEW Run-Time Engine

14

Feature Erlaumluterung

Proz

esso

r

ATMEL AVR 8 bit RISC Mik-rocontroller ATmega16

ATMEL US-amerikanischer Hersteller von Mikrocontrollern AVR Familie von Mikrocontrollern 8 bit Breite des internen Datenbusses des Mikrocontrollers RISC steht fuumlr Reduced Instruction Set Computer (Rechner mit reduziertem Befehls-

satz) Designphilosophie von Mikrocontrollern mit Befehlssatz aus moumlglichst einfa-chen Befehlen und houmlherer Effizienz des Prozessors

ATmega Eine der Mikrocontroller-Serien von ATMEL 16 steht fuumlr 16 kB Flash-ROM Groumlszlige des Programmspeichers des Mikrocontrollers

131 Befehle mit 1-2 Taktzyk-lenBefehl

Die ATmega-Serie besitzt unter den Mikrocontroller-Serien von ATMEL den groumlszligten Befehlssatz Die meisten Befehle benoumltigen zur Ausfuumlhrung nur einen Taktzyklus

Variabel waumlhlbare Taktfre-quenzen bis zu 16 MHz

Ein externer Schwingquarz legt die Schwingungsfrequenz einer Oszillatorschaltung und damit die Taktfrequenz des Mikrocontrollers fest

Prog

ram

mie

rung

und

Dat

ensp

eich

erun

g

ISP uumlber SPI-Bus in 16 kB Flash-ROM Programm-Speicher

ISP steht fuumlr In System Programming Der Mikrocontroller kann ohne aus der Schal-tung entfernt zu werden programmiert werden Es wird kein teures Programmierge-raumlt sondern nur ein Programmieradapter benoumltigt

SPI steht fuumlr Serial Peripheral Interface (Serielles Peripheres Interface) Nach dem Master-Slave-Prinzip arbeitender synchroner serieller Datenbus zur Kommunikation zwischen digitalen Schaltungen

Flash-ROM Kann zur Speicherung des Programmcodes ca 1000-mal neu be-schriebengeloumlscht - geflashed - werden aber beliebig oft gelesen werden Daten bleiben auch ohne Versorgungsspannung erhalten

512 B EEPROM 1 kB internes SRAM

EEPROM steht fuumlr Electrically Erasable Programmable Read Only Memory (Elektrisch loumlschbarer und programmierbarer Nur-Lese-Speicher) Nichtfluumlchtiger Speicher der beliebig oft gelesen und mindestens 100000 mal beschrieben werden kann Kann z B zum Speichern von Messwerten und Konfigurationsdaten verwen-det und uumlber ISP programmiert werden

SRAM steht fuumlr Static Random Access Memory Fluumlchtiger Speicher der beliebig oft gelesen und beschrieben werden kann Wird z B zur Speicherung von Variablen und des Stacks verwendet

Perip

here

Mod

ule

32 programmierbare Ein- und Ausgaumlnge

Der Mikrocontroller ist 40-polig Davon koumlnnen 32 Pole entweder als Ein- oder Aus-gang programmiert werden

Zwei 8-bit- und ein 16-bit-Timer mit Vorteilern und Ver-gleichs-Modus

Die vom Quarzoszillator gesteuerten Timer erlauben z B praumlzise Zeitmessungen oder Interrupts bei bestimmten Zaumlhlerstaumlnden Die maximalen Zaumlhlerstaumlnde sind bei 8 bit 255 und bei 16 bit 1023 Vorteiler erlauben eine Verringerung der Zaumlhlrate

Programmierbare USART USART steht fuumlr Universal SynchronousAsynchronous Receiver Transmitter Seriel-

le Schnittstelle die zur Datenuumlbertragung zwischen Mikrocontroller und Computer benutzt wird

I2C Interface

I2C ist ein synchroner serieller Zweidraht-Bus mit einer Daten- und einer Taktleitung zur Kommunikation zwischen ICs Nach dem Master-Slave-Prinzip kann ein Master bis zu 128 Slaves ansprechen Die Uumlbertragungsrate liegt im Standard-Mode bei 100 kbits

Externe und interne Interrupts

Interrupts unterbrechen das Hauptprogramm des Mikrocontrollers um kurzfristige und zeitkritische Verarbeitungen durchzufuumlhren Externe Interrupts werden durch am Mikrocontroller angeschlossene Hardware gesteuert interne Interrupts durch die Programmierung des Mikrocontrollers

4 PWM-Ausgaumlnge PWM steht fuumlr Pulse Width Modulation (Pulsweitenmodulation) Timer stellen an 4

Ausgaumlngen Rechteckimpulse der Dauer t und Unterbrechungsdauer T-t mit variab-lem Tastverhaumlltnis tT zur Verfuumlgung

8 10-bit ADC

ADC steht fuumlr Analog to Digital Converter (AD-Wandler) Integrierte Schaltung die analoge Eingangsspannung Ue in digitale Ausgangsspannung (Zahl) umwandelt

10-bit Aufloumlsungsvermoumlgen des AD-Wandlers Kleinster aufloumlsbarer Spannungsun-terschied ist (Uemax - Uemin)210

Tab 3 Features des Mikrocontrollers ATmega16

15

212 Basisschaltung und Erweiterungsschaltungen Abb 5 zeigt am Beispiel des RCLs Elektronenbeugung die Platine des Interface mit den Funktionsgruppen 1 - 5 der Basisschaltung und den Funktionsgruppen 6 und 7 der Erweite-rungsschaltungen (larr 11 Abb 4)

Abb 5 Platine des Interface des RCLs Elektronenbeugung

Abb 6 zeigt den dazugehoumlrigen Schaltplan mit den Nummern der Funktionsgruppen und die Pinbelegung des Mikrocontrollers ATmega16

Abb 6 Schaltplan des Interface des RCLs Elektronenbeugung (links) und Pinbelegung

des Mikrocontrollers ATmega16 (rechts)

16

Basisschaltung Die Spannungsversorgung (1) des Interface erfolgt uumlber ein Universal-Steckernetzteil mit der Betriebsspannung Ub = 12 V Eine Diode SB140 schuumltzt die Elektronik des Interface vor falscher Polung der Spannungsversorgung Der Spannungsregler L7805 wandelt die Betriebsspannung am Hohlstecker in eine Gleichspannung von 5 V fuumlr die Spannungs-versorgung der elektronischen Bauelemente des Interface um Die Betriebsspannung kann im Interface auch direkt zur Ansteuerung von Relais oder zur Spannungsversorgung kleinerer Motoren verwendet werden Bei Bedarf kann unter Beachtung der Kuumlhlung des L7805 das Interface mit houmlheren Betriebsspannungen z B fuumlr staumlrkere Schrittmotoren betrieben werden Die nicht hinreichend stabile und temperaturabhaumlngige Frequenz des internen RC-Oszillators im Mikrocontroller (2) kann bei Verwendung der USART zu Problemen fuumlhren Daher wird ein externer 110592 MHz Schwingquarz (3) eingesetzt Der IC MAX232 ist ein Pegelwandler der die 0V+5 V-Signale der seriellen Schnittstelle (4) des Mikrocontrol-lers an die plusmn12 V-Signale der seriellen Schnittstelle des Computers anpasst Uumlber den ISP-Stecker kann der Mikrocontroller programmiert werden (5) Das Interface in der Ba-sisschaltung kann im Selbstbau angefertigt werden (rarr 41)

Erweiterungsschaltungen Nur die wenigsten Aktoren Sensoren gesteuerte Geraumlte und Bauelemente eines RCLs lassen sich direkt vom Mikrocontroller ansteuern Beim RCL Elektronenbeugung wird die Heizspannung der Elektronenkanone mit einem Relais zum Schalten der Netzspannung des Hochspannungsnetzgeraumltes ein- und ausgeschaltet (6) Liefert der Mikrocontroller am Port PA0 die Spannung 5 V (high) so wird die Kollektor-Emitter-Strecke des Transistors BC 337 niederohmig fast die gesamte Betriebsspannung Ub = 12 V faumlllt uumlber dem Relais ab und es flieszligt ein Strom durch das Relais Die Diode 1N4001 schuumltzt den Transistor vor Induktionsspannungsspitzen beim Ein- und Ausschalten der Spule im Relais Am Steuereingang des Hochspannungsnetzgeraumlts kann durch Anlegen einer Steuer-spannung US zwischen 0 V und 5 V die Beschleunigungsspannung der Elektronenkanone zwischen 0 und 43 kV im belasteten Zustand bei eingeschalteter Gluumlhkathode variiert werden Die analoge Steuerspannung US erzeugt ein 8-bit Digital-Analog-Wandler PCF8591 der uumlber den I2C-Bus des Mikrocontrollers (Ports PC0 und PC1) mit Binaumlr-codes zwischen 0 und 255 angesteuert wird (7) Die Ausgangsspannung des DA-Wandlers liegt in 256 Stufen zwischen 370 mV und 497 V Dieser Schaltung wurde der Vorzug gegenuumlber der Erzeugung einer Steuerspannung mit Hilfe eines der Pulsweiten-modulationsausgaumlnge des Mikrocontrollers gegeben weil der Programmieraufwand ge-ringer und die Steuerspannung keine Restwelligkeit aufweist

Eine Uumlbersicht zu Erweiterungsschaltungen fuumlr Sensoren und Aktoren (rarr 421) zeigt die Anpassungsfaumlhigkeit des Interface an die unterschiedlichsten Experimente

17

213 Programmierung des Mikrocontrollers Im Folgenden wird die Programmstruktur des Mikrocontroller-Programms und die Uumlbertra-gung des Programmcodes in den Mikrocontroller beschrieben

Programmstruktur Der Mikrocontroller ist mit einem Programm (Firmware) ausgestattet um die Aufgaben des Interfaces abzuarbeiten Hierzu zaumlhlen im Wesentlichen Programmteile zur Kommu-nikation mit dem RCL-Server und zur Steuerung des Experiments da das Interface eine Schnittstelle zwischen Experiment und RCL-Server darstellt Weitere Programmteile sind beispielsweise zur Initialisierung des Versuchsaufbaus und der Steuerparameter sowie zur Konfiguration des Interfaces realisiert Abb 7 zeigt ein Flussdiagramm der Programm-teile zur Kommunikation mit dem RCL-Server und zur Steuerung des Experiments

Abb 7 Flussdiagramm der Programmierung des Mikrocontrollers

Der Programmteil zur Kommunikation mit dem RCL-Server besteht im Wesentlichen aus einer Schleife die unablaumlssig auf Steuerzeichen des RCL-Servers wartet diese gegebe-nenfalls empfaumlngt und auswertet Soll mittels eines empfangenen Steuerzeichens der Versuchsaufbau angesteuert werden wird vom Kommunikations-Programmteil eine ent-sprechende Anweisung fuumlr den Steuerungs-Programmteil generiert In der Schleife wer-den auch Antworten wie z B Messergebnisse des Steuerungs-Programmteils entgegen-genommen und an den RCL-Server ausgegeben Der Kommunikations-Programmteil kann Kommandos mit und ohne Parameter entgegen-nehmen und verarbeiten So lassen sich einfache Befehle wie Start und Stopp eines Mo-tors aber auch speziellere Anweisungen wie Messe uumlber den Bereich von a nach b mit einer Schrittweite c ausfuumlhren Auch Messergebnisse oder Statusinformationen in Form einzelner Daten wie Zahlen oder Listen koumlnnen vom Kommunikations-Programmteil an den RCL-Server uumlbertragen werden Ferner uumlbernimmt der Kommunikations-Programmteil auch den Austausch von Konfigurationsdaten fuumlr das Interface beispiels-

18

weise Motorparameter oder Zeitvorgaben fuumlr eine Standby-Funktion Schlieszliglich gibt der Kommunikations-Programmteil auch Fehlermeldungen an den RCL-Server aus etwa bei einem Fehlerzustand im Experiment oder bei fehlerhaften Anweisungen des Besuchers bzw des RCL-Servers Im Programmteil zur Steuerung des Experiments erfolgt die Ansteuerung von Aktoren und das Auslesen von Sensoren mittels elektronischer Aus- und Eingaumlnge (Ports) des Mikro-controllers Gegebenenfalls sind zwischen den Ports des Mikrocontrollers und dem Expe-riment Erweiterungsschaltungen erforderlich (larr 212 Erweiterungsschaltungen) Der Steuerungs-Programmteil ist als Interrupt-Routine implementiert Interne Zeitgeber des Mikrocontrollers rufen den Programmteil zyklisch z B alle 1 oder 10 Millisekunden auf wobei die zuvor beschriebene Schleife des Kommunikations-Programmteils kurzzeitig fuumlr die Abarbeitung des Steuerungs-Programmteils unterbrochen wird Hierdurch wird die Steuerung als Real-Time-Prozess12 ausgefuumlhrt und es koumlnnen insbesondere zeitkritische Steueraufgaben mit einer Aufloumlsung von ungefaumlhr 1 - 10 ms zuverlaumlssig erledigt werden Ferner ist im Mikrocontroller und dem Programm ein sogenannter Watchdog installiert der das Programm bei einem Programmabsturz automatisch neu startet Der Watchdog als elektronische Baugruppe im Mikrocontroller fuumlhrt einen Neustart des Mikrocontrollers (Reset) durch sofern er nicht mehr uumlber das Programm in vorgegebenen Zeitintervallen angesteuert wird Je nach RCL gibt es noch weitere Interrupt-Routinen die unabhaumlngig vom Zeittakt des Mikrocontrollers auf externe Ereignisse wie z B Ausgangsspannungsaumlnderungen eines Sensors reagieren Damit kann besonders schnell auf Erfordernisse des Experiments re-agiert oder es koumlnnen Zeitmessungen mit einer Genauigkeit von ungefaumlhr 10-6 s durchge-fuumlhrt werden Im Anhang (rarr 431) ist der Pascal-Quellcode fuumlr den Mikrocontroller des RCLs Elektronenbeugung verfuumlgbar

Programmuumlbertragung Nach der Kompilierung des Assembler- Basic- C+- C++- oder Pascal-Programms liegt eine Hexadezimaldatei vor die vom Computer in den Mikrocontroller uumlbertragen werden muss (Flashen des Programms) Zur Programmuumlbertragung muss das AVR-Studio instal-liert und konfiguriert sein (rarr 441) Abb 8 zeigt wie die Programmuumlbertragung durchge-fuumlhrt wird

12 Real-Time bedeutet hier dass die maximale Dauer eines Vorgangs vorhersehbar und gewaumlhrleistet ist dass eine Steuer-

aufgabe nach einer vorhersehbaren Zeit abgeschlossen ist

19

Abb 8 Programmuumlbertragung zwischen Computer und Mikrocontroller im Inter-

face des RCLs Elektronenbeugung uumlber USB-Seriell-Adapter und ISP-Programmer

Das Interface braucht nicht mit dem Experiment verbunden zu sein Auch Erweiterungs-schaltungen innerhalb oder auszligerhalb des Interface muumlssen nicht mit dem Mikrocontroller verbunden sein Das Interface ermoumlglicht uumlber die ISP-Schnittstelle die Programmierung mit einem preisguumlnstigen ISP-Programmer ohne ein teureres Experimentierboard13 Zur Uumlbertragung des Programms muss in folgenden Schritten vorgegangen werden

(1) Spannungsversorgung des Interface zur Sicherheit unterbrechen weil beim Verbinden mehrpoliger Steckerverbindungen es zu Kurzschluumlssen kommen kann

(2) 10-poligen ISP-Stecker des ISP-Programmers an die ISP-Schnittstelle des Interface anschlieszligen

(3) ISP-Programmer an die serielle Schnittstelle oder uumlber USB-Seriell-Adapter an die USB-Schnittstelle des Computers anschlieszligen

(4) Spannungsversorgung des Interface wieder herstellen

(5) AVR-Studio unter StartProgramme aufrufen und nach Abb 9 in der Registerkarte Program unter Flash die zu uumlbertragende Hexadezimal-Datei z B Elektronenbeu-gunghex auf der Festplatte auswaumlhlen und Program waumlhlen

13 Vgl ATMEL STK 500 Entwicklerkit bei Reichelt Elektronik

20

Abb 9 Uumlbertragung der Hexadezimaldatei Elekt-

ronenbeugunghex in den Mikrocontroller

(6) Spannungsversorgung des Interface unterbrechen ISP-Programmer vom Interface trennen AVR-Studio beenden und den ISP-Programmer vom Computer trennen

22 Hyperterminal Nach der Programmuumlbertragung kann das Experiment uumlber das konfigurierte Hyperterminal (rarr 454) lokal gesteuert werden Mit dem Hyperterminal koumlnnen als Text eingegebene Be-fehle oder Abfragen an den Mikrocontroller gesendet oder von diesem empfangen werden Der Computer muss wie bei der Programmuumlbertragung mit dem Interface per Null-Modem-Kabel uumlber die serielle Schnittstelle oder einen USB-Seriell-Adapter verbunden sein Das In-terface muss an die Versorgungsspannung anschlossen sein braucht aber nicht mit dem Experiment verbunden zu sein Abb 10 zeigt nach Eingabe von und von param im Hyper-terminal die Befehlsliste des Mikrocontrollers fuumlr das RCL Elektronenbeugung

21

Abb 10 Befehlsliste des Mikrocontrollers im Hyperterminal fuumlr das RCL Elektronenbeugung

Tab 4 gibt Erlaumluterungen zur Befehlsliste

BefehlAbfrage Erlaumluterung

DA x Am Eingang des DA-Wandlers wird die Zahl x (0 - 255) im Binaumlrcode

angelegt und die Ausgangsspannung des Hochspannungsnetzgeraumlts bzw die Beschleunigungsspannung der Elektronenkanone eingestellt

OnOff Hochspannungsnetzgeraumlt und Gluumlhkathode der Elektronenkanone ein-

oder ausschalten Beim Einschalten wird die Steuerspannung des Inter-face am Hochspannungsnetzgeraumlt auf asymp 0 V einstellt

Standby Ausgabe der eingestellten Standbyzeit von 300 s setSB x Standbyzeit einstellen

next Standby in Ausgabe der verbleibenden Standbyzeit (254 s) bis das Experiment

ausgeschaltet wird Eine negative Standbyzeit gibt die Zeit seit dem Ab-lauf der Standbyzeit an

Power On Delay Ausgabe der Verzoumlgerungszeit (2 s) bis das Hochspannungsnetzge-

raumltElektronenbeugungsroumlhre nach dem Ausschalten oder nach Ablauf der Standbyzeit erneut eingeschaltet werden kann

setPOD x Verzoumlgerungszeit einstellen

power on enabled in Ausgabe wie lange Hochspannungsnetzgeraumlt nicht eingeschaltet wer-

den kann Zeiten unter 0 bedeuten dass Power-On-Delay-Zeit ablaufen ist

Tab 4 Erlaumluterung der Befehle in Abb 10

23 Positionieren von Objekten In fast allen RCLs des RCL-Portals auszliger den RCLs Elektronenbeugung und Oszilloskop muumlssen Objekte rotatorisch oder translatorisch positioniert werden Eingesetzt werden Hyb-rid-Schrittmotoren als Aktoren eine Schrittmotorsteuerung von Trinamic als Erweiterungs-schaltung (TMC222-Modul) die Positionierungseinheit ausgedienter Flachbrett-Scanner und ein Referenz-Taster als Sensor

231 Hybrid-Schrittmotoren Abb 11 zeigt den vereinfachten schematischen Aufbau eines zweiphasigen Schrittmotors mit getrennten magnetischen Kreisen des Stators und einem permanent magnetisierten zweipoligen Rotor (Polpaarzahl 1)

22

Abb 11 Funktionsprinzip von Schrittmotoren Unipolare (links) und bipolare Schaltung (rechts)

von Schrittmotoren mit Bestromungstabellen fuumlr Voll- und Halbschrittbetrieb Darge-stellt ist der Schritt 0

Der Rotor verfuumlgt bei der dargestellten Polreihenfolge S-S-N-N des Stators uumlber eine stabile Stellung bei einer hypothetischen (magnetische Monopole) Polreihenfolge N-S-N-S gaumlbe es mit diesem Aufbau des Stators nur instabile Stellungen des Rotors Um den Rotor in Bewe-gung zu setzen muss die Polreihenfolge S-S-N-N im oder entgegen den Uhrzeigersinn (Rechts- oder Linksdrehung) weitergeschaltet und der Rotor vom magnetischen Schrittfeld mitgenommen werden

Die magnetische Polaritaumlt eines magnetischen Kreises laumlsst sich entweder durch zwei Spu-len konstanter elektrischer Polaritaumlt mit unterschiedlichem Wicklungssinn (herstellungstech-nisch zu aufwendig) durch eine Spule mit Mittelanzapfung und konstanter elektrischer Pola-ritaumlt der beiden Teilspulen (unipolare Schaltung) oder durch eine Spule mit wechselnder elektrischer Polaritaumlt (bipolare Schaltung) realisieren In Abb 11 sind dazu die elektrischen Beschaltungen und die Bestromungstabellen fuumlr eine Rechtsdrehung des Rotors dargestellt Fuumlr eine Linksdrehung des Rotors muss die Schrittfolge in umgekehrter Reihenfolge durch-laufen werden

Es wird zwischen Vollschrittbetrieb (graue Zeilen der Tabellen) mit Schrittwinkel 90deg bzw Schrittzahl 4 und Halbschrittbetrieb (alle Zeilen der Tabellen) mit Schrittwinkel 45deg bzw Schrittzahl 8 unterschieden Beim Vollschrittbetrieb werden immer beide magnetische Kreise bestromt und die N-S-Polachse des Rotors nimmt nur Stellungen zwischen den Statorpolen

23

an Beim Halbschrittbetrieb wird zwischen den Vollschritten nur einer der magnetischen Krei-se bestromt und die N-S-Polachse des Rotors kann zusaumltzlich 4 Stellungen in Richtung der Statorpole einnehmen Der Hybrid-Schrittmotor ist die am haumlufigsten vertretene Bauform von Schrittmotoren Abb 12 zeigt den Aufbau eines Hybrid-Schrittmotors

Abb 12 Aufbau eines Hybrid-Schrittmotors fuumlr unipolare und

bipolare Schaltung Daten Schrittwinkel 18deg max Drehmoment 155 Ncm

Der Stator besteht aus zwei Straumlngen mit je 4 in Reihe geschalteten Spulen Der Wick-lungssinn der Spulen ist in beiden Straumlngen so dass sich die Polfolge N-S-N-S uumlber den Umfang ergibt Beide Straumlnge zusammen ergeben unabhaumlngig von der Stromrichtung ei-ne Polfolge N-N-S-S-N-N-S-S uumlber den Umfang Ein zweipoliger Rotor (Polpaarzahl 1) kann im Vollschrittbetrieb 4 Stellungen annehmen Der Rotor des Hybridschrittmotors be-steht aber aus axial magnetisierten Permanentmagneten deren Polpaarzahl durch axial versetzte weichmagnetische Zahnscheiben auf 50 erhoumlht wurde Dadurch erhoumlht sich die Schrittzahl auf 4 sdot 50 = 200 und der Schrittwinkel verkleinert sich auf 360deg200 = 18deg Um stabile Rotorstellungen zu erhalten muumlssen die Statorsegmente ebenfalls gezahnt ausge-fuumlhrt werden

Ein solcher Hybrid-Schrittmotor vereint die Vorteile des Reluktanz- und des permanenter-regten Schrittmotors Ein kleiner Schrittwinkel wird durch das von Reluktanzschrittmotoren bekannte Prinzip der Erzeugung einer Vielzahl von Polen des Rotors durch Zahnscheiben erzielt Ein hohes Drehmoment wird durch das von permanenterregten Schrittmotoren be-kannte Prinzip der Ausfuumlhrung des Rotors als Permanentmagnet erzielt Aufgrund der bi-filaren Wicklung besteht jede Statorwicklung aus zwei Teilspulen und der Schrittmotor kann in unipolarer (alle 6 Anschluumlsse verwendet) und bipolarer Schaltung (nur 4 An-schluumlsse verwendet gemeinsamer Anschluss der Teilspulen bleibt unverwendet) wie in Abb 12 dargestellt verwendet werden

24

Schrittmotoren erlauben nicht nur das Bewegen sondern innerhalb der Leistungsgrenzen (keine Schrittverluste) auch ein genaues Positionieren von Objekten Bei bekannter Schrittzahl auf einer gemessenen Strecke oder Schrittzahl fuumlr den Vollwinkel koumlnnen aus-gehend von einer Referenzstellung Objekte translatorisch oder rotatorisch positioniert werden

232 Schrittmotorsteuerung und Positionierungsmechanik Im Folgenden wird die bei allen RCLs mit Schrittmotoren eingesetzte Schrittmotorsteuerung die Mechanik zur translatorischen Positionierung von Objekten und die Funktionsweise eines Referenztasters beschrieben

Schrittmotorsteuerung Abb 13 zeigt das Blockschaltbild und das im Selbstbau herstellbare TMC222-Modul (rarr 4221 rarr 4222) mit dem IC TMC222 von Trinamic zur Steuerung bipolarer 2-phasiger Hybrid-Schrittmotoren

Abb 13 Blockschaltbild (links) und Platine des TMC222-Moduls (rechts) mit IC TMC 222 auf

der Loumltseite der Platine

Der IC TMC222 enthaumllt ein I2C-Interface zum Anschluss an den I2C-Bus des Mikrocon-trollers (Ports PC0 und PC1) Die 10 kΩ-Pull-up-Widerstaumlnde heben die Takt- (SCL clock) und Datenleitung (SDA data) auf ein Potential von 5 V Der IC TMC222 enthaumllt ei-nen Motortreiber fuumlr Spulenstroumlme bis zu 800 mA und einen Motor-Controller zur Steue-rung der Spulenstroumlme Ein Vorteil des TMC-Moduls ist der relativ geringe Programmier-aufwand fuumlr den Mikrocontroller (rarr 4223) da der IC TMC222 nach Uumlbergabe der Steu-erungsparameter (Drehrichtung Drehzahl hellip) vom Mikrocontroller die Ansteuerung des Schrittmotors uumlbernimmt Der IC TMC222 unterstuumltzt das Beschleunigen und Abbremsen des Schrittmotors enthaumllt einen Schrittpositionszaumlhler und unterstuumltzt Mikrostepping (va-riable Spulenstroumlme zur elektronischen Verkleinerung des Schrittwinkels und groumlszligerer Laufruhe)

25

Falls in RCLs Gleichstrommotoren mit houmlheren Drehzahlen als Schrittmotoren benoumltigt werden kann eine andere Erweiterungsschaltung (rarr 424) eingesetzt werden

Positionierungsmechanik und Referenz-Taster Die Mechanik zur rotatorischen Positionierung von Objekten kann meist kostenguumlnstig selbst oder durch Personal in einer Werkstatt angefertigt werden Abb 14 zeigt eine kos-tenguumlnstige Loumlsung zur translatorischen Positionierung von Objekten

Abb 14 Positionierungseinheit eines Flachbrett-

Scanners Schrittmotor (1) Getriebe (2) Li-nearfuumlhrung (3) Antriebsriemen (4) und er-gaumlnzter Referenz-Taster (5)

Falls der geometrische Aufbau und die geforderte Positionierungsgenauigkeit des RCLs es zulassen kann die Schrittmotor-Positionierungs-Einheit ausgedienter Flachbrett-Scanner zur translatorischen Positionierung von Objekten verwendet werden In Einzelfaumll-len wie dem RCL Weltpendel kann die Positionierungsmechanik auch selbst angefertigt werden Der Referenz-Taster in Abb 14 wird eingesetzt um abzufragen ob ein vom Schrittmotor bewegtes Objekt die Position des Tasters erreicht hat und um diese Position zu referenzieren Ohne eine solche Referenzierung kann die Positionierung eines Objekts langfristig ungenau werden So kann z B beim RCL Weltpendel das Auftreffen der Kugel auf den Magneten zum Uumlberspringen von Schrittmotorstellungen fuumlhren Der Zustand des Referenz-Tasters in Abb 15 wird z B uumlber den Port PA0 des Mikrocontrollers abgefragt

Abb 15 Referenz-Taster zum referenzieren der

Position des bewegten Objekts

26

Zu Problemen koumlnnen undefinierte Zustaumlnde der Eingaumlnge des Mikrocontrollers fuumlhren wie sie beim Prellen dem zeitlich begrenzten schwingen eines Tasters beim Oumlffnen oder Schlieszligen entstehen Abhilfe schafft ein passend dimensionierter parallel zum Taster ge-schalteter Kondensator Bei geoumlffnetem Taster ist der Kondensator aufgeladen Beim Schlieszligen haumllt der Kondensator die Spannung uumlber die Schwingphase trotz kurzzeitig wieder geoumlffnetem Schalter noch aufrecht Analoges gilt fuumlr den Uumlbergang vom geschlos-senen zum geoumlffneten Taster

3 Ferngesteuertes RCL 31 RCL-Server Fuumlr den Betrieb eines RCLs wird ein RCL-Server benoumltigt (larr 11) Vorausgesetzt wird dass bei einem neuen Computer alle notwendigen Treiber (Ethernet Video Audio hellip) zum Be-trieb der Hardware des Computers und Windows XP Professional mit Service Pack 3 instal-liert sind Ein Benutzerkonto braucht nicht angelegt zu werden

Der RCL-Server benoumltigt einen Internetzugang mit statischer IP-Adresse und Uploaddatenra-te von mindestens 200 kbits (DSL 2000) fuumlr die fluumlssige Wiedergabe von Bewegungen in Webcambildern Die statische IP-Adresse wird von der Institution am Standort des RCLs vergeben oder kann von Privatpersonen bei einem Provider beantragt werden Mit folgenden Schritten wird der RCL-Server eingerichtet

Internetzugang einrichten (rarr 451) und im Browser testen

Checken ob die Windows Firewall aktiviert ist

Virenschutzproramm Avira Antivir Personal herunterladen (larr Tab 1) installieren und ak-tualisieren

Uumlber Windows Update alle Updates von Windows XP Professional installieren

Fernwartungssoftware TeamViewer 6 Vollversion (larr Tab 1) herunterladen und auf dem RCL-Server und dem eigenen Computer installieren (rarr 455)

Webeditor Notepad++ herunterladen installieren und aktualisieren (larr Tab 1)

Videoserver WebcamXP 5 herunterladen und installieren (rarr 453)

Paket XAMPP herunterladen und installieren (rarr 452) Verknuumlpfungen mit den Dateien xampphtdocsapache_startbat und xampphtdocsapache_stopbat auf dem Desktop oder in der Schnellstartleiste erstellen und Webserver mit erstgenannter Verknuumlpfung starten Webserver durch Eingabe von 127001 oder localhost ins Adressfeld des Brow-sers testen Bei erfolgreichem Test werden die im Ordner xampphtdocs abgelegten Webseiten von XAMPP dargestellt Statische IP-Adresse des RCL-Servers im Browser eines anderen Computers mit Internetzugang eingegeben Bei erfolgreichem Test werden die Webseiten von XAMPP dargestellt In der Datei xamppphpphpini unter Resource Limits die max_execution_time mit dem Windows-Editor von 60 auf 300 erhoumlhen und die

27

Datei speichern damit PHP bei Befehlen mit laumlngerer Ausfuumlhrungsdauer keine Fehler-meldung liefert

Ordner xampphtdocs mit den Webseiten von XAMPP in xampphtdocs_xampp um-benennen und fuumlr spaumltere Testzwecke nicht loumlschen RCL-Ordner htdocs herunterladen (larr Tab 1) extrahieren und in das Verzeichnis xampp verschieben

Abb 16 zeigt die Struktur des RCL-Ordners htdocs

Abb 16 Struktur des RCL-Ordners htdocs RCL-spezifisch anzupassende Dateien sind grau

hinterlegt

Der geoumlffnete Ordner Labor enthaumllt alle PHP- und HTML-Dateien bzw Programmierungen fuumlr die Funktionalitaumlt des Bedienfelds der Laborseite (larr 11 Abb 3) An das RCL anzupas-sen sind die portalsprachenunabhaumlngigen Dateien configphp und experimentphp sowie fuumlr jede Portalsprache die Dateien defaultconf und experimenttpl in den Ordnern eng fra ger und ita

Datei configphp Zeit bis zum automatischen Logout beim Experimentieren mit dem RCL eintragen

Datei experimentphp PHP-Basisprogrammierung um die RCL-spezifische PHP-Programmierung erweitern (rarr 432)

Datei defaultconf Name des RCLs (z B Elektronenbeugung) in jeder Portalsprache ein-getragen

Datei experimenttpl HTML-Basisprogrammierung um RCL-spezifische Ein- und Ausga-befelder erweitern (rarr 433)

28

32 Laborseite 321 Steuerung des RCLs uumlber das Bedienfeld Das Bedienfeld der Laborseite (larr 11 Abb 3) wird von der Dateien indexphp und experi-menttpl erzeugt Befehle wie das Anklicken von Buttons Eingaben und Auswahl aus Listen werden in ein HTML-Formular mit Formularfeldern in der Datei experimenttpl geschrieben Die Daten werden von der PHP-Datei experimentphp ausgewertet und uumlber die serielle Schnittstelle dem Mikrocontroller-Programm zur Steuerung des Experiments uumlbergeben Die Dateien experimentphp und experimenttpl wurden getrennt angelegt um Code und Design zu trennen und nur das Design in der Datei experimenttpl an die Portalsprache anpasst werden muss

Tab 5 enthaumllt Ausschnitte der HTML-Datei experimenttpl (rarr 433) der Datei experi-mentphp (rarr 432) und des Mikrocontroller-Programms (rarr 431) fuumlr das RCL Elektronen-beugung

29

Code mit Erlaumluterung

expe

rimen

ttpl

1821 Tag ltformgtltformgt definiert ein Formular 18 Attribut action legt fest dass Formulardaten in der Datei indexphp verarbeitet werden Uumlbertragen

werden eine Session-ID ($sid) um exklusiven Zugriff des jeweilgen Besuchers zu sichern und ($portal) um die vom Besucher gewaumlhlte Sprache beizubehalten post ist eine Uumlbertragungsmethode zwischen Browser und Webserver und gibt die die vom Besucher gewaumlhlte Aktion zum Ansteuern des Experiments an die Datei experimenttpl weiter

20 Erzeugt im Bedienfeld den Sendebutton (submit) mit der Aufschrift Elektronenroumlhre einschalten (valu-e)

19 Unsichtbares Feld (hidden) mit Variablennamen action und Wert RoumlhreAn Der Variablenname ac-tion stimmt nur zufaumlllig mit action in Zeile 18 uumlberein

expe

rimen

tphp

24 Die Funktion wird als Eventhaumlndler bezeichnet weil je nach uumlbergebener Aktion - siehe Zeile 19 in experi-

menttpl - die entsprechenden Anweisungen (case) ausgefuumlhrt werden 37 Fuumlr den Fall dass die Variable $action den Wert RoumlhreAn hat wird die Funktion power_on() aufgeru-

fen

59 Schreibt in die Logdatei logtxt den Text RoumlhreAn 6061 Oumlffnet den in der Datei configphp zentral gespeicherten Com-Port an den das Interface angeschlossen ist

oder gibt Fehlermeldung Can not access file system im Bedienfeld aus falls der Com-Port sich nicht oumlff-nen laumlsst

62 Sendet die Zeichenfolge On und chr(13) (entspricht der Betaumltigung der Return-Taste im Hyperterminal) an den Mikrocontroller

63 Schlieszligt serielle Schnittstelle

Que

llcod

e M

ikro

cont

rolle

r

166 Wird uumlber die serielle Schnittstelle der Befehl on empfangen und ist das Einschalten zulaumlssig (Zeiten fuumlr

PowerOnDelay und Standby abgelaufen) dann hellip 167 Hochspannungsnetzgeraumlt einschalten 168 Der DA-Wandler PCF8591 wird unter seiner Adresse PCF8591 = 01001000 angesprochen Parameterein-

stellungen mit 01000000 und Ausgangsspannung auf 0 V einstellen 169 Setzt Standby auf vorgegebene Standbyzeit zuruumlck 171 Gibt Meldung aus wie lange PowerOnDelay noch dauert

Tab 5 Uumlbertragung des Befehls Elektronenroumlhre einschalten vom Bedienfeld zum Experi-ment

30

Anhand der Erlaumluterungen der Programmcodes koumlnnen die Ablaumlufe zwischen dem Druumlcken des Buttons Elektronenroumlhre einschalten und dem Einschalten der Elektronenbeugungs-roumlhre oder der Eingabe einer Beschleunigungsspannung und dem Anlegen einer Beschleu-nigungsspannung verfolgt werden Uumlber das Bedienfeld koumlnnen nur die von der Datei expe-rimenttpl bereitgestellten Befehle on und da der insgesamt implementierten Befehle (rarr 22 Abb 10) aufgerufen werden

322 Videouumlbertragung im Webcamfeld Zur Aufnahme von Livebildern des Experiments koumlnnen USB-Webcams und IP-Kameras (Netzwerkkameras) eingesetzt werden Teurere IP-Kameras muumlssen eingesetzt werden wenn die Kamera wie z B beim RCL Roboter im Labyrinth zu weit vom Computer entfernt ist oder eine besonders lichtempfindliche Kamera aus der Uumlberwachungstechnik wie z B beim RCL Millikan-Versuch benoumltigt wird W-LAN-Kameras kommen zum Einsatz wenn Bil-der von einem beweglichen Objekt aus wie z B beim RCL Roboter im Labyrinth uumlbertra-gen werden sollen

Das Videoserverprogramm webcamXP 5 erkennt beim Aufrufen automatisch an den RCL-Server angeschlossenen USB-Webcams Vor dem Kauf einer IP-Kamera ist zu pruumlfen ob das Modell unterstuumltzt wird14 IP-Kameras muumlssen im Kontextmenuuml der Videoquelle konfigu-riert werden Abb 17 zeigt das Webcambild einer USB-Webcam vom Szintillationsschirm der Elektronenbeugungsroumlhre

Abb 17 Webcambild des Szintillationsschirms der Elektro-

nenbeugungsroumlhre einer USB-Webcam in webcamXP 5 beim RCL Elektronenbeugung

14 Vgl Moonware Studios webcamXP IP-cameras for webcamXP

31

Zum Einbinden des Webcambilds in die Laborseite des RCLs wird die laborsprachenabhaumln-gige Datei videohtm (rarr 434) in den Ordnern eng fra ger und ita verwendet Standardmauml-szligig werden zwei Webcambilder und Screenshots unterstuumltzt der Code fuumlr weitere Webcam-bilder kann durch copy and paste hinzugefuumlgt werden

Unter den Technologien Java Javaskript Flash und Windows Media fuumlr die Wiedergabe ei-nes Livestreams auf eine Webseite wurde Javaskript gewaumlhlt weil die anderen Technologien die Installation des Java Runtime Environments (JRE) des Flash- oder Windows Media Players durch den Besucher eines RCLs voraussetzen Die Wiedergabe des Livestreams mit einem Java-Applet startet zudem erst verzoumlgert nachdem das Applet geladen ist und verfuumlgt uumlber eine zu geringe Wiedergabegeschwindigkeit

33 Standard-Lernumgebung Bestandteil der Entwicklung eines RCLs ist die Erstellung einer Standard-Lernumgebung zum RCL Abb 18 zeigt exemplarisch fuumlr die deutschen Webseiten im Ordner ger das Menuuml (larr 11 Abb 3) und die Dateistruktur der Standard-Lernumgebung

Abb 18 Deutschsprachiges Menuuml und Dateistruktur der Standard-Lernumgebung

RCL-spezifisch anzupassende Dateien sind grau hinterlegt

Die englischen Dateinamen introductionhtm setuphtm hellip im Ordner ger korrespondieren mit den deutschen Menuumlpunkten Wird das RCL unter dem Menuumlpunkt RCLs des RCL-Portals aufgerufen dann ruft die Frameset-Datei indexhtm die Dateien menuumlhtm und intro-ductionhtm auf und das Menuuml wird zusammen mit der Webseite Einstieg dargestellt Die Wahl weiterer Menuumlpunkte ruft jeweils die korrespondiere Datei im Ordner auf Bei Wahl des Menuumlpunkts Labor werden mit der Frameset-Datei laboratoryhtm die Dateien videohtm fuumlr das Webcamfeld und die Datei laborindexphp fuumlr das Bedienfeld aufgerufen

32

Im Ordner docsmaterial werden alle Dokumente fuumlr die Webseite Material im Ordner docsothers die Dokumente anderer Webseiten abgelegt Im Ordner docsoriginals sind die Originale von Dokumenten wie z B Word-Dateien und der verwendeten Bilder abgelegt Grafikdateien der Webseiten Einstieg hellip Auswertung hellip Betreuung werden in gleichnami-gen Ordnern wie z B imagesanalysis abgelegt Bei sprachenunabhaumlngigen Grafikdateien wird unter dem Dateinamen abbx bei sprachenabhaumlngigen unter dem Dateinamen abbx_lan mit lan = eng fra ger und ita gespeichert Analoges gilt fuumlr die als gif-Grafiken forxgif oder forx_langif zu speichernden Formeln Originale von Bildern werden im Ordner imagesoriginals abgelegt Die Webseite zur Datei htdocsindexhtm enthaumllt zum lokalen Aufrufen der Standard-Lernumgebung Links zu den vier Index-Dateien in den Ordnern eng fra ger und ita Die Stylesheet-Datei htdocsrcl_stylecss enthaumllt die Styles der Webseiten

In der Regel werden Standard-Lernumgebungen der RCLs des RCL-Portals von verschiede-nen Personen erstellt Fehlende Gestaltungs- und Formatierungsregeln fuumlhren zu einem un-einheitlichen inattraktivem Erscheinungsbild des RCL-Portals Tab 6 gibt einen Uumlberblick der wichtigsten Gestaltungs- und Formatierungsregeln

Element Richtlinien

Gliederung

Die Webseiten Einstieg Aufbau Aufgaben Diskussion Material und Support enthalten vorgegebene Gliederungspunkte teilweise mit ausgefuumlhrten Uumlberschriften

Die umfangreicheren Webseiten Theorie und Auswertung enthalten ein Inhaltsverzeichnis mit internen Links zu Gliederungspunkten Zwischen Punkten der ersten Gliederungsebene (1 2 hellip) ist ein zwei-zeiliger Abstand (ltpgtampnbspltpgtltpgtampnbspltpgt) zwischen Punkten der zweiten (11 12 hellip) und Punkten der nur falls unbedingt notwendig dritten 111 112 hellip) Gliederungsebene ein einzeiliger Abstand zu waumlhlen Nach Abbildungen und Tabellen folgt ein einzeiliger Abstand zum nachfolgenden Text

Links Keine internen Links zwischen den Webseiten der Lernumgebung Externe Links werden prinzipiell in einem neuen Browserfenster geoumlffnet (blank)

Abbildung

Alle Abbildungen erhalten fortlaufend beginnend mit 1 nummerierte Abbildungsunterschriften der Form Abb x hellip

Abbildungen sind moumlglichst spachenunabhaumlngig d h ohne Texte in der Abbildung zu erstellen Zur Beschriftung koumlnnen z B Zahlen verwendet werden die in der Abbildungsunterschrift oder im Text er-laumlutert werden

Tabellen Tabellen werden in jeder Webseite fortlaufend beginnend mit 1 nummeriert Tabellen sind zu zentrieren Rahmenstaumlrke 1

Formeln

Formeln sind nicht als Textzeichen oder Grafik im laufenden Text einzufuumlgen sondern stets zentriert in einer eigenen Zeile als gif-Grafik

Zum Erstellen der Formel-Grafiken eignet sich z B der Formel-Editor MathType15 mit der Aufloumlsungs-Einstellung 120 dpi fuumlr InternetGif

Formeln brauchen im Rahmen des begrenzten Umfangs der Webseiten nicht nummeriert zu werden Groumlszligen-symbole

Griechische Groumlszligensymbole und mathematische Symbole sind nicht als Grafiken im laufenden Text sondern als HTML-Code einzufuumlgen Eine Zeichenreferenz findet sich bei Selfhtml16

Styles Zur Formatierung der Webseiten werden aus der Stylesheet-Datei nur die drei Styles Uumlberschrift fuumlr

die Uumlberschriften Bildunterschrift fuumlr Abbildungs- und Tabellenunterschriften und Tabellentext fuumlr Tex-te in Tabellen benoumltigt

Tab 6 Richtlinien zur Gestaltung und Formatierung der Standard-Lernumgebung

Detailliertere Informationen zum Layout der Standard-Lernumgebung koumlnnen dem RCL-Ordner und dem Erscheinungsbild der Webseiten von RCLs in Browsern entnommen wer-den

15 Vgl Design Science MathType 16 Vgl Selfhtml HTML-Zeichreferenz

33

4 ANHANG

34

41 Interface in Basisschaltung 411 Schaltplan und Bauteilliste Abb 19 zeigt den Schaltplan der Basisschaltung des Interface und Tab 7 die dazugehoumlrige Bauteilliste

Abb 19 Basisschaltung des Interface

Nr Anzahl Kurzbeschreibung des Bauteils Best-Nr bei Reichelt electronic

Einzelpreis in euro

0 1 Epoxyd-Platine (190x112 mm) mit Anteil Loumltpunktraster (Spezi-

alanfertigung) - asymp 10

1 1

Epoxyd-Fotoplatine einseitig 160x100 mm 15 mm 35 microm Epoxyd-Lochrasterplatine 160x100 mm 15 mm 35 microm

BEL 160x100-1 UP 832EP

170 420

1 1 Hohlstecker-Einbaubuchse gewinkelt Loumltfahnen 21 mm HEBW 21 018 2 1 D-SUB-Stecker 9-polig gewinkelt RM 94 D-SUB ST 09EU 029 3 1 Schottky Diode DO41 40 V 1 A SB 140 008 4 1 Draht von abgeschnittenem Beinchen aus Pos-Nr 3 - - 5 1 IC-Sockel 16-polig superflach gedreht vergoldet GS 16P 029 6 1 IC-Sockel 40-polig superflach gedreht vergoldet GS 40P 061 7 1 2x10-pol-Stiftleiste gerade RM 254 SL 2X10G 254 007 8 1 Metallschichtwiderstand 100 kΩ Metall 100k 0082 9 1 Elektrolytkondensator 10x16 mm 470 microF RM 50 mm RAD 47025 006 10 1 Elektrolytkondensator 63x11 mm 100 microF RM 25 mm RAD 10016 004 11 5 Elektrolytkondensator 5x11 mm 10 microF RM 20 mm RAD 1035 004 12 2 Keramik-Kondensator 33 pF Kerko 33p 006 13 3 Vielschicht-Keramikkondensator 100 nF 20 Z5U-25 100n 004

35

14 1 Standardquarz Grundton 110592 MHz 110592-HC49U-S 018 15 1 Spannungsregler 1 A positiv TO-220 microA 7805 028 16 1 Kuumlhlkoumlrper fuumlr Gehaumluse TO-220 99KW V FI356 066 17 1 Zylinderkopfschraube Schlitz M3 10 mm fuumlr Kuumlhlkoumlrper M3x10mm 160 18 2 Sechskantmutter M3 fuumlr Kuumlhlkoumlrper SK M3 001 19 1 Stecker-Schaltnetzteil 12 V 2250 mA MW 3IP25GS 1150 20 1 RS232-Driver DIL-16 MAX 232 CPE 041 21 1 ATmega AVR-RISC-Controller DIL-40 ATmega16-16 DIP 420 22 3 10-poliger Wannenstecker RM 254 stehend (optional) WSL 10G 009 23 1 14-poliger Wannenstecker RM 254 stehend (optional) WSL 14G 014 24 1 40-polige Stiftleiste 1-reihig gerade RM254 (optional) SL 1x40G 254 023 25 1 Kunststoffgehaumluse 1982x1124x760 mm (Serientyp 202) - asymp 10 euro 26 1 D-SUB Nullmodem-Kabel 9-pol BUBU 3 m AK 143 155 27 x DIN-Einbaubuchse 5-pol Schraubver 360deg (optional) DIO-50W EMS 185 28 x DIN-Einbaubuchse 8-polig Schraubversch 270deg (optional) DIO-80SN EMS 180 29 x Pfostenstecker 10-polig mit Verrieglung gew (optional) PSL 10W 028 30 x Klemmleiste RM 254 Oumlffnungshebel 8-polig (optional) Wago 233 220

Tab 7 Bauteilliste mit Bestellnummer und Einzelpreisen der Bauelemente bei Reichelt electronic (Stand 23102010)

Anhand der Bauteilliste in koumlnnen die elektronischen Bauelemente der Basisschaltung (larr Tab 7 Nr 0 ndash 21 optional Nr 22 - 24) bei Reichelt electronic bestellt werden Das Gehaumluse des Interface (larr Tab 7 Nr 25) sollte vom Hersteller HAGOTECH GmbH bezogen werden Weiterhin wird ein Nullmodemkabel (larr Tab 7 Nr 26) zur Verbindung des Interface mit dem Computer benoumltigt Sensoren und Aktoren des Experiments koumlnnen mit optionalen Steck-verbindern (larr Tab 7 Nr 27 - 30) und entsprechende Kabelverbindungen an das Interface angeschlossen werden Die Nummern 0 - 25 stimmen mit der angegebenen Bestuumlckungs-reihenfolge auf der Platine uumlberein Das Interface kostet in der Basisschaltung ca 50 euro

412 Bestuumlckung der Platine Abb 20 zeigt zur Bestuumlckung der Platine benoumltigte Werkzeuge

Abb 20 Werkzeuge zur Bestuumlckung der Platine des Interface

36

Loumltkolben mit feiner Spitze in Meisselform 2 mm oder Loumltstation (1) Loumltzinnabsauger zum Entfernen von Loumltzinn (2) Nasser Schwamm zum Reinigen der Spitze des Loumltkolbens (3) Loumltzinn mit Durchmesser 08 - 10 mm (4) Flachspitzzange zum Biegen von Anschluumlssen der Bauelemente (5) Seitenschneider zum Kuumlrzen der Beinchen von Bauelementen (6) Multimeter zum Pruumlfen der Funktionsfaumlhigkeit der Schaltung (7) Sekundenkleber zur Befestigung von Bauelementen Kleine Bohrmaschine z B von Dremel und 08 mm Bohrer oder duumlnne Rundfeile zum

Weiten von Loumlchern auf der Platine des Interface

Abb 21 zeigt die Platine des Interface von der Loumltseite in der Spezialanfertigung der Elekt-ronik-Werkstatt an der Technischen Universitaumlt Kaiserslautern und in der Selbstbauvariante (larr Tab 7 Nr 0) Abb 22 zeigt das Platinenlayout

Abb 21 Platine des Interface von der Loumltseite als Spezialanfertigung (links) und der Selbstbauvariante

(rechts)

Abb 22 Layout zur Herstellung des geaumltzten Teils der

Platine in der Selbstbauvariante

37

In der Selbstbauvariante kann anhand des Platinenlayouts eine selbst geaumltzte Platine fuumlr die Basisschaltung auf einer Platine im Europakartenformat hergestellt und diese in der Laumlnge gekuumlrzt werden Eine gekuumlrzte Lochrasterplatine bildet den zweiten Teil der Platine Mit den optionalen vier Wannensteckern (larr Tab 7 Nr 22 - 23) oder den vier Stiftleisten (larr Tab 7 Nr 24) an den Ports des Mikrocontrollers koumlnnen leicht elektrische Verbindungen zum Rasterteil der Platine herstellt werden Abb 23 zeigt die fertig bestuumlckte Platine mit den Nummern aus Tab 7

Abb 23 Bestuumlckte Platine des Interface mit nummerierten Bauelementen

Tab 8 beschreibt das Einloumlten der elektronischen Bauelemente anhand der Nummern aus Tab 7 und in der angegebenen Reihenfolge

Nr Bauelement Beschreibung des Einbaus

0 Spezialanfertigung und Selbst-bauvariante der Epoxydharz-

Platine

1

Stromversorgungsbuchse ndash Hohlstecker 21 mm

Wenn die Loumltbeine nicht durch die Loumlcher der Platine passen die Loumlcher mit einer runden Schluumlsselfeile aufweiten

Stromversorgungsbuchse mit Sekundenkleber vor dem Festloumlten auf der Pla-tine fixieren da diese mechanischen Belastungen durch das Einstecken und Herausziehen des 12 V -Steckers ausgesetzt ist

Wahlweise kann die 25 mm-Version der Buchse verwendet werden

2

RS232 Datenstecker

RS232 Datenstecker mit Sekundenkleber vor dem Festloumlten auf der Platine fixieren da dieser mechanischen Belastungen durch das Einstecken und Herausziehen des Null-Modem-Kabels ausgesetzt ist

Alle Beinchen und Befestigungsstifte zur houmlheren Stabilitaumlt anloumlten

3

Ein Ring an einer Seite der Diode (hier links weiszlig) zeigt die Durchlass- bzw Sperrrichtung der Diode an Die Position des Ringes entspricht der Position des Balkens im Schaltungssymbol

38

Diode ndash SB140 Auf der Platine muss der Ring auf der von der Stromversorgungsbuchse ab-

gewandten Seite liegen

4 Drahtbruumlcke

Vor dem Einloumlten des 40-poligen IC-Sockels (Nr 5) muss eine Drahtbruumlcke unter diesem eingeloumltet werden Dazu koumlnnen die abgeschnittenen Beinchen der bereits eingeloumlteten Diode (Nr 3) verwendet werden

5 6

IC-Fassungen

Die 16-polige und 40-polige IC-Fassungen besitzen eventuell eine Markie-rung fuumlr Pin1 (z B Kerbe in der Stirnseite Punkt Pfeilhellip) als Hilfe fuumlr das richtige Einstecken der ICs Die Markierungen muumlssen bei beiden Fassungen nach oben also zum naumlchstliegenden Rand der Platine zeigen

Die ICs unbedingt noch nicht einstecken

7

ISP-Stiftleiste

Die doppelreihige ISP-Stiftleiste dient der Programmierung des Mikrocontrol-lers mit dem AVR-ISP-Programmer (ISP steht fuumlr In System Programming)

ISP-Stiftleiste auf 2 x 5 Stifte kuumlrzen und mit den kurzen Beinchen einloumlten so dass auf die langen Stifte der AVR-ISP-Programmer gesteckt werden kann

8

Widerstand 100 kΩ

Den 100 kΩ-Widerstand rechts neben der ISP-Stiftleiste einloumlten

9

10

11

Elkos

Bei den verwendeten Elektrolyt-Kondensatoren ist die Polung zu beachten (langes Beinchen = Plus-Pol) Weiterhin ist auf den Kondensatoren ein wei-szliger Streifen mit Minus-Zeichen aufgedruckt Die Kondensatoren sollten eine Spannungsfestigkeit von mindestens 16 V besser 25V besitzen

Auf der Kupferseite der Platine zeigt die Form der Loumltaugen die Polung an Rundes Loumltauge = Plus quadratisches Loumltauge = Minus

Der 470 microF Kondensator wird mit dem weiszligen Streifen in Richtung Stromver-sorgungsbuchse direkt unter diese montiert

Der 100 microF Kondensator sitzt direkt unter der 16-poligen IC-Fassung Sein weiszliger Streifen (Minus-Pol) zeigt in Richtung der Stromversorgungsbuchse

Vier der 10 microF Kondensatoren werden links neben der 16-poligen IC-Fassung montiert Deren Polung ist wie folgt Unterster Kondensator Minus nach oben naumlchster Kondensator Minus nach unten die beiden oberen Kondensatoren mit Minus nach oben

Ein weiterer 10 microF Kondensator wird rechts neben die 16-polige IC-Fassung geloumltet Sein Minus-Streifen zeigt nach unten

12

13

Keramik-Kondensatoren

Die Beschriftung 104 bedeutet 10e4 pF = 100 nF Die beiden 33 pF-Kerkos (Keramik-Kondensatoren) werden direkt nebenei-

nander rechts neben die 16-polige IC-Fassung geloumltet Zwei 100 nF-Kondensatoren werden unter dem 470 microF-Elko eingeloumltet ein

weiterer mittig an der linken Seite der 40-poligen IC-Fassung

14

Quarz

Als Quarz wird ein 110592 MHz-Typ verwendet Bei dieser Frequenz ist eine fehlerfreie Kommunikation uumlber RS232 mit 9600 Baud moumlglich Fuumlr den AT-mega16 koumlnnen Quarze bis 16 MHz eingesetzt werden Details siehe Daten-blatt

Der Quarz wird direkt rechts neben die beiden 33 pF-Kerkos geloumltet Die Ori-entierung des Quarz spielt keine Rolle

15

16

17

18

Der Spannungsregler L7805 erzeugt eine stabilisierte Spannung von 5 V Es muss ein Kuumlhlkoumlrper zur Waumlrmeabfuhr vom Spannungsregler verwendet werden

Vor dem Einloumlten zwischen Spannungsregler und Kuumlhlkoumlrper etwas Waumlrme-leitpaste aufgetragen Beide Bauteile fest mit einer Schraube M3x10 und ei-ner 1 Mutter verschrauben

Dann den Spannungsregler einloumlten um 90deg abzubiegen das uumlberstehende Gewinde durch das vorgesehene Loch stecken und alles mit einer 2 Mutter auf der Platine befestigen

1 Mutter

2 Mutter

Schr

aube

L7805

Platine

KuumlhlkoumlrperWaumlrmeleitpaste

Beinchen

Loumlten

39

Spannungsregler L7805 Kuumlhl-koumlrper und Montage

19

Steckernetzteil

Funktionskontrolle vor dem Einsetzen des Mikrocontrollers Polung der Elektrolyt-Kondensatoren (Elkos) pruumlfen Sind alle Beinchen angeloumltet Hat das Loumltzinn an den Beinchen und der Pla-

tine guten Kontakt Sind eventuell zwei benachbarte Beinchen unbeabsichtigt durch Loumltzinn verbunden Alle Loumltverbindungen nochmals genau z B mit ei-ner Lupe pruumlfen

Probeweise das Stecker-Netzteil an die Buchse anschlieszligen Am 100 nF-Kondensator links mittig der 40-poligen IC-Fassung muumlssen 5 V anliegen

Versorgungsspannung unbedingt wieder von der Platine trennen

20

21

ICs MAX232 und ATmega16

Die Nuten auf den ICs am linken Rand muumlssen nach oben zeigen d h Pin1 ist bei beiden ICs in der Abbildung links unten und auf der Platine oben links

Manchmal passen die Beinchen der ICs nicht in die Fassung weil die Fas-sung scheinbar zu schmal ist Dann den IC seitlich mit einer Beinchen-Reihe flach auf den Tisch legen den IC-Koumlrper links und rechts greifen und Bein-chen durch leichten Druck biegen Einzelne verbogene Beinchen vorsichtig mit einer kleinen Flachzange richten

22

23

Wannenstecker 10- und 14-polig

Wannenstecker an den vorgesehe-nen Stellen mit der Nut gegen Ver-polung in Richtung des naumlherliegen-den Platinenrands einloumlten

Die Abbildung rechts zeigt die Pin-Belegung der Wannenstecker

24

Stiftleiste 8-polig 40-pol Stiftleiste in 4 jeweils 8-polige Stuumlcke zerteilen und einloumlten

25

Kunststoffgehaumluse

In der Selbstbauvariante der Platine (Nr 0) vor dem Einsetzten der Platine in das Gehaumluse passend positionierte Kunststoffstege am Gehaumluseboden fest-kleben

Tab 8 Bestuumlckung der Platine des Interface mit Bauelementen

42 Erweiterungsschaltungen 421 Uumlbersicht In Tab 3 sind von RCLs des RCL-Portals Sensoren und Aktoren mit den dazugehoumlrigen Er-weiterungsschaltungen zusammengestellt Da alle RCLs obligatorisch uumlber mindestens eine Webcam verfuumlgen sind diese unter den Sensoren nicht aufgefuumlhrt Die wenigen Erweite-rungsschaltungen fuumlr Sensoren sind unter Sensoren in Klammern aufgelistet Unter Aktoren werden auszliger elektro-mechanischen Wandlern auch gesteuerte Geraumlte oder Bauelemente verstanden Anzeigeinstrumente sind unter Aktoren nur aufgefuumlhrt wenn sie direkt vom In-terface gesteuert werden Mit gekennzeichnete Erweiterungsschaltungen befinden sich au-szligerhalb des Interface

40

RCL Sensoren Aktoren Erweiterungsschaltungen fuumlr Aktoren

Beugung und Interferenz I Referenz-Taster

Schrittmotor (Rotation) Schrittmotorsteuerung Laser-Modul Geschaltete Spannungsversorgung

Beugung und Interferenz II

4 Referenz-Taster Lichtsensor

4 Schrittmotoren (Translation) 4 Schrittmotorsteuerungen 5 Laser-Module Geschaltete Spannungsversorgung LED fuumlr Position des

Lichtsensors Geschaltete Spannungsversorgung

LED fuumlr Linealbeleuchtung Geschaltete Spannungsversorgung

Elektronen-beugung

Hochspannungsnetzgeraumlt Geschaltete Spannungsversorgung Hochspannungsnetzgeraumlt Steuerung der Hochspannung

Fotoeffekt 2 Referenz-Taster Photozelle

2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen

Quecksilberdampflampe Geschaltete Spannungsversorgung

der Drossel fuumlr Quecksilberdampf-lampe

Halbleiter-kennlinien

und Halbleiterkennli-nien - Schuumller-

projekt

Referenz-Taster

Schrittmotor (Rotation) Schrittmotorsteuerung Oszilloskop Geschaltete Spannungsversorgung

Oszilloskop Instrumentenverstaumlrker fuumlr X- und Y-Ablenkung

Multimeter Steuerung Spannungs- oder Strom-anzeige

Heiszliger Draht 4 Endtaster 4 Drehgeber Kurzschlusssensor

4 Gleichstrommotoren 4 Treiber

Zweifarbige LED Steuerung der LED-Farbe

Lichtgeschwin-digkeit

Drehimpulsgeber 2 Taster an Enden

der Eisenbahnstre-cke

2 Schrittmotoren 2 Schrittmotorsteuerungen Oszilloskop Geschaltete Spannungsversorgung

Motor der Lokomotive Steuerung des Ein- und Ausschal-tens und der Bewegungsrichtung

Maut Infrarot-Sensor Gleichstrommotor Geschaltete Spannungsquelle 2 IR-Fernbedienungen Spannungsregler 2-stellige 7-Segmentanzeige LED-Treiber

Millikan-Versuch 2 Referenz-Taster

2 Schrittmotoren 2 Schrittmotorsteuerungen Lichtquelle (LED) fuumlr Millikan-

Kondensator Geschaltete Spannungsversorgung

Airbrush-Kompressor Geschaltete Spannungsversorgung Magnetventil Geschaltete Spannungsversorgung Millikan-Kondensator Gesteuertes Hochspannungsmodul

Optische Com-putertomogra-

phie

2 Referenz-Taster 2 Lichtsensoren

Schrittmotor (Rotation) Schrittmotorsteuerung Schrittmotor (Translation) Schrittmotorsteuerung

2 Laser-Module 2 geschaltete Spannungsversor-gungen

Optische Fou-rier-

Transformation 2 Referenz-Taster

2 Schrittmotoren (Translation) 2 Schrittmotorsteuerungen

Laser-Modul Geschaltete Spannungsversorgung

Oszilloskop Oszilloskop Geschaltete Spannungsversorgung Signalgenerator Steuerung der Signalart

Radioaktivitaumlt 4 Referenz-Taster Geiger-Muumlller-

Zaumlhlrohr

2 Schrittmotoren (Translation) 2 Schrittmotorsteuerungen 2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen 4-stellige 7-Segment-Anzeige Treiber Elektromagnet Geschaltete Spannungsversorgung

Roboter im Labyrinth Infrarot-Sensor

2 Schrittmotoren 2 Schrittmotorsteuerung Infrarot-Sender Treiber

Rutherfordscher Streuversuch

2 Referenz-Taster Halbleiterdetektor

(Impulsformer)

2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen

4-stellige 7-Segment-Anzeige Treiber

Weltpendel

Referenz-Taster Lichtsensor der

Lichtschranke (Im-pulsformer)

Temperatursensor

Schrittmotor (Translation) Schrittmotorsteuerung Elektromagnet Geschaltete Spannungsversorgung

Laser der Lichtschranke Geschaltete Spannungsversorgung

Windkanal Referenz-Taster Schrittmotor (Translation) Schrittmotorsteuerung

41

Dehnungsmess-streifen (Wheat-stonesche Bruumlcke Messverstaumlrker Multimeter)

Geblaumlsemotor Geschaltete Spannungsversorgung

und Ansteuerung mit Pulsweiten-modulation

Anemometer Geschaltete Spannungsversorgung Multimeter Geschaltete Spannungsversorgung

Tab 9 Sensoren Aktoren und Erweiterungsschaltungen der RCLs des RCL-Portals

422 TMC222-Modul zur Schrittmotorsteuerung 4221 Schaltplan und Bauteilliste Abb 1 zeigt die Beschaltung des TMC222 von Trinamic auf dem TMC222-Modul

Abb 24 Beschaltung des TMC222 von Trinamic

Anhand der Bauteilliste in Tab 10 koumlnnen die elektronischen Bauelemente des TMC222-Moduls bei Reichelt electronic bestellt werden Ein TMC222-Modul kostet ungefaumlhr 10 euro

Nr Anzahl Kurzbeschreibung des Bauteils Best-Nr bei Reichelt electronic

Einzelpreis in euro

0 1 Epoxyd-Fotoplatine einseitig 75x100 mm 15 mm 35 microm BEL75X100-1 096 1 1 Integrierter TMC-Schrittmotor-Controller TMC 222 SI asymp 7 2 1 Elektrolytkondensator 8x11 mm Rm 35 mm 100 microF35 V RAD 10035 004 3 1 Tantal-Kondensator Rm 25 10 microF35 V Tantal 1035 014 4 2 Vielschicht-Keramikkondensator 220 nF 20 Z5U-25 220N 011 5 3 Vielschicht-Keramikkondensator 100 nF 20 Z5U-25 100N 004 6 2 Metallschichtwiderstand 100 kΩ Metall 100K 0082 7 1 1x36pol Stiftleiste gewinkelt Rm 254 SL 1X36W 027 8 1 1x36pol Buchsenleiste gerade Rm 254 BL 1X36G 025

Tab 10 Bauteilliste mit Bestellnummer und Einzelpreisen der Bauelemente bei Reichelt electronic (Stand 23102010)

4222 Bestuumlckung der Platine

42

Abb 25 zeigt die fertig bestuumlckte Platine mit den Nummern aus Tab 10

Abb 25 Bestuumlckte Platine des TMC222-Moduls

mit nummerierten Bauelementen

Die Platine (35 mm x 30 mm) kann anhand des Layouts in Abb 26 hergestellt werden Der IC TMC222 wird auf der Loumltseite der Platine aufgeloumltet Das TMC222-Modul kann mit der Stiftleiste (larr Tab 10 Nr 7) in eine Buchsenleiste (larr Tab 10 Nr 8) auf die Platine des In-terface gesteckt werden

Abb 26 Platine des TMC222-Moduls von der Loumltseite (links) und Layout

4223 Quellcode des Mikrocontroller-Programms Im Folgenden ist ein mit Bascom (larr 12 Tab 1 Entwicklungsumgebungen) erstelltes Bei-spiel-Programm zur Ansteuerung des Schrittmotormoduls TMC222 durch den Mikrocontroller ATmega16 angegeben $regfile = m16DEFdat $crystal = 11059200 $baud = 9600 Definitionen Config Scl = Portc0 Taktleitung Config Sda = Portc1 Datenleitung Const Adress = ampB11000000 I2C Adresse des TMC222 Const GetFullstatus1 = ampB10000001 Kommando des TMC222 Const Resetpos = ampB10000110 Kommando des TMC222 Const Motorparameter = ampB10001001 Kommando des TMC222 Const Setposition = ampB10001011 Dim Puffer(10) As Byte

43

Programm I2csend Adress GetFullstatus1 GetFullstatus1 (Initialisierung des TMC222) I2creceive Adress 7 Ack Daten in Puffer auslesen Puffer(1) = Motorparameter puffer auffuumlllen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB11110011 1111irun 0011ihold Puffer(5) = ampB01110001 0111vmax 0001vmin Puffer(6) = ampB00010000 000securepos(bit10-8) 1shaft 0000acceleration Puffer(7) = 0 securepos(bit7-0) Puffer(8) = ampB00001100 000nicht belegt 0accshape 11stepmode 00nicht belegt I2csend Adress Puffer(1) 8 I2csend Adress Resetpos aktuelle Position auf 0 setzen Puffer(1) = Setposition Motor bewegen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB01111111 position(bit 15-8) Puffer(5) = ampB11111111 position(bit 7-0)acute I2csend Adress Puffer(1) 5 End

423 Geschaltete Spannungsquellen und Verbraucher Die Ausgaumlnge des Mikrocontrollers duumlrfen nur mit Stroumlmen kleiner als ungefaumlhr 20 mA belas-tet werden Verbraucher mit einer Stromlast groumlszliger als 20 mA koumlnnen daher nicht direkt an den Mikrocontroller angeschlossen werden Abb 27 zeigt links eine Schaltung zum Schalten eines Verbrauchers wie z B des Relais und rechts eine Schaltung mit dem IC ULN2803A zum Schalten mehrerer Verbraucher wie z B Gluumlhlampen

Abb 27 Erweiterungsschaltungen zum Schalten eines (links) oder

mehrerer Verbraucher (rechts)

Zu beachten ist dass der Transistor BC337 maximal 800 mA schalten kann und fuumlr groumlszligere Stroumlme andere Transistoren verwendet werden muumlssen

424 Steuerung von Gleichstrommotoren

44

Sollen Gleichstrommotoren zum Bewegen von Objekten mit dem Mikrocontroller gesteuert werden dann eignet sich dazu der in Abb 28 dargestellte beschaltete IC L293D

Abb 28 Beschaltung des L293D zum

Steuern zweier Gleichstrom-motoren

Mit Pin 1 = Pin 9 = 1 (High) koumlnnen zwei Gleichstrommotoren M1 und M2 (Versorgungs-spannung UM lt 36 V Spulendauerstrom IM lt 600 mA) unabhaumlngig voneinander ein- und ausgeschaltet sowie in der Drehrichtung uumlber die Ports PA0 und PA1 fuumlr M1 und PA2 und PA3 fuumlr M2 gesteuert werden Z B gilt mit PA0 = PA1 = 0 (M1 ausgeschaltet) PA0 = 1 und PA1 = 0 (M1 dreht sich) PA0 = 0 und PA1 = 1 (M1 dreht sich in Gegenrichtung)

45

43 Quellcodes zum RCL Elektronenbeugung 431 Mikrocontroller-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

46

47

48

49

432 PHP-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

50

51

433 Bedienfeld der Laborseite

Tab 11 erlaumlutert die Funktion der Bloumlcke im Quellcode

Zeilen Funktion 1 Datei defaultconf einbinden 2 Datei headtpl einbinden

5 - 11 Ausgabe der verbleibenden Experimentierzeit 18 - 21 Button zum Einschalten der Elektronenbeugungsroumlhre 28 - 30 Eingabefeld fuumlr die Beschleunigungsspannung

37 Ruumlckmeldung zur eingegebenen Beschleunigungsspannung 42 Datei foottpl einbinden

Tab 11 Funktion der Programmbloumlcke in der Datei experi-menttpl

52

434 Webcamfeld der Laborseite

In Tab 12 ist die Funktion der Programmbloumlcke und die Anpassungen der Vorlage an das RCL Elektronenbeugung beschrieben

Zeilen Funktion Anpassung RCL Elektronenbeugung

5 Titelangabe erscheint als Tabulatorbeschriftung in Browsern

Name des RCLs eintragen

11 - 15 16 - 20

Zwei Javascripts zum getrennten Aufrufen zweier Po-pup-Fenster mit dargestelltem Webcambildern 1 und 2

Javascript 1 die IP-Adresse eintragen Javascript 2 auskommentiert weil nicht benoumltigt

24 - 40 42 - 60

Zwei Javascripts zum Aktualisieren der Webcambilder 1 und 2

Javascript 2 auskommentiert weil nicht benoumltigt

67 - 71 79 - 83

Aufrufen des ersten Webcambilds der Webcams 1 und 2 beim Aufrufen der Datei

Webcambild 2 auskommentiert weil nicht benoumltigt

72 - 78 84 - 90

Buttons zum Aufrufen der Screenshots der Webcam-bilder 1 und 2

Button 2 auskommentiert weil nicht benoumltigt

91 - 95 Zeile der Tabelle zum Eintragen von Informationen die sich auf die Webcambilder oder den Versuch beziehen

Text in Zeile der Tabelle geschrieben

Tab 12 Funktionen der Codeabschnitte in der Datei videohtm und Anpassung der Vor-lage an das RCL Elektronenbeugung

53

44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung Im Folgenden wird die Installation und Konfiguration des AVR-Studios 418 und der Bascom 11198 Demoversion beschrieben Alle Anleitungen sind zeilenweise von links nach rechts zu lesen

441 AVR-Studio 418 4411 Installation Auf der Webseite von ATMEL Register AVR Studio 418 (build 684) anklicken und Registrie-rungsformular ausfuumlllen Danach die Datei AvrStudio418Setup herunterladen Durch Dop-pelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen Next waumlhlen

I accept hellip und Next waumlhlen Installationsordner und Next waumlhlen

54

Installupgrade hellip und Next waumlhlen Install waumlhlen Die Installation beginnt

Finish waumlhlen

4412 Konfiguration AVR Studio 418 in Windows XP Professional unter StartProgramme aufrufen

Startfenster mit Cancel schlieszligen Unter ToolsProgram AVR Auto Connect waumlhlen

55

Im eingeblendeten Fenster auf der Registerkarte Main als Device ATmega16 und als Programming Mode ISP mo-de waumlhlen

Optional kann Signatur gelesen werden

In der Registerkarte Fuses alle Haumlkchen und Auswahlfel-der wie angegeben waumlhlen

Dann Program waumlhlen

442 BASCOM 11198 Demoversion 4421 Installation Auf der Webseite von Bascom unter Bascom AVR Demo die Zip-Datei setupdemoexe her-untergeladen Durch Doppelklick auf den Dateinamen die Installation starten

Next waumlhlen I accept the agreement und Next waumlhlen

56

Next waumlhlen Installationsordner eingeben und Next waumlhlen

Eintrag im Start-Menuuml eingeben und Next waumlhlen Next waumlhlen

Yes restart the computer now und Finish waumlhlen

57

4422 Konfiguration Bascom AVR in Windows XP Professional unter StartProgramme zum Einstellen der Para-meter des Mikrocontrollers und des Terminals aufrufen

OptionsCompilerChip waumlhlen Einstellungen wie im Bild vornehmen und OK waumlhlen

Auf der Registerkarte Communications Einstellungen wie im Bild vornehmen und OK waumlhlen

Unter OptionsCommunication Einstellungen wie im Bild

vornehmen und OK waumlhlen FileNew waumlhlen Unter ToolsTerminal emulator das Terminal aufrufen und

eingeben Die Befehlsliste des RCLs Elektronenbeu-gung wird angezeigt

45 Installation und Konfiguration von Programmen auf dem RCL-Server Im Folgenden wird der Download die Installation und die Konfiguration von Programmen auf dem RCL-Server unter Windows XP Professional beschrieben Alle Anleitungen sind zeilen-weise von links nach rechts zu lesen Die Installation der Programme sollte in der angegebe-nen Reihenfolge erfolgen

58

451 Einrichten des Internet-Zugangs LAN-Verbindung unter StartSystemsteuerungNetzwerkverbindungen aufrufen

Internetprotokoll (TCPIP) und Eigenschaften waumlhlen Folgende IP-Adresse verwenden waumlhlen IP-Adressen ein-

geben und OK waumlhlen

452 Paket XAMPP 174 Unter apache friends - xampp fuumlr windows und XAMPP Windows 174 Installer anklicken und Datei xampp-win32-174-VC6-installerexe speichern Durch Doppelklick auf die Datei die Installation starten

Sprache und Ok waumlhlen Ok waumlhlen

59

Weiter waumlhlen Zielverzeichnis mit Durchsuchen waumlhlen oder eingeben

Apache nicht als Dienst installieren Fertig stellen waumlhlen

Ja waumlhlen Zum Starten des Apache Webservers das Control Panel

unter StartProgrammeXAMPP 173 for Windows mit Start starten Anstelle von Start erscheint Running

Zum Beenden des Apache Webservers Stop waumlhlen Zum Beenden des Control Panels Exit waumlhlen

60

453 Videoserver webcamXP 5 Private Auf der Webseite von Moonware Studios unter webcamXP 55xx die Datei wlite550 herun-terladen Durch Doppelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen I Agree waumlhlen

Next waumlhlen Auszliger webcamXP 5 brauchen keine weiteren Komponen-

ten installiert zu werden

Den vorgeschlagenen Ordner und Install waumlhlen Finish waumlhlen

61

WebcamXP unter StartProgramme aufrufen Zugesandte

Lizenz-Daten in das eingeblendete Fenster eingeben und Register waumlhlen

Beim Starten des Programms stellt webcamXP automa-tisch eine Verbindung zu den am Computer angeschlosse-nen Webcams her

Nach dem Start ist Uumlberwachen gewaumlhlt Durch Rechts-klick mit der Maus auf das Videofenster wird zu jeder Vi-deoquelle ein Kontextmenuuml angezeigt Wird kein Videobild dargestellt das Kontextmenuuml aufrufen Art der Videoquelle waumlhlen (hier USB) und unter den erkannten Videoquellen (hier USB-Videogeraumlt) die gewuumlnschte waumlhlen

Das Videoformat muss fuumlr eine passende Darstellung auf

der Laborseite auf 320 x 240 eingestellt sein Ist das nicht der Fall im Kontextmenuuml unter Video Format einstellen

In gleicher Weise kann eine zweite Videoquelle hinzugefuumlgt werden

In der Registerkarte Web Broadcast kann unter

Broadcast (HTTP) der Videoserver mit Ausschalten ge-stoppt und mit Aktivieren gestartet werden

Zur Zielwahl des Webservers (131246237167 - Internet D16W3X3J - Computer 127001 - Local Host) Videoser-ver stoppen und einstellen Videoserver wieder starten

62

454 Terminalprogramm Hyperterminal Hyperterminal in Windows XP Professional unter StartProgrammeZubehoumlrKommunikation aufrufen

Name der neuen Verbindung - z B Interface - eingeben

und OK waumlhlen Die Verbindung zwischen Computer und Interface wurde

uumlber einen USB-Seriell-Adapter hergestellt Dann erschei-nen zwei zusaumltzliche Eintraumlge (Motorola Comp Modem und COM5) in der Liste Prinzipiell muss eine COMx-Verbindung gewaumlhlt werden

Eigenschaften von COM 5 wie im Bild einstellen und OK

waumlhlen DateiEigenschaften aufrufen und ASCII-Konfiguration

waumlhlen

63

Haken bei Eingegebene Zeichen lokal ausgeben (lokales

Echo) setzen um eingegebenen Zeichen im Hyperterminal zu sehen

Bei funktionsfaumlhiger Verbindung erscheint nach Eingabe von Return die Befehlsliste des Interface

Durch Aufrufen von DateiSpeichern die erstellte Verbin-

dung z B auf dem Desktop speichern Dadurch braucht die Verbindung nicht immer wieder von neuem konfiguriert wer-den

Nach Aufrufen von DateiBeenden die bestehende Verbin-dung mit Ja beenden

64

Wurde ein falscher COM-Port gewaumlhlt reagiert das Inter-

face auf die Eingabe Return nicht Hyperterminal dann beenden

Der COM-Port kann dann nicht unter DateiEigenschaften im Hyperterminal aber unter Eigenschaften des Kontext-menuumls der Datei Interfaceht in der Registerkarte Verbin-den mit geaumlndert werden Dann OK waumlhlen und erneut Verbindung testen

65

455 Fernwartungssoftware TeamViewer 6 Host Auf der Webseite von Teamviewer GmbH unter Fuumlr unbeaufsichtigte Server TeamViewer Vollversion die Datei TeamViewer_Setup-wq herunterladen Das Programm muss auf dem RCL-Server und dem Computer der auf den RCL-Server zugreifen soll installiert werden Durch Doppelklick auf die Datei die Installation starten

Ausfuumlhren waumlhlen Weiter waumlhlen

Fuumlr die private nicht kommerzielle Nutzung ist Teamviewer kostenlos

privat nicht-kommerziell und Weiter waumlhlen

Beide Haumlkchen setzen und Weiter waumlhlen

66

Ja un Weiter waumlhlen Weiter

Computername und Kennwort fuumlr den Zugriff auf den RCL-Server oder den eigenen Computer vergeben Kenn wort notie-ren

Ein Teamviewerkonto ist nicht erforderlich Kann auch spaumlter noch eingerichtet werden

ID fuumlr den Computer auf dem das Programm installiert wird fuumlr Zugriff notieren

Das Programm wird gestartet Standardmaumlszligig vorein-gestellt ist der Start des Programms beim Start des Be-trienssystems

67

46 Selbstbau eines elementaren RCLs 461 Hard- und Software Auch ohne gleich ein vielleicht teures physikalisches Experiment zu steuern laumlsst sich mit wenigen Bauelementen ein elementares RCL realisieren Von einer Webseite im Internet sol-len eine Leuchtdiode (LED) ein- oder ausgeschaltet sowie der Zustand der Leuchtdiode und eines Tasters abgefragt werden An Hard- und Software werden benoumltigt

1 Low-Current-LED 5 mm 2 mA 1 Widerstand 18 kΩ 1 Taster und optional zwei 10-polige Wannenstecker mit ungefaumlhr 10 cm passendem Flachbandkabel und Buchsen

Interface in Basisschaltung Null-Modem-Kabel 12 V DC Steckernetzteil (larr 1)

Installierte Bascom-Demo-Version (larr 42)

AVR ISP-Programmer mit 10-poligem Programmierkabel

Installiertes und konfiguriertes AVR Studio 418 (larr 41)

Installiertes Paket XAMPP (larr 52)

Texteditor wie z B Notepad in Windows XP Professional

Konfigurierte Hyperterminalverbindung (larr 54)

462 Bestuumlckung der Platine Abb 29 zeigt zur Orientierung fuumlr das Einloumlten der Bauelemente die fertig bestuumlckte Platine des Interface

Abb 29 Mit elementarem RCL bestuumlckte Platine

des Interface

LED mit Vorwiderstand und der Taster sind rechts neben dem Mikrocontroller im Lochraster-bereich aufgebaut und uumlber Wannenstecker und Flachbandkabel mit dem Port A des Mikro-controllers verbunden (die drei Bauteile rechts neben dem ATmega16 werden nicht benouml-tigt) Tab 13 erlaumlutert die Schritte zur Bestuumlckung der Platine des Interface

68

Nr Schaltung Erlaumluterung

1

Die Leuchtdiode (LED) mit dem Pluspol (langes Beinchen) an PortA0 (PIN40 oben rechts) des Mikrocontrollers anloumlten

An das kurze Beinchen einen 18kΩ Widerstand loumlten dessen anderes Ende mit der Masse (GND) verbinden

2

Den Taster mit PortA1 (PIN39 = 2 Beinchen von oben rechts) und Masse (GND) verbinden

3

Draufsicht

Belegung des 10-poligen Wannensteckers 1 GND (Masse) im Foto oben links 2 +5 V 3 PortA0 4 PortA1 10 PortA7 im Foto unten rechts

Tab 13 Schritte zum Aufbau des elementaren RCLs

463 Lokal gesteuertes RCL Nachfolgend ist der Basic-Programmcode des Mikrocontrollers zur Steuerung und Abfrage der LED und des Tasters angegeben 01 $regfile = m16DEFdat Microcontroller ATmega16 02 $crystal = 11059200 110592MHz Quarz 03 $baud = 9600 Baudrate 04 05 ---[ Variables ]--------------------------------------------------------------- 06 Dim Rs232kommando As String 10 erst Befehlspuffer dann Kommando 07 Dim Parameter As String 10 Parameter 08 Dim Str_pos As Byte Position von Leerzeichen zur Trennung von Kommando und Pa-rameter 09 10 ---[ Initialisierung ]--------------------------------------------------------- 11 Ddra0 = 1 PortA0 als Ausgang fuumlr LED 12 Porta0 = 0 LED aus 13 Ddra1 = 0 PortA1 als Eingang fuumlr Taster 14 Porta1 = 1 Pull-Up aktivieren 15 16 ---[ Main program loop ]------------------------------------------------------- 17 Do Start der Endlos-Schleife 18 19 If Ischarwaiting() = 1 Then Zeichen uumlber RS232 empfangen 20 Input Rs232kommando neues Kommando lesen 21 Parameter = Parameter initialisieren 22 Str_pos = Instr(rs232kommando ) Leerzeichen im Kommando suchen 23 If Str_pos gt 0 Then falls Leerzeichen dann in Kommando+Parameter zerlegen 24 Incr Str_pos Str_pos soll jetzt auf 1Zeichen des Parameters zeigen 25 Parameter = Mid(rs232kommando Str_pos ) Parameter = Teilstring nach Leerzeichen 26 Parameter = Ucase(parameter) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 27 Str_pos = Str_pos - 2 Str_pos soll jetzt auf letztes Zeichen des Kommandos zeigen 28 Rs232kommando = Left(rs232kommando Str_pos)Kommando = Teilstring vor Leerzeichen 29 Rs232kommando = Ucase(rs232kommando) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 30 End If 31 32 Select Case Rs232kommando Eventhandler Interpretation der Kommandos 33 Case Print Hilfe Hilfeseite anzeigen 34 Print LED on - LED einschalten 35 Print LED off - LED ausschalten 36 Print LED - zeigt Status der LED an 37 Print SW - zeigt Status des Schalters an 38

1K8

LED rotmicroC PortA0(PIN40)

Taster

microC PortA1(PIN39)

1

3

2

69

39 Case LED If Parameter = ON Then LED schalten 40 Porta0 = 1 41 End If 42 If Parameter = OFF Then 43 Porta0 = 0 44 End If 45 46 Case LED If Porta0 = 0 Then Status der LED ausgeben 47 Print LED aus 48 Else 49 Print LED an 50 End If 51 52 Case SW If Pina1 = 1 Then Status des Schalters ausgeben 53 Print Taster offen 54 Else 55 Print Taster geschlossen 56 End If 57 58 Case Else Print gt Rs232kommando lt ungueltiger Befehl - weitere Infos mit Info bei unguumlltigen Eingaben 59 End Select 60 61 End If 62 63 Loop Endlos-Schleife Springe zu Do 64 65 End wird nie erreicht

Der erste Teil des Programms (Zeilen 1 - 15) enthaumllt die Systemparameter Variablen und Initialisierung der Ein- und Ausgaumlnge Der zweite Teil enthaumllt ab Zeile 17 das Hauptpro-gramm in dem Benutzereingaben uumlber die serielle Schnittstelle empfangen interpretiert und in entsprechende Anweisungen umgesetzt werden Tab 14 erlaumlutert den Programmcode de-taillierter

Zeilen Erlaumluterung

1 - 3 Diese Angaben teilen dem Compiler (Bascom) mit welcher Prozessor eingesetzt wird wie schnell dieser getaktet (Quarz) ist und mit welcher Uumlbertragungsgeschwindigkeit die Kommunikation uumlber die serielle Schnittstelle (RS232) mit dem PC erfolgen soll

6 - 8 Es werden drei Variablen genutzt Die Eingabe uumlber die serielle Schnittstelle wird in rs232kommando gespeichert Es wird ein Text der Form Kommando ltLeerzeichengt Parameter erwartet so dass die Variable Parameter den-selbigen aufnimmt Die Variable str_pos wird fuumlr die Trennung von Kommando und Parameter benoumltigt

11 - 14

Mit dem Befehl ddrPX (ddr = data direction) wird festgelegt ob ein Beinchen als Ausgang (=1) oder als Eingang (=0) arbeiten soll Der ATmega16 besitzt 32 Ein-Ausgaumlnge die in vier Ports (P=AD) zu je 8 Pins (X=07) unterteilt sind ddrA0 = 1 legt also das 1 Beinchen (Pin 0) von PortA als Ausgang (=1) fest Mit dem Befehl PortA0 =1 kann dieser Pin dann durch Zuweisen von 1 oder 0 an- bzw ausgeschaltet werden Im Datenblatt erfahren Sie welches der 40 Beinchen des Mikrocontrollers wie bezeichnet wird (Pin-Belegung) Wird ein Beinchen als Eingang verwendet (ddrA1 = 0) koumlnnen Sie optional einen so genannten Pull-Up-Widerstand aktivieren (PortA1=1) oder deaktivieren (PortA1=0) Auch hierzu sollten Sie sich unbedingt mit dem Datenblatt vertraut machen

17 63 Das Hauptprogramm besteht aus einer Endlosschleife d h der Mikrocontroller verrichtet ununterbrochen seinen Job so lange er mit Strom versorgt wird

19 - 30 Falls ein Zeichen uumlber die serielle Schnittstelle empfangen wurde wird dieses und alle folgenden gelesen Anschlie-szligend wird gepruumlft ob der empfangene Text von der Form Kommando ltLeerzeichengt Parameter ist so dass er ge-gebenenfalls in ein Kommando und einen Parameter zerlegt werden kann

32 - 59 Dieser Abschnitt wird mit Event-Handler bezeichnet Hier wird auf die Kommandos (Events) reagiert und die ent-sprechenden Schritte ausgefuumlhrt zB schalten LED je nach Wert der Variablen Parameter an- bzw ausschalten

46 52

In beiden Zeilen wird ein Wert eines Ports abgefragt Unterschiedlich ist dass in Zeile 46 der Status eines Ausgangs abgefragt wird (porta0) und in Zeile 52 der Zustand eines Eingangs (pina0) Die Anweisung IF porta0 = 0 THEN pruumlft (hier ist = ein Vergleich und KEINE Zuweisung) ob zuletzt die LED ausgeschaltet (Zuweisung porta0 = 0) wurde Die Anweisung IF pina1= 1 THEN liest den Status eines Eingangs Hier kann festgestellt werden ob der Eingang uumlber den internen Pull-UP-Widerstand auf +5V liegt (pina1 liefert 1) oder ob der Schalter den Eingang mit Masse (0V) verbindet (pina1 liefert 0)

Tab 14 Erlaumluterung des Mikrocontroller-Programmcodes fuumlr elementares RCL

70

In Bascom AVR eine neue Datei erzeugen (FileNew) den Programmcode ohne Kommenta-re eingeben und mit ProgramCompile (F7) eine Hexadezimaldatei erzeugen Die Hexadezi-maldatei mit dem AVR-Studio und dem AVR-ISP-Programmer in den Mikrocontroller schrei-ben (larr 222 Programmuumlbertragung) Nach dem Verbinden von Computer und Interface per Null-Modem-Kabel kann durch Eingabe von in das konfigurierte Hyperterminal die Befehls-liste in Abb 30 aufgerufen werden

Abb 30 Aufgerufene Befehlsliste im Hyperterminal

Durch Eingabe von LED on oder LED off kann die LED ein- und ausgeschaltet LED zeigt den Status der LED und sw den Status des Tasters an Alternativ zum Hyperterminal kann auch das Terminal in BASCOM unter ToolsTerminal Emulator verwendet werden (larr 422)

464 Ferngesteuertes RCL Zum Ansteuern des Interfaces und zum Bedienen des Versuchsaufbaus uumlber das Internet wird eine Webseite benoumltigt die dem Benutzer alle Bedienelemente des Experiments zur Verfuumlgung stellt

Der Benutzer benoumltigt anklickbare Buttons im Webbrowser

Der Webserver muss die Information welcher Button gedruumlckt wurde empfangen und ein entsprechendes Kommando uumlber die serielle Schnittstelle an das Interface senden

Beide Schritte sind im nachfolgenden PHPHTML-Quellcode zusammengefasst 01 ltDOCTYPE HTML PUBLIC -W3CDTD HTML 401 TransitionalEN httpwwww3orgTRhtml4loosedtdgt 02 lthtmlgt 03 ltheadgt 04 ltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1gt 05 lttitlegtelementares RCLlttitlegt 06 ltheadgt 07 08 ltbodygt 09 ltphp 10 if (isset($_POST[Kommando])) wurde bereits Kommando gesendet 11 if( ( $handle = fopen( COM1 w+ ) ) ) Schnittstelle oumlffnen 12

71

13 throw new Exception( Can not access serial port 2 ) ohne Erfolg 14 15 fwrite( $handle $_POST[Kommando] chr( 13 ) ) Befehl an Interface senden 16 switch ( $_POST[Kommando] ) Antwort von Interface auswerten 17 case LED $tmp = fgets( $handle ) Echo von Interface ignorieren 18 $antwort = fgets( $handle ) Antwort des Interfaces 19 echo Antwort $antwort Ausgabe auf Webseite 20 break switch verlassen 21 22 case SW $tmp = fgets( $handle ) Echo von Interface ignorieren 23 $antwort = fgets( $handle ) Antwort des Interfaces 24 echo Antwort $antwort Ausgabe auf Webseite 25 break switch verlassen 26 27 28 29 fclose( $handle ) Schnittstelle schlieszligen 30 31 else 32 `mode com1 BAUD=9600 PARITY=N data=8 stop=1 xon=off` Schnittstellenparameter setzen 33 34 35 gt 36 37 lth3gtBefehl sendenlth3gt 38 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 39 ltinput type=hidden name=Kommando value=LED ON gt 40 ltinput type=submit value=LED anschalten gt 41 ltformgt 42 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 43 ltinput type=hidden name=Kommando value=LED OFF gt 44 ltinput type=submit value=LED ausschalten gt 45 ltformgt 46 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 47 ltinput type=hidden name=Kommando value=LED gt 48 ltinput type=submit value=LED abfragen gt 49 ltformgt 50 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 51 ltinput type=hidden name=Kommando value=SW gt 52 ltinput type=submit value=Taster abfragen gt 53 ltformgt 54 ltbodygt 55 lthtmlgt Den Quellcode in den Texteditor kopieren und im Ordner htdocs von XAMPP z B unter rclphp speichern HTML-Dateien mit PHP-Code (Zeilen 9-35) muumlssen mit der Erweiterung php gespeichert werden damit der Apache Webserver zwischen HTML-Seiten mit und ohne PHP-Code unterscheiden kann Den installierten Apache Webserver starten (larr 452) und im Adressfeld des Webbrowsers die IP-Adresse http127001rclphp aufrufen Das Bedi-enfeld des elementaren RCLs in Abb 31 wird im Browserfenster angezeigt

72

Abb 31 Laborseite des elementaren RCLs

Im Bedienfeld kann die LED an- und ausgeschaltet sowie der Status von LED und Taster abgefragt werden

  • 0 Warum ein Tutorial zur RCL-Technik
  • 1 Technische Konzeption
    • 11 Einfuumlhrung
    • 12 Wahl der RCL-Technik
      • 2 Lokal gesteuertes RCL
        • 21 Interface
          • 211 Mikrocontroller
          • 212 Basisschaltung und Erweiterungsschaltungen
          • 213 Programmierung des Mikrocontrollers
            • 22 Hyperterminal
            • 23 Positionieren von Objekten
              • 231 Hybrid-Schrittmotoren
              • 232 Schrittmotorsteuerung und Positionierungsmechanik
                  • 3 Ferngesteuertes RCL
                    • 31 RCL-Server
                    • 32 Laborseite
                      • 321 Steuerung des RCLs uumlber das Bedienfeld
                      • 322 Videouumlbertragung im Webcamfeld
                        • 33 Standard-Lernumgebung
                          • 4 ANHANG
                            • 41 Interface in Basisschaltung
                              • 411 Schaltplan und Bauteilliste
                              • 412 Bestuumlckung der Platine
                                • 42 Erweiterungsschaltungen
                                  • 421 Uumlbersicht
                                  • 422 TMC222-Modul zur Schrittmotorsteuerung
                                    • 4221 Schaltplan und Bauteilliste
                                    • 4222 Bestuumlckung der Platine
                                    • 4223 Quellcode des Mikrocontroller-Programms
                                      • 423 Geschaltete Spannungsquellen und Verbraucher
                                      • 424 Steuerung von Gleichstrommotoren
                                        • 43 Quellcodes zum RCL Elektronenbeugung
                                          • 431 Mikrocontroller-Programmierung
                                          • 432 PHP-Programmierung
                                          • 433 Bedienfeld der Laborseite
                                          • 434 Webcamfeld der Laborseite
                                            • 44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung
                                              • 441 AVR-Studio 418
                                                • 4411 Installation
                                                • 4412 Konfiguration
                                                  • 442 BASCOM 11198 Demoversion
                                                    • 4421 Installation
                                                    • 4422 Konfiguration
                                                        • 45 Installation und Konfiguration von Programmen auf dem RCL-Server
                                                          • 451 Einrichten des Internet-Zugangs
                                                          • 452 Paket XAMPP 174
                                                          • 453 Videoserver webcamXP 5 Private
                                                          • 454 Terminalprogramm Hyperterminal
                                                          • 455 Fernwartungssoftware TeamViewer 6 Host
                                                            • 46 Selbstbau eines elementaren RCLs
                                                              • 461 Hard- und Software
                                                              • 462 Bestuumlckung der Platine
                                                              • 463 Lokal gesteuertes RCL
                                                              • 464 Ferngesteuertes RCL

2

INHALTSVERZEICHNIS

0 Warum ein Tutorial zur RCL-Technik 4

1 Technische Konzeption 4

11 Einfuumlhrung 4

12 Wahl der RCL-Technik 8

2 Lokal gesteuertes RCL 13

21 Interface 13 211 Mikrocontroller 13 212 Basisschaltung und Erweiterungsschaltungen 15 213 Programmierung des Mikrocontrollers 17

22 Hyperterminal20

23 Positionieren von Objekten 21 231 Hybrid-Schrittmotoren 21 232 Schrittmotorsteuerung und Positionierungsmechanik 24

3 Ferngesteuertes RCL 26

31 RCL-Server 26

32 Laborseite 28 321 Steuerung des RCLs uumlber das Bedienfeld 28 322 Videouumlbertragung im Webcamfeld 30

33 Standard-Lernumgebung 31

4 ANHANG 33

41 Interface in Basisschaltung 34 411 Schaltplan und Bauteilliste 34 412 Bestuumlckung der Platine 35

42 Erweiterungsschaltungen 39 421 Uumlbersicht 39

3

422 TMC222-Modul zur Schrittmotorsteuerung 41 4221 Schaltplan und Bauteilliste 41 4222 Bestuumlckung der Platine 41 4223 Quellcode des Mikrocontroller-Programms 42 423 Geschaltete Spannungsquellen und Verbraucher 43 424 Steuerung von Gleichstrommotoren 43

43 Quellcodes zum RCL Elektronenbeugung 45 431 Mikrocontroller-Programmierung 45 432 PHP-Programmierung 49 433 Bedienfeld der Laborseite 51 434 Webcamfeld der Laborseite 52

44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung 53 441 AVR-Studio 418 53 4411 Installation 53 4412 Konfiguration 54 442 BASCOM 11198 Demoversion 55 4421 Installation 55 4422 Konfiguration 57

45 Installation und Konfiguration von Programmen auf dem RCL-Server 57 451 Einrichten des Internet-Zugangs 58 452 Paket XAMPP 174 58 453 Videoserver webcamXP 5 Private 60 454 Terminalprogramm Hyperterminal 62 455 Fernwartungssoftware TeamViewer 6 Host 65

46 Selbstbau eines elementaren RCLs 67 461 Hard- und Software 67 462 Bestuumlckung der Platine 67 463 Lokal gesteuertes RCL 68 464 Ferngesteuertes RCL 70

4

0 Warum ein Tutorial zur RCL-Technik Dieses Tutorial zur Technik von RCLs des RCL-Portals ist eine uumlberarbeitete und ergaumlnzte Fassung eines ersten Tutorials1 aus 2006 Gruumlnde ein Tutorial zur RCL-Technik anzubieten sind

Am Selbstbau von RCLs interessierten Schuumllern Studierende Dozenten und Lehrkraumlften soll das Tutorial einen Einstieg in die RCL-Technik bieten Insbesondere soll Staatsexa-menskandidaten in Physik die ein RCL entwickeln wollen die Einarbeitungszeit in die Technik der RCLs des RCL-Portals verkuumlrzt werden In muumlndlicher Form ist Technik nur schwer vermittelbar

Der Umfang an technischen Faumlhigkeiten (Programmierung in HTMLPHP und einer weite-ren Programmiersprache Elektronikkenntnisse zu Mikrocontrollern Sensoren und Akto-ren) und Fertigkeiten (Bestuumlckung der Platine des Interface mechanischer Aufbau eines RCLs) zur Realisation eines RCLs ist groszlig Zu wenige RCL-Interessierte verfuumlgen uumlber al-le Faumlhigkeiten und Fertigkeiten Das Tutorial soll dazu anregen sich die notwendigen technischen Faumlhigkeiten anzueignen

Das Tutorial fuumlhrt in die technische Konzeption der RCLs des RCL-Portals ein und die Wahl der RCL-Technik wird begruumlndet In zwei Schritten Lokal gesteuertes RCL (rarr 2) und Ferngesteuertes RCL (rarr 3) wird die Realisation eines RCLs am Beispiel des RCLs Elekt-ronenbeugung beschrieben Wer selbst ein eigenes elementares und kostenguumlnstiges RCL ohne physikalische Geraumlte bauen moumlchte findet dazu im Anhang eine in den gleichen zwei Schritten strukturierte Anleitung (rarr 46) Der Anhang enthaumllt weitere Anleitungen und ergaumln-zende Informationen An den entsprechenden Stellen des Tutorials wird darauf verwiesen

1 Technische Konzeption 11 Einfuumlhrung Abb 1 veranschaulicht das Prinzip von RCLs

Abb 1 Prinzip von RCLs

1 Vgl Tutorial Selbstbau eines RCLs

5

Ein Besucher an einem quasi beliebigen Ort A kann uumlber das Internet mit einem Experiment an einem quasi beliebigen Ort B experimentieren Dazu stellt ein RCL-Server auf dem Com-puter des Besuchers eine Webseite bereit von der aus der Besucher das Experiment uumlber Aktoren fernsteuern und uumlber Sensoren Fernmessungen durchfuumlhren kann Den Datenaus-tausch zwischen RCL-Server und Experiment und die Steuerung des Experiments uumlber-nimmt ein Interface Per Webcam erhaumllt der Besucher auf der Webseite visuelle Ruumlckmel-dungen zu durchgefuumlhrten Aktionen und Veraumlnderungen im Experiment

Am Beispiel des RCLs Elektronenbeugung wird in die technische Konzeption der RCLs des RCL-Portals eingefuumlhrt Abb 2 zeigt den prinzipiellen Aufbau eines RCLs aus RCL-Server Interface und Experiment

Abb 2 Aufbau eines RCLs am Beispiel des RCLs Elektronenbeugung

Das Experiment Elektronenbeugung ist ein Standardversuch mit Hochspannungsnetzgeraumlt2 und Elektronenbeugungsroumlhre3 Eine Webcam Interface und RCL-Server erweitern den Versuch zum RCL Die nummerierten Kabelverbindungen in Abb 2 haben folgende Funktio-nen Kommunikation zwischen RCL-Server und Interface uumlber serielle Schnittstellen (1) 12 V-Spannungsversorgung des Interface vom Steckernetzteil (2) geschaltete Netzspannung des Hochspannungsnetzgeraumlts (3) Steuerung der Ausgangsspannung des Hochspan-nungsnetzgeraumlts bzw der Beschleunigungsspannung uumlber das Interface (4) Heizspannung fuumlr Gluumlhkathode der Elektronenkanone (5) Beschleunigungsspannung fuumlr die Elektronenka-none (6) USB-Anschluss der Webcam am RCL-Server (7) und Internetanschluss des RCL-Servers (8) Um ohne stoumlrendes Fremdlicht mit der Webcam das Beugungsmuster auf dem Szintillationsschirm beobachten zu koumlnnen befindet sich das gesamte Experiment im Betrieb unter einem Verdunklungskasten

2 Vgl LD Didactic Hochspannungsnetzgeraumlt 10 kV 3 Vgl LD Didactic Elektronenbeugungsroumlhre

6

Das RCL Elektronenbeugung kann auf dem RCL-Portal nach der Wahl des Menuumlpunkts RCLs aufgerufen werden Die Wahl des Menuumlpunkts Labor aus der Standard-Lernumgebung ruft die Laborseite des RCLs in Abb 3 auf

Abb 3 Laborseite des RCLs Elektronenbeugung in einem Webbrowser

Im Bedienfeld kann die Gluumlhkathode der Elektronenkanone mit dem Button Elektronenroumlhre einschalten eingeschaltet werden Durch Eingabe von Werten zwischen 0 und 43 kV kann eine variable Beschleunigungsspannung an die Elektronenkanone angelegt das auf dem Szintillationsschirm entstehende Beugungsmuster im Webcamfeld beobachtet und mit dem Button Screenshot das Webcambild auf dem Computer gespeichert werden

Die Realisation eines RCLs erfolgt in zwei Schritten Als lokal gesteuertes RCL kann das Ex-periment ohne Internetzugang vom RCL-Server aus gesteuert werden als ferngesteuertes RCL kann mit dem RCL zusaumltzlich weltweit uumlber das Internet experimentiert werden Abb 4 zeigt dazu das Blockdiagramm der fuumlr alle RCLs einheitlichen Funktionsgruppen von RCL-Server Interface und Experiment Pfeile zwischen den Funktionsgruppen geben Kommuni-kations- oder Abhaumlngigkeitsrichtungen an

7

Abb 4 Funktionsgruppen von RCL-Server Interface und Experiment eines RCLs

Lokal gesteuertes RCL Damit das Experiment fernbedienbar wird muss der Versuchsaufbau mit Sensoren (z B fuumlr Temperatur) Aktoren (z B Schrittmotor) oder anderen gesteuerten Geraumlten (z B Hochspannungsnetzgeraumlt in Abb 2) ausgestattet werden Das Interface besteht aus einer fuumlr alle RCLs identischen Basisschaltung und aus RCL-spezifischen Erweiterungsschal-tungen (rarr 212) fuumlr die Sensoren Aktoren und gesteuerten Geraumlte Wichtigster elektronischer Baustein der Basisschaltung ist ein programmierbarer Mikro-controller (rarr 211) zur Steuerung des Experiments Fuumlr die Programmentwicklung wird eine Entwicklungsumgebung auf dem RCL-Server oder alternativ auf anderen Computern verwendet (rarr 213) Die Programmuumlbertragung vom RCL-Server auf den Mikrocontroller erfolgt uumlber einen USB-ISP-Programmer und die ISP-Schnittstelle des Mikrocontrollers (rarr 213) Danach werden die in Abb 4 gestrichelt dargestellten Funktionsgruppen und Verbindungen nicht weiter benoumltigt und das RCL kann lokal uumlber ein Terminal (rarr 22) ge-steuert werden werden

Ferngesteuertes RCL Um auf das RCL weltweit zugreifen zu koumlnnen wird auf dem RCL-Server ein Webserver installiert und ein Internetzugang benoumltigt (rarr 31) Befehle von der Laborseite wie z B Parametereingaben werden von einem PHP-Programm interpretiert und uumlber die RS232-Schnittstelle (alternativ uumlber USB-Seriell-Adapter) des RCL-Servers an die RS232-Schnittstelle des Mikrocontrollers zur Ausfuumlhrung an das Experiment uumlbermittelt In umge-kehrter Richtung werden uumlber das PHP-Programm vom Mikrocontroller Zustaumlnde des Ex-periments oder Messergebnisse an die Laborseite uumlbermittelt (rarr 321) Zur Uumlbertragung von Videobildern einer oder mehrerer Webcams die visuelle Ruumlckmeldungen uumlber den Zustand des Experiments geben wird ein Videoserver eingesetzt (rarr 322) Der RCL-Server stellt Besuchern auszliger der dynamisch generierten Laborseite auch die statischen Webseiten der Standard-Lernumgebung (larr 11 Abb 2) des RCLs bereit (rarr 33)

8

12 Wahl der RCL-Technik Es existiert eine nur schwer im Detail zu uumlberblickende und zu beherrschende Vielzahl von Hard- und Softwaretechnologien (Interfaces und Programmiersprachen) um ein Experiment uumlber das Internet fernbedienbar zu machen Im Folgenden wird die Wahl der Technik von RCLs des RCL-Portals begruumlndet

Interface Zu Beginn des RCL-Projekts war es naheliegend auf vorhandene technische Loumlsungen zum Interface zuruumlckzugreifen Das RCL Elektronenbeugung wurde zunaumlchst mit dem Power-Cassy4 und dem Sensor-Cassy5 von Leybold zur Steuerung und Messung der Be-schleunigungsspannung betrieben Der heutige Preis fuumlr beide Komponenten zusammen liegt bei ungefaumlhr 1700 euro Ein Datenaustausch zwischen dem RCL-Server und dem Sen-sor-Cassy wurde uumlber das Common Gate Interface (CGI) realisiert Bei den nicht mehr existierenden Versionen der RCLs Beugung und Interferenz und Computertomographie wurde das Intelligent Interface6 von Fischertechnik eingesetzt Fuumlr 130 euro wurden 4 umpolbare kurzschlussfeste digitale Ausgaumlnge mit 025 A Dauerbelast-barkeit fuumlr Gleichstrommotoren Elektromagneten oder Lampen geboten Digitale Senso-ren wie z B Taster konnten an 8 digitale Eingaumlnge angeschlossen werden Fuumlr Potenti-ometer Temperatur- oder Helligkeitssensoren mit variablem Widerstand als Ausgangs-groumlszlige waren 2 analoge Eingaumlnge mit Eingangswiderstand zwischen 0 und 5 kΩ und einer Abtastrate von 50 Hz verfuumlgbar Programmiert werden konnte das Interface mit C++ Vi-sual Basic oder als Einstieg in die Technik des Programmierens mit der graphisch orien-tierten Programmiersprache LLWin Ein nutzerspezifisches im RAM des Interface gespei-chertes Programm ging ohne Spannungsversorgung verloren Die Nachteile dieser Interfaces wie zu hohe Kosten zu geringe Flexibilitaumlt beim Anschluss von Sensoren und Aktoren - insbesondere von Schrittmotoren - und zu geringe Messraten wurden erst durch das programmierbare Eigenbau-Interface (rarr 21) fuumlr ungefaumlhr 50 euro (rarr 41) und eine modular gestaltete an das jeweilige RCL anzupassende PHP-Basisprogrammierung (rarr 432) geloumlst Zur Programmierung des Interface wird ein USB-ISP-Programmer fuumlr ungefaumlhr 30 euro benoumltigt

Software fuumlr RCL-Server Mikrocontroller und Standard-Lernumgebung Tab 1 enthaumllt eine Uumlbersicht der Programme fuumlr den RCL-Server und einem weiteren Computer Die Links fuumlhren auf die Webseite zum Download des Programms und Preise sind angegeben Auf Installation und Konfiguration von Programmen wird in den einzel-nen Abschnitten des Tutorials eingegangen

4 Vgl LD Didactic Power-Cassy 5 Vgl LD Didactic Sensor-Cassy 6 Vgl Fischertechnik Intelligent Interface nicht mehr lieferbare Art-Nr 30402 bei Knobloch GmbH

9

Typ Hersteller Name und Version Preis

RC

L-Se

rver

Betriebssystem und Terminal

Microsoft Windows XP Professional mit Service Pack 3 Microsoft Hyperterminal in Windows XP Professional unter

StartProgrammeKommunikationHyperterminal asymp 20 euro

Webserver und PHP Apache Friends XAMPP 174 fuumlr Windows Installer-Version The PHP Group PHP 531 (enthalten in XAMPP 174)

-

Videoserver Moonware Studios webcamXP 5 Free (eine Videoquelle) Moonware Studios webcamXP 5 Private (bis zu 5 Videoquellen)

- 4495 euro

RCL-Software Technische Universitaumlt Kaiserslautern RCL-Ordner htdocs -

Fernwartung- und Desktop-Sharing TeamViewer GmbH TeamViewer 6 Vollversion -

Virenscanner Avira AntiVir Personal Webeditor Notepad++ team Notepad++ 59 -

Com

pute

r

Entwicklungsumgebungen fuumlr Mikrocontroller ATmega16

ATMEL AVR-Studio 418 - Sourceforge WinAVR - MCS Electronics BASCOM-AVR Demoversion (maximal 4 kB

Programmcode) MCS Electronics BASCOM-AVR Vollversion

-

89 euro MikroElektronika MikroPascal Pro for AVR asymp 140 euro

Webeditor Notepad++ team Notepad++ 59 Adobe Dreamweaver CS557

- asymp 115 euro

Fernwartung- und Desktop-Sharing TeamViewer GmbH Teamviewer 6 Vollversion -

Tab 1 Programme fuumlr den RCL-Server und fuumlr weiteren Computer zur Prgrammie-rung des Mikrocontrollers Webseitenerstellung und Fernwartung ( optio-nale Programme Links fuumlhren auf Webseite zum Download Stand Juni 2011)

Fuumlr den RCL-Server wird als stabiles Betriebssystem Windows XP Professional einge-setzt Microsoft vertreibt seit Dezember 2008 Windows XP nicht mehr Sicherheitspatches werden noch bis April 2014 bereitgestellt ein Bezug ist z B uumlber Ebay8 moumlglich Das Hy-perterminal-Programm zur Kommunikation mit dem Interface ist Teil von Windows XP Professional Vom Open-Source-Paket XAMPP wird der Apache Webserver und der PHP-Interpreter eingesetzt Da in der Regel bei RCLs zwei Webcambilder uumlber das Inter-net uumlbertragen werden muumlssen ist der Videoserver webcamXP 5 nicht kostenlos Im RCL-Ordner htdocs befindet sich die Basissoftware die noch an das zu realisierende RCL anzupassen ist Ein kostenloser Virenscanner wie z B Antivir Personal ist erfahrungsge-maumlszlig ausreichend Als Fernwartungssoftware fuumlr den RCL-Server wird Teamviewer emp-fohlen Es genuumlgt der Teamviewer Host weil vom RCL-Server kein Remote-Zugriff auf den Computer erfolgen muss Fuumlr kleinere Arbeiten an der RCL-Software oder der Stan-dard-Lernumgebung waumlhrend der Fernwartung sollte ein kostenloser Webeditor wie z B Notepad++ installiert werden Auf einem weiteren Computer kann zur Programmierung des Mikrocontroller eine Ent-wicklungsumgebung fuumlr folgende Programmiersprachen installiert werden Mit dem AVR-Studio kann in Assembler und nach der Installation von WinAVR in C bzw C++ program-miert werden Fuumlr Einsteiger wird eine Programmierung in Basic mit BASCOM-AVR emp-fohlen Falls der Programmcode groumlszliger als 4 kB ist muss die Vollversion erworben wer-

7 Vgl Adobe Dreamweaver CS55 8 Vgl Ebay Windows XP Professional

10

den Eine Programmierung in Pascal ist fuumlr ungefaumlhr 140 euro mit dem Pascal-Compiler von MikroElektronika moumlglich Mit Notepad++ steht ein kostenloser und guter Webeditor zum Erweitern der PHP-Basissoftware und zum Erstellen von Webseiten der Standard-Lernumgebung bereit Als professionellerer Editor kann z B Dreamweaver verwendet werden Fuumlr die Fernwartung des RCL-Servers muss auf dem zugreifenden Computer die Vollversion von Teamviewer installiert werden

Die gewaumlhlte Hard- und Software fuumlr RCLs bietet folgende Vorteile

Geringe Hard- und Softwarekosten Interface mit Erweiterungsschaltungen (asymp 70 euro) USB-ISP-Programmer (asymp 30 euro) AVR-Studio zur Programmierung in C (0 euro) Betriebssystem Windows XP Professional (asymp 20 euro) webcamXP 5 fuumlr ein Webcambild (0 euro) koumlnnen zusammen fuumlr 120 euro erworben werden Mit einem nicht mehr benoumltigtem aumllteren Computer Tastatur und Maus (0 euro) einem ausge-dientem Monitor (0 euro) einer einfachen USB-Webcam (asymp 20 euro) und der Positionierungsme-chanik eines nicht mehr benoumltigten aumllteren Scanners (0 euro) kann ein RCL schon ab 140 euro realisiert werden

Einfache Adaptierbarkeit des Interface und der PHP-Basissoftware an das Experiment Der Mikrocontroller des Interface kann frei programmiert werden Mit der Aufteilung der Schaltung des Interface in eine fuumlr alle RCLs gleiche Basisschaltung und RCL-spezifische Erweiterungsschaltungen (rarr 212) ist das Interface leicht an das Experiment anpassbar Durch die im Mikrocontroller integrierten Peripheriebausteine genuumlgen meist wenige Bau-elemente und die unterschiedlichsten Mess- und Steuergroumlszligen koumlnnen verarbeitet wer-den Die PHP-Basissoftware braucht nur um wenige Programmbloumlcke erweitert zu wer-den

Einfacher Zugang zu Ressourcen der RCL-Technik Die weite Verbreitung des Mikrocontrollers ATmega16 im Hobbybereich korrespondiert mit einem umfangreichen kostenlosen Informationsmaterial zur Hardware und Software des Mikrocontrollers im Internet In Tab 2 sind unter Mikrocontroller Links zu Datenblaumlt-tern Portalen und Foren mit praxisnahen Loumlsungen fuumlr Probleme der Mikrocontroller-Programmierung zusammengestellt Ein staumlrker strukturiertes Erlernen der Funktionen und Programmierung von AVR-Mikrocontrollern ist uumlber die genannten Tutorials im Inter-net und Buumlcher moumlglich

11

Ressource Kurzbeschreibung

Mik

roco

ntro

ller

Mikrocontroller mega16A Mikrocontroller ATmega16A Summary

Ausfuumlhrliches und zusammenfassendes Datenblatt des Mikrocon-trollers ATmega16

wwwmicrocontrollernet Portal fuumlr Mikrocontroller RoboterNETZ Portal fuumlr Robotik Mikrocontroller und Elektronik AVR-Tutorial Tutorial zur AVR-Familie auf microcontrollernet BASCOM-AVR Online-Hilfe zur Entwicklungsumgebung BASCOM-AVR myAVR Mikrocontrollerloumlsungen fuumlr Ausbildung und Selbststudium BASCOM-Forum Forum von MCS BASCOM RoboterNETZ-Forum Forum von RoboterNETZ myAVR-Forum Forum von myAVR AVR-Forum Forum von Atmel Roland Walter AVR Mikrocontroller Lehr-buch Buch zur Programmierung von AVR-Mikrocontrollern mit Basic

Guumlnter Schmitt Mikrocomputertechnik mit Controllern der Atmel AVR-RISC-Familie

Buch zur Programmierung von AVR-Mikrocontrollern in Assemb-ler und C

Claus Kuumlhnel Programmierung der AVR RISC Mikrocontroller mit BASCOM-AVR

Buch zur Programmierung von AVR-Mikrocontrollern in BAS-COM-AVR (Basic)

Frank Sichla Schaltungssammlung Mikro-controller und USB

Buch mit praktischen Anwendungsschaltungen und Einsatzmoumlg-lichkeiten von Mikrocontrollern

HTM

LPH

P

SELFHTML Portal zum Erstellen von Webseiten mit HTML SELTPHP Portal zum Programmieren von Webseiten mit PHP PHP Entwicklerseite von PHP Kleines Tutorial PHP-Tutorial PHP-Handbuch PHP-Handbuch

Elek

tron

ik

reichelt elektronik Elektronikversand Conrad Elektronikversand ELV Elektronik Elektronikversand Datasheet Catalogcom Datenbank fuumlr Datenblaumltter elektronischer Bauelemente Datasheet Archive Datenbank fuumlr Datenblaumltter elektronischer Bauelemente Pegelwandler Max232 fuumlr serielle Schnitt-stelle Datenblatt des ICs Max232 von Texas Instruments

Spannungsregler L7805 Datenblatt des ICs L7805 von STMicroelectronics Schrittmotormodul TMC222 Datenblatt des ICs TMC222 von Trinamic

Schr

ittm

otor

en

Minebea Hybrid Stepping Motors Datenblaumltter von 12 Hybrid-Schrittmotoren Trinamic Stepper Motors Datenblaumltter und Bezugsquellen von 6 Hybrid-Schrittmotoren reichelt elektronik Groszliges Angebot an Schrittmotoren Quality Motors Auf TMC-Module und -ICs abgestimmte Schrittmotoren Nanotec Schrittmotor-Animation Animation von unipolarem und bipolarem Schrittmotor

Nanotec Glossar Glossar mit Erklaumlrungen zu wichtigen Begriffen aus der Schrittmo-tor-Antriebstechnik

Erich Rummich Elektrische Schrittmoto-ren und -antriebe- Funktionsprinzip- Be-triebseigenschaften - Messtechnik

Buch zum Erwerb von Kenntnissen zum Aufbau und zur Funkti-onsweise von Schrittmotoren

Tab 2 Ressourcen zur Realisation eines RCLs

Die seit 1996 zunehmende Bedeutung der kostenlosen Skriptsprache PHP und das Wachstum des Internets korrespondieren mit einer Zunahme an kostenlosem Informati-onsmaterial zur PHPHTML-Programmierung Neben den unter PHPHTML in Tab 2 ge-nannten Ressourcen sind wegen des groszligen Marktes keine Buumlcher zu PHP genannt Die teuren und schnell veraltenden Buumlcher sollten in Bibliotheken geliehen werden Unter Elektronik sind in Tab 2 Links zum Versandhandel elektronischer Bauelemente zu Datenbanken mit Datenblaumlttern elektronischer Bauelemente und zu Datenblaumlttern der wichtigsten ICs des Interface zu finden Unter Schrittmotoren sind Links zu Schrittmotoren

12

wichtiger Anbieter zusammengestellt die uumlber den Elektronikhandel leicht bezogen wer-den koumlnnen Das Buch von Erich Rummich erklaumlrt Zusammenhaumlnge zwischen Bauform und Funktionsweise von Schrittmotoren die uumlber Informationen zu Schrittmotoren im Tu-torial (rarr 231) gegebenen Informationen hinausgehen

Programmierung des Mikrocontrollers in Basic Besonders die Moumlglichkeit der Programmierung des Mikrocontrollers in der Hochsprache Basic (larr 12 Tab 1 Bascom AVR) erleichtert den Einstieg in den Selbstbau von RCLs Daruumlber hinaus besteht analog zur PHP-Programmierung die Mikrocontroller-Programmierung aus einer an das jeweilige RCL lediglich anzupassenden Basispro-grammierung (rarr 431)

Betriebssystemunabhaumlngigkeit Das Interface kommt ohne betriebssystemspezische Treiber aus PHP und HTML sind be-triebsystemunabhaumlngige Sprachen Der Apache Webserver XAMPP ist auszliger fuumlr Windows fuumlr die Betriebssysteme Linux Mac OS X und Solaris9 erhaumlltlich

Wartung von Programmierung und Interface Aumlnderungen der PHPHTML-Programmierung koumlnnen leicht uumlber einen Fernzugriff auf den RCL-Server vorgenommen werden Da der PHPHTML-Quellcode im RCL-Betrieb stets in einer lauffaumlhigen Form vorliegt fuumlhren Wechsel von Personen die Zugriff auf die Programmierung haben nicht zu Ausfaumlllen des RCLs Aumlnderungen und Reparaturen an den Ergaumlnzungsschaltungen des Interface koumlnnen aufgrund des Lochrasteranteils der Platine (rarr 412) leicht durchgefuumlhrt werden

Zerstoumlrungssichere Versuchskomponenten Versuchskomponenten sind durch die Programmierung des Mikrocontrollers vor Fehlbe-dienungen des RCLs geschuumltzt Da der Mikrocontroller die Zulaumlssigkeit von Parameter-werten uumlberwacht ist kein Missbrauch des Experiments durch Dritte moumlglich Abstuumlrze des RCL-Servers fuumlhren nicht zu undefinierten Zustaumlnden des Experiments weil der Mik-rocontroller das Experiment steuert In der Lebensdauer staumlrker begrenzte Versuchskom-ponenten wie z B die Elektronenbeugungsroumlhre beim RCL Elektronenbeugung (larr 11 Abb 2) koumlnnen durch eine programmierte Standby-Funktion des Mikrocontrollers bei Nichtgebrauch ausgeschaltet werden

Keine Installation von Zusatzsoftware Besucher benoumltigen zum Experimentieren mit RCLs lediglich einen kostenlos verfuumlgbaren Webbrowser wie z B die auf Funktionsfaumlhigkeit fuumlr die RCLs getesteten Internet Explo-rer Opera Firefox Safari oder Konquerer mit aktivierter Javaskript-Funktion Es muss keine weitere Zusatzsoftware installiert werden

Eine alternative technische Loumlsung fuumlr RCLs ist LabVIEW (Laboratory Virtual Instrument En-gineering Workbench) von National Instruments (NI)10 LabVIEW ist eine sehr umfangreiche

9 Apache friends XAMPP

13

mittlerweile als Industriestandard geltende grafische Programmierumgebung zum Messen Steuern und Regeln von Systemen Uumlber umfangreiche Treiber-Bibliotheken lassen sich fast alle gaumlngigen mit einer entsprechenden Schnittstelle ausgestatteten Geraumlte in LabVIEW ein-binden LabVIEW wurde als technische Loumlsung im RCL-Projekt aus mehreren Gruumlnden nicht eingesetzt

Besucher muumlssen einmalig vor dem Experimentieren mit RCLs die LabVIEW Run-Time Engine11 installieren

Es existieren nur wenige Schulgeraumlte mit den erforderlichen Schnittstellen

Die Kosten von ungefaumlhr 1300 euro fuumlr die Basisversion und ungefaumlhr 2800 euro fuumlr die Vollver-sion sind zu hoch

LabVIEW ist fuumlr die zu entwickelnden RCLs bzw die Zielgruppe aus Schuumllern und Studie-rende uumlberdimensioniert Der Nachbau von RCLs durch interessierte Schuumller und Studie-rende waumlre aus Kosten und Anforderungsgruumlnden nur schwer moumlglich

Trotz der graphischen Programmieroberflaumlche von LabVIEW muumlssen im Programmcode immer noch Anpassungen in der speziell fuumlr LabVIEW entwickelten Programmiersprache G vorgenommen werden

Die Einarbeitung in LabVIEW ist vom Zeitaufwand und den Anforderungen her mindes-tens genauso hoch wie die fuumlr Mikrocontroller- und PHP-Programmierung

Eine mit fertigen LabVIEW-Elementen gestaltete Laborseite ist nicht unbedingt nutzer-freundlicher als eine mit PHPHTML erstellte Laborseite

2 Lokal gesteuertes RCL 21 Interface 211 Mikrocontroller Zentrales Bauelement des Interface ist ein ATMEL AVR 8-bit RISC Mikrocontroller ATme-ga16 Dieser enthaumllt im Vergleich zu einem Mikroprozessor auszliger dem Prozessor auch peri-phere Module wie z B Speicher digitale und analoge Ein- und Ausgaumlnge oder Timer fuumlr Zu-satzfunktionen Dadurch kommen Anwendungen von Mikrocontrollern wie z B RCLs meist mit wenigen zusaumltzlichen Bauelementen aus Tab 3 enthaumllt eine Uumlbersicht der wichtigsten Features des Mikrocontrollers zum Prozessor zur Programmierung und Datenspeicherung zu peripheren Modulen und erlaumlutert einige Fachbegriffe

10 Vgl National Instruments 11 Vgl National Instruments LabVIEW Run-Time Engine

14

Feature Erlaumluterung

Proz

esso

r

ATMEL AVR 8 bit RISC Mik-rocontroller ATmega16

ATMEL US-amerikanischer Hersteller von Mikrocontrollern AVR Familie von Mikrocontrollern 8 bit Breite des internen Datenbusses des Mikrocontrollers RISC steht fuumlr Reduced Instruction Set Computer (Rechner mit reduziertem Befehls-

satz) Designphilosophie von Mikrocontrollern mit Befehlssatz aus moumlglichst einfa-chen Befehlen und houmlherer Effizienz des Prozessors

ATmega Eine der Mikrocontroller-Serien von ATMEL 16 steht fuumlr 16 kB Flash-ROM Groumlszlige des Programmspeichers des Mikrocontrollers

131 Befehle mit 1-2 Taktzyk-lenBefehl

Die ATmega-Serie besitzt unter den Mikrocontroller-Serien von ATMEL den groumlszligten Befehlssatz Die meisten Befehle benoumltigen zur Ausfuumlhrung nur einen Taktzyklus

Variabel waumlhlbare Taktfre-quenzen bis zu 16 MHz

Ein externer Schwingquarz legt die Schwingungsfrequenz einer Oszillatorschaltung und damit die Taktfrequenz des Mikrocontrollers fest

Prog

ram

mie

rung

und

Dat

ensp

eich

erun

g

ISP uumlber SPI-Bus in 16 kB Flash-ROM Programm-Speicher

ISP steht fuumlr In System Programming Der Mikrocontroller kann ohne aus der Schal-tung entfernt zu werden programmiert werden Es wird kein teures Programmierge-raumlt sondern nur ein Programmieradapter benoumltigt

SPI steht fuumlr Serial Peripheral Interface (Serielles Peripheres Interface) Nach dem Master-Slave-Prinzip arbeitender synchroner serieller Datenbus zur Kommunikation zwischen digitalen Schaltungen

Flash-ROM Kann zur Speicherung des Programmcodes ca 1000-mal neu be-schriebengeloumlscht - geflashed - werden aber beliebig oft gelesen werden Daten bleiben auch ohne Versorgungsspannung erhalten

512 B EEPROM 1 kB internes SRAM

EEPROM steht fuumlr Electrically Erasable Programmable Read Only Memory (Elektrisch loumlschbarer und programmierbarer Nur-Lese-Speicher) Nichtfluumlchtiger Speicher der beliebig oft gelesen und mindestens 100000 mal beschrieben werden kann Kann z B zum Speichern von Messwerten und Konfigurationsdaten verwen-det und uumlber ISP programmiert werden

SRAM steht fuumlr Static Random Access Memory Fluumlchtiger Speicher der beliebig oft gelesen und beschrieben werden kann Wird z B zur Speicherung von Variablen und des Stacks verwendet

Perip

here

Mod

ule

32 programmierbare Ein- und Ausgaumlnge

Der Mikrocontroller ist 40-polig Davon koumlnnen 32 Pole entweder als Ein- oder Aus-gang programmiert werden

Zwei 8-bit- und ein 16-bit-Timer mit Vorteilern und Ver-gleichs-Modus

Die vom Quarzoszillator gesteuerten Timer erlauben z B praumlzise Zeitmessungen oder Interrupts bei bestimmten Zaumlhlerstaumlnden Die maximalen Zaumlhlerstaumlnde sind bei 8 bit 255 und bei 16 bit 1023 Vorteiler erlauben eine Verringerung der Zaumlhlrate

Programmierbare USART USART steht fuumlr Universal SynchronousAsynchronous Receiver Transmitter Seriel-

le Schnittstelle die zur Datenuumlbertragung zwischen Mikrocontroller und Computer benutzt wird

I2C Interface

I2C ist ein synchroner serieller Zweidraht-Bus mit einer Daten- und einer Taktleitung zur Kommunikation zwischen ICs Nach dem Master-Slave-Prinzip kann ein Master bis zu 128 Slaves ansprechen Die Uumlbertragungsrate liegt im Standard-Mode bei 100 kbits

Externe und interne Interrupts

Interrupts unterbrechen das Hauptprogramm des Mikrocontrollers um kurzfristige und zeitkritische Verarbeitungen durchzufuumlhren Externe Interrupts werden durch am Mikrocontroller angeschlossene Hardware gesteuert interne Interrupts durch die Programmierung des Mikrocontrollers

4 PWM-Ausgaumlnge PWM steht fuumlr Pulse Width Modulation (Pulsweitenmodulation) Timer stellen an 4

Ausgaumlngen Rechteckimpulse der Dauer t und Unterbrechungsdauer T-t mit variab-lem Tastverhaumlltnis tT zur Verfuumlgung

8 10-bit ADC

ADC steht fuumlr Analog to Digital Converter (AD-Wandler) Integrierte Schaltung die analoge Eingangsspannung Ue in digitale Ausgangsspannung (Zahl) umwandelt

10-bit Aufloumlsungsvermoumlgen des AD-Wandlers Kleinster aufloumlsbarer Spannungsun-terschied ist (Uemax - Uemin)210

Tab 3 Features des Mikrocontrollers ATmega16

15

212 Basisschaltung und Erweiterungsschaltungen Abb 5 zeigt am Beispiel des RCLs Elektronenbeugung die Platine des Interface mit den Funktionsgruppen 1 - 5 der Basisschaltung und den Funktionsgruppen 6 und 7 der Erweite-rungsschaltungen (larr 11 Abb 4)

Abb 5 Platine des Interface des RCLs Elektronenbeugung

Abb 6 zeigt den dazugehoumlrigen Schaltplan mit den Nummern der Funktionsgruppen und die Pinbelegung des Mikrocontrollers ATmega16

Abb 6 Schaltplan des Interface des RCLs Elektronenbeugung (links) und Pinbelegung

des Mikrocontrollers ATmega16 (rechts)

16

Basisschaltung Die Spannungsversorgung (1) des Interface erfolgt uumlber ein Universal-Steckernetzteil mit der Betriebsspannung Ub = 12 V Eine Diode SB140 schuumltzt die Elektronik des Interface vor falscher Polung der Spannungsversorgung Der Spannungsregler L7805 wandelt die Betriebsspannung am Hohlstecker in eine Gleichspannung von 5 V fuumlr die Spannungs-versorgung der elektronischen Bauelemente des Interface um Die Betriebsspannung kann im Interface auch direkt zur Ansteuerung von Relais oder zur Spannungsversorgung kleinerer Motoren verwendet werden Bei Bedarf kann unter Beachtung der Kuumlhlung des L7805 das Interface mit houmlheren Betriebsspannungen z B fuumlr staumlrkere Schrittmotoren betrieben werden Die nicht hinreichend stabile und temperaturabhaumlngige Frequenz des internen RC-Oszillators im Mikrocontroller (2) kann bei Verwendung der USART zu Problemen fuumlhren Daher wird ein externer 110592 MHz Schwingquarz (3) eingesetzt Der IC MAX232 ist ein Pegelwandler der die 0V+5 V-Signale der seriellen Schnittstelle (4) des Mikrocontrol-lers an die plusmn12 V-Signale der seriellen Schnittstelle des Computers anpasst Uumlber den ISP-Stecker kann der Mikrocontroller programmiert werden (5) Das Interface in der Ba-sisschaltung kann im Selbstbau angefertigt werden (rarr 41)

Erweiterungsschaltungen Nur die wenigsten Aktoren Sensoren gesteuerte Geraumlte und Bauelemente eines RCLs lassen sich direkt vom Mikrocontroller ansteuern Beim RCL Elektronenbeugung wird die Heizspannung der Elektronenkanone mit einem Relais zum Schalten der Netzspannung des Hochspannungsnetzgeraumltes ein- und ausgeschaltet (6) Liefert der Mikrocontroller am Port PA0 die Spannung 5 V (high) so wird die Kollektor-Emitter-Strecke des Transistors BC 337 niederohmig fast die gesamte Betriebsspannung Ub = 12 V faumlllt uumlber dem Relais ab und es flieszligt ein Strom durch das Relais Die Diode 1N4001 schuumltzt den Transistor vor Induktionsspannungsspitzen beim Ein- und Ausschalten der Spule im Relais Am Steuereingang des Hochspannungsnetzgeraumlts kann durch Anlegen einer Steuer-spannung US zwischen 0 V und 5 V die Beschleunigungsspannung der Elektronenkanone zwischen 0 und 43 kV im belasteten Zustand bei eingeschalteter Gluumlhkathode variiert werden Die analoge Steuerspannung US erzeugt ein 8-bit Digital-Analog-Wandler PCF8591 der uumlber den I2C-Bus des Mikrocontrollers (Ports PC0 und PC1) mit Binaumlr-codes zwischen 0 und 255 angesteuert wird (7) Die Ausgangsspannung des DA-Wandlers liegt in 256 Stufen zwischen 370 mV und 497 V Dieser Schaltung wurde der Vorzug gegenuumlber der Erzeugung einer Steuerspannung mit Hilfe eines der Pulsweiten-modulationsausgaumlnge des Mikrocontrollers gegeben weil der Programmieraufwand ge-ringer und die Steuerspannung keine Restwelligkeit aufweist

Eine Uumlbersicht zu Erweiterungsschaltungen fuumlr Sensoren und Aktoren (rarr 421) zeigt die Anpassungsfaumlhigkeit des Interface an die unterschiedlichsten Experimente

17

213 Programmierung des Mikrocontrollers Im Folgenden wird die Programmstruktur des Mikrocontroller-Programms und die Uumlbertra-gung des Programmcodes in den Mikrocontroller beschrieben

Programmstruktur Der Mikrocontroller ist mit einem Programm (Firmware) ausgestattet um die Aufgaben des Interfaces abzuarbeiten Hierzu zaumlhlen im Wesentlichen Programmteile zur Kommu-nikation mit dem RCL-Server und zur Steuerung des Experiments da das Interface eine Schnittstelle zwischen Experiment und RCL-Server darstellt Weitere Programmteile sind beispielsweise zur Initialisierung des Versuchsaufbaus und der Steuerparameter sowie zur Konfiguration des Interfaces realisiert Abb 7 zeigt ein Flussdiagramm der Programm-teile zur Kommunikation mit dem RCL-Server und zur Steuerung des Experiments

Abb 7 Flussdiagramm der Programmierung des Mikrocontrollers

Der Programmteil zur Kommunikation mit dem RCL-Server besteht im Wesentlichen aus einer Schleife die unablaumlssig auf Steuerzeichen des RCL-Servers wartet diese gegebe-nenfalls empfaumlngt und auswertet Soll mittels eines empfangenen Steuerzeichens der Versuchsaufbau angesteuert werden wird vom Kommunikations-Programmteil eine ent-sprechende Anweisung fuumlr den Steuerungs-Programmteil generiert In der Schleife wer-den auch Antworten wie z B Messergebnisse des Steuerungs-Programmteils entgegen-genommen und an den RCL-Server ausgegeben Der Kommunikations-Programmteil kann Kommandos mit und ohne Parameter entgegen-nehmen und verarbeiten So lassen sich einfache Befehle wie Start und Stopp eines Mo-tors aber auch speziellere Anweisungen wie Messe uumlber den Bereich von a nach b mit einer Schrittweite c ausfuumlhren Auch Messergebnisse oder Statusinformationen in Form einzelner Daten wie Zahlen oder Listen koumlnnen vom Kommunikations-Programmteil an den RCL-Server uumlbertragen werden Ferner uumlbernimmt der Kommunikations-Programmteil auch den Austausch von Konfigurationsdaten fuumlr das Interface beispiels-

18

weise Motorparameter oder Zeitvorgaben fuumlr eine Standby-Funktion Schlieszliglich gibt der Kommunikations-Programmteil auch Fehlermeldungen an den RCL-Server aus etwa bei einem Fehlerzustand im Experiment oder bei fehlerhaften Anweisungen des Besuchers bzw des RCL-Servers Im Programmteil zur Steuerung des Experiments erfolgt die Ansteuerung von Aktoren und das Auslesen von Sensoren mittels elektronischer Aus- und Eingaumlnge (Ports) des Mikro-controllers Gegebenenfalls sind zwischen den Ports des Mikrocontrollers und dem Expe-riment Erweiterungsschaltungen erforderlich (larr 212 Erweiterungsschaltungen) Der Steuerungs-Programmteil ist als Interrupt-Routine implementiert Interne Zeitgeber des Mikrocontrollers rufen den Programmteil zyklisch z B alle 1 oder 10 Millisekunden auf wobei die zuvor beschriebene Schleife des Kommunikations-Programmteils kurzzeitig fuumlr die Abarbeitung des Steuerungs-Programmteils unterbrochen wird Hierdurch wird die Steuerung als Real-Time-Prozess12 ausgefuumlhrt und es koumlnnen insbesondere zeitkritische Steueraufgaben mit einer Aufloumlsung von ungefaumlhr 1 - 10 ms zuverlaumlssig erledigt werden Ferner ist im Mikrocontroller und dem Programm ein sogenannter Watchdog installiert der das Programm bei einem Programmabsturz automatisch neu startet Der Watchdog als elektronische Baugruppe im Mikrocontroller fuumlhrt einen Neustart des Mikrocontrollers (Reset) durch sofern er nicht mehr uumlber das Programm in vorgegebenen Zeitintervallen angesteuert wird Je nach RCL gibt es noch weitere Interrupt-Routinen die unabhaumlngig vom Zeittakt des Mikrocontrollers auf externe Ereignisse wie z B Ausgangsspannungsaumlnderungen eines Sensors reagieren Damit kann besonders schnell auf Erfordernisse des Experiments re-agiert oder es koumlnnen Zeitmessungen mit einer Genauigkeit von ungefaumlhr 10-6 s durchge-fuumlhrt werden Im Anhang (rarr 431) ist der Pascal-Quellcode fuumlr den Mikrocontroller des RCLs Elektronenbeugung verfuumlgbar

Programmuumlbertragung Nach der Kompilierung des Assembler- Basic- C+- C++- oder Pascal-Programms liegt eine Hexadezimaldatei vor die vom Computer in den Mikrocontroller uumlbertragen werden muss (Flashen des Programms) Zur Programmuumlbertragung muss das AVR-Studio instal-liert und konfiguriert sein (rarr 441) Abb 8 zeigt wie die Programmuumlbertragung durchge-fuumlhrt wird

12 Real-Time bedeutet hier dass die maximale Dauer eines Vorgangs vorhersehbar und gewaumlhrleistet ist dass eine Steuer-

aufgabe nach einer vorhersehbaren Zeit abgeschlossen ist

19

Abb 8 Programmuumlbertragung zwischen Computer und Mikrocontroller im Inter-

face des RCLs Elektronenbeugung uumlber USB-Seriell-Adapter und ISP-Programmer

Das Interface braucht nicht mit dem Experiment verbunden zu sein Auch Erweiterungs-schaltungen innerhalb oder auszligerhalb des Interface muumlssen nicht mit dem Mikrocontroller verbunden sein Das Interface ermoumlglicht uumlber die ISP-Schnittstelle die Programmierung mit einem preisguumlnstigen ISP-Programmer ohne ein teureres Experimentierboard13 Zur Uumlbertragung des Programms muss in folgenden Schritten vorgegangen werden

(1) Spannungsversorgung des Interface zur Sicherheit unterbrechen weil beim Verbinden mehrpoliger Steckerverbindungen es zu Kurzschluumlssen kommen kann

(2) 10-poligen ISP-Stecker des ISP-Programmers an die ISP-Schnittstelle des Interface anschlieszligen

(3) ISP-Programmer an die serielle Schnittstelle oder uumlber USB-Seriell-Adapter an die USB-Schnittstelle des Computers anschlieszligen

(4) Spannungsversorgung des Interface wieder herstellen

(5) AVR-Studio unter StartProgramme aufrufen und nach Abb 9 in der Registerkarte Program unter Flash die zu uumlbertragende Hexadezimal-Datei z B Elektronenbeu-gunghex auf der Festplatte auswaumlhlen und Program waumlhlen

13 Vgl ATMEL STK 500 Entwicklerkit bei Reichelt Elektronik

20

Abb 9 Uumlbertragung der Hexadezimaldatei Elekt-

ronenbeugunghex in den Mikrocontroller

(6) Spannungsversorgung des Interface unterbrechen ISP-Programmer vom Interface trennen AVR-Studio beenden und den ISP-Programmer vom Computer trennen

22 Hyperterminal Nach der Programmuumlbertragung kann das Experiment uumlber das konfigurierte Hyperterminal (rarr 454) lokal gesteuert werden Mit dem Hyperterminal koumlnnen als Text eingegebene Be-fehle oder Abfragen an den Mikrocontroller gesendet oder von diesem empfangen werden Der Computer muss wie bei der Programmuumlbertragung mit dem Interface per Null-Modem-Kabel uumlber die serielle Schnittstelle oder einen USB-Seriell-Adapter verbunden sein Das In-terface muss an die Versorgungsspannung anschlossen sein braucht aber nicht mit dem Experiment verbunden zu sein Abb 10 zeigt nach Eingabe von und von param im Hyper-terminal die Befehlsliste des Mikrocontrollers fuumlr das RCL Elektronenbeugung

21

Abb 10 Befehlsliste des Mikrocontrollers im Hyperterminal fuumlr das RCL Elektronenbeugung

Tab 4 gibt Erlaumluterungen zur Befehlsliste

BefehlAbfrage Erlaumluterung

DA x Am Eingang des DA-Wandlers wird die Zahl x (0 - 255) im Binaumlrcode

angelegt und die Ausgangsspannung des Hochspannungsnetzgeraumlts bzw die Beschleunigungsspannung der Elektronenkanone eingestellt

OnOff Hochspannungsnetzgeraumlt und Gluumlhkathode der Elektronenkanone ein-

oder ausschalten Beim Einschalten wird die Steuerspannung des Inter-face am Hochspannungsnetzgeraumlt auf asymp 0 V einstellt

Standby Ausgabe der eingestellten Standbyzeit von 300 s setSB x Standbyzeit einstellen

next Standby in Ausgabe der verbleibenden Standbyzeit (254 s) bis das Experiment

ausgeschaltet wird Eine negative Standbyzeit gibt die Zeit seit dem Ab-lauf der Standbyzeit an

Power On Delay Ausgabe der Verzoumlgerungszeit (2 s) bis das Hochspannungsnetzge-

raumltElektronenbeugungsroumlhre nach dem Ausschalten oder nach Ablauf der Standbyzeit erneut eingeschaltet werden kann

setPOD x Verzoumlgerungszeit einstellen

power on enabled in Ausgabe wie lange Hochspannungsnetzgeraumlt nicht eingeschaltet wer-

den kann Zeiten unter 0 bedeuten dass Power-On-Delay-Zeit ablaufen ist

Tab 4 Erlaumluterung der Befehle in Abb 10

23 Positionieren von Objekten In fast allen RCLs des RCL-Portals auszliger den RCLs Elektronenbeugung und Oszilloskop muumlssen Objekte rotatorisch oder translatorisch positioniert werden Eingesetzt werden Hyb-rid-Schrittmotoren als Aktoren eine Schrittmotorsteuerung von Trinamic als Erweiterungs-schaltung (TMC222-Modul) die Positionierungseinheit ausgedienter Flachbrett-Scanner und ein Referenz-Taster als Sensor

231 Hybrid-Schrittmotoren Abb 11 zeigt den vereinfachten schematischen Aufbau eines zweiphasigen Schrittmotors mit getrennten magnetischen Kreisen des Stators und einem permanent magnetisierten zweipoligen Rotor (Polpaarzahl 1)

22

Abb 11 Funktionsprinzip von Schrittmotoren Unipolare (links) und bipolare Schaltung (rechts)

von Schrittmotoren mit Bestromungstabellen fuumlr Voll- und Halbschrittbetrieb Darge-stellt ist der Schritt 0

Der Rotor verfuumlgt bei der dargestellten Polreihenfolge S-S-N-N des Stators uumlber eine stabile Stellung bei einer hypothetischen (magnetische Monopole) Polreihenfolge N-S-N-S gaumlbe es mit diesem Aufbau des Stators nur instabile Stellungen des Rotors Um den Rotor in Bewe-gung zu setzen muss die Polreihenfolge S-S-N-N im oder entgegen den Uhrzeigersinn (Rechts- oder Linksdrehung) weitergeschaltet und der Rotor vom magnetischen Schrittfeld mitgenommen werden

Die magnetische Polaritaumlt eines magnetischen Kreises laumlsst sich entweder durch zwei Spu-len konstanter elektrischer Polaritaumlt mit unterschiedlichem Wicklungssinn (herstellungstech-nisch zu aufwendig) durch eine Spule mit Mittelanzapfung und konstanter elektrischer Pola-ritaumlt der beiden Teilspulen (unipolare Schaltung) oder durch eine Spule mit wechselnder elektrischer Polaritaumlt (bipolare Schaltung) realisieren In Abb 11 sind dazu die elektrischen Beschaltungen und die Bestromungstabellen fuumlr eine Rechtsdrehung des Rotors dargestellt Fuumlr eine Linksdrehung des Rotors muss die Schrittfolge in umgekehrter Reihenfolge durch-laufen werden

Es wird zwischen Vollschrittbetrieb (graue Zeilen der Tabellen) mit Schrittwinkel 90deg bzw Schrittzahl 4 und Halbschrittbetrieb (alle Zeilen der Tabellen) mit Schrittwinkel 45deg bzw Schrittzahl 8 unterschieden Beim Vollschrittbetrieb werden immer beide magnetische Kreise bestromt und die N-S-Polachse des Rotors nimmt nur Stellungen zwischen den Statorpolen

23

an Beim Halbschrittbetrieb wird zwischen den Vollschritten nur einer der magnetischen Krei-se bestromt und die N-S-Polachse des Rotors kann zusaumltzlich 4 Stellungen in Richtung der Statorpole einnehmen Der Hybrid-Schrittmotor ist die am haumlufigsten vertretene Bauform von Schrittmotoren Abb 12 zeigt den Aufbau eines Hybrid-Schrittmotors

Abb 12 Aufbau eines Hybrid-Schrittmotors fuumlr unipolare und

bipolare Schaltung Daten Schrittwinkel 18deg max Drehmoment 155 Ncm

Der Stator besteht aus zwei Straumlngen mit je 4 in Reihe geschalteten Spulen Der Wick-lungssinn der Spulen ist in beiden Straumlngen so dass sich die Polfolge N-S-N-S uumlber den Umfang ergibt Beide Straumlnge zusammen ergeben unabhaumlngig von der Stromrichtung ei-ne Polfolge N-N-S-S-N-N-S-S uumlber den Umfang Ein zweipoliger Rotor (Polpaarzahl 1) kann im Vollschrittbetrieb 4 Stellungen annehmen Der Rotor des Hybridschrittmotors be-steht aber aus axial magnetisierten Permanentmagneten deren Polpaarzahl durch axial versetzte weichmagnetische Zahnscheiben auf 50 erhoumlht wurde Dadurch erhoumlht sich die Schrittzahl auf 4 sdot 50 = 200 und der Schrittwinkel verkleinert sich auf 360deg200 = 18deg Um stabile Rotorstellungen zu erhalten muumlssen die Statorsegmente ebenfalls gezahnt ausge-fuumlhrt werden

Ein solcher Hybrid-Schrittmotor vereint die Vorteile des Reluktanz- und des permanenter-regten Schrittmotors Ein kleiner Schrittwinkel wird durch das von Reluktanzschrittmotoren bekannte Prinzip der Erzeugung einer Vielzahl von Polen des Rotors durch Zahnscheiben erzielt Ein hohes Drehmoment wird durch das von permanenterregten Schrittmotoren be-kannte Prinzip der Ausfuumlhrung des Rotors als Permanentmagnet erzielt Aufgrund der bi-filaren Wicklung besteht jede Statorwicklung aus zwei Teilspulen und der Schrittmotor kann in unipolarer (alle 6 Anschluumlsse verwendet) und bipolarer Schaltung (nur 4 An-schluumlsse verwendet gemeinsamer Anschluss der Teilspulen bleibt unverwendet) wie in Abb 12 dargestellt verwendet werden

24

Schrittmotoren erlauben nicht nur das Bewegen sondern innerhalb der Leistungsgrenzen (keine Schrittverluste) auch ein genaues Positionieren von Objekten Bei bekannter Schrittzahl auf einer gemessenen Strecke oder Schrittzahl fuumlr den Vollwinkel koumlnnen aus-gehend von einer Referenzstellung Objekte translatorisch oder rotatorisch positioniert werden

232 Schrittmotorsteuerung und Positionierungsmechanik Im Folgenden wird die bei allen RCLs mit Schrittmotoren eingesetzte Schrittmotorsteuerung die Mechanik zur translatorischen Positionierung von Objekten und die Funktionsweise eines Referenztasters beschrieben

Schrittmotorsteuerung Abb 13 zeigt das Blockschaltbild und das im Selbstbau herstellbare TMC222-Modul (rarr 4221 rarr 4222) mit dem IC TMC222 von Trinamic zur Steuerung bipolarer 2-phasiger Hybrid-Schrittmotoren

Abb 13 Blockschaltbild (links) und Platine des TMC222-Moduls (rechts) mit IC TMC 222 auf

der Loumltseite der Platine

Der IC TMC222 enthaumllt ein I2C-Interface zum Anschluss an den I2C-Bus des Mikrocon-trollers (Ports PC0 und PC1) Die 10 kΩ-Pull-up-Widerstaumlnde heben die Takt- (SCL clock) und Datenleitung (SDA data) auf ein Potential von 5 V Der IC TMC222 enthaumllt ei-nen Motortreiber fuumlr Spulenstroumlme bis zu 800 mA und einen Motor-Controller zur Steue-rung der Spulenstroumlme Ein Vorteil des TMC-Moduls ist der relativ geringe Programmier-aufwand fuumlr den Mikrocontroller (rarr 4223) da der IC TMC222 nach Uumlbergabe der Steu-erungsparameter (Drehrichtung Drehzahl hellip) vom Mikrocontroller die Ansteuerung des Schrittmotors uumlbernimmt Der IC TMC222 unterstuumltzt das Beschleunigen und Abbremsen des Schrittmotors enthaumllt einen Schrittpositionszaumlhler und unterstuumltzt Mikrostepping (va-riable Spulenstroumlme zur elektronischen Verkleinerung des Schrittwinkels und groumlszligerer Laufruhe)

25

Falls in RCLs Gleichstrommotoren mit houmlheren Drehzahlen als Schrittmotoren benoumltigt werden kann eine andere Erweiterungsschaltung (rarr 424) eingesetzt werden

Positionierungsmechanik und Referenz-Taster Die Mechanik zur rotatorischen Positionierung von Objekten kann meist kostenguumlnstig selbst oder durch Personal in einer Werkstatt angefertigt werden Abb 14 zeigt eine kos-tenguumlnstige Loumlsung zur translatorischen Positionierung von Objekten

Abb 14 Positionierungseinheit eines Flachbrett-

Scanners Schrittmotor (1) Getriebe (2) Li-nearfuumlhrung (3) Antriebsriemen (4) und er-gaumlnzter Referenz-Taster (5)

Falls der geometrische Aufbau und die geforderte Positionierungsgenauigkeit des RCLs es zulassen kann die Schrittmotor-Positionierungs-Einheit ausgedienter Flachbrett-Scanner zur translatorischen Positionierung von Objekten verwendet werden In Einzelfaumll-len wie dem RCL Weltpendel kann die Positionierungsmechanik auch selbst angefertigt werden Der Referenz-Taster in Abb 14 wird eingesetzt um abzufragen ob ein vom Schrittmotor bewegtes Objekt die Position des Tasters erreicht hat und um diese Position zu referenzieren Ohne eine solche Referenzierung kann die Positionierung eines Objekts langfristig ungenau werden So kann z B beim RCL Weltpendel das Auftreffen der Kugel auf den Magneten zum Uumlberspringen von Schrittmotorstellungen fuumlhren Der Zustand des Referenz-Tasters in Abb 15 wird z B uumlber den Port PA0 des Mikrocontrollers abgefragt

Abb 15 Referenz-Taster zum referenzieren der

Position des bewegten Objekts

26

Zu Problemen koumlnnen undefinierte Zustaumlnde der Eingaumlnge des Mikrocontrollers fuumlhren wie sie beim Prellen dem zeitlich begrenzten schwingen eines Tasters beim Oumlffnen oder Schlieszligen entstehen Abhilfe schafft ein passend dimensionierter parallel zum Taster ge-schalteter Kondensator Bei geoumlffnetem Taster ist der Kondensator aufgeladen Beim Schlieszligen haumllt der Kondensator die Spannung uumlber die Schwingphase trotz kurzzeitig wieder geoumlffnetem Schalter noch aufrecht Analoges gilt fuumlr den Uumlbergang vom geschlos-senen zum geoumlffneten Taster

3 Ferngesteuertes RCL 31 RCL-Server Fuumlr den Betrieb eines RCLs wird ein RCL-Server benoumltigt (larr 11) Vorausgesetzt wird dass bei einem neuen Computer alle notwendigen Treiber (Ethernet Video Audio hellip) zum Be-trieb der Hardware des Computers und Windows XP Professional mit Service Pack 3 instal-liert sind Ein Benutzerkonto braucht nicht angelegt zu werden

Der RCL-Server benoumltigt einen Internetzugang mit statischer IP-Adresse und Uploaddatenra-te von mindestens 200 kbits (DSL 2000) fuumlr die fluumlssige Wiedergabe von Bewegungen in Webcambildern Die statische IP-Adresse wird von der Institution am Standort des RCLs vergeben oder kann von Privatpersonen bei einem Provider beantragt werden Mit folgenden Schritten wird der RCL-Server eingerichtet

Internetzugang einrichten (rarr 451) und im Browser testen

Checken ob die Windows Firewall aktiviert ist

Virenschutzproramm Avira Antivir Personal herunterladen (larr Tab 1) installieren und ak-tualisieren

Uumlber Windows Update alle Updates von Windows XP Professional installieren

Fernwartungssoftware TeamViewer 6 Vollversion (larr Tab 1) herunterladen und auf dem RCL-Server und dem eigenen Computer installieren (rarr 455)

Webeditor Notepad++ herunterladen installieren und aktualisieren (larr Tab 1)

Videoserver WebcamXP 5 herunterladen und installieren (rarr 453)

Paket XAMPP herunterladen und installieren (rarr 452) Verknuumlpfungen mit den Dateien xampphtdocsapache_startbat und xampphtdocsapache_stopbat auf dem Desktop oder in der Schnellstartleiste erstellen und Webserver mit erstgenannter Verknuumlpfung starten Webserver durch Eingabe von 127001 oder localhost ins Adressfeld des Brow-sers testen Bei erfolgreichem Test werden die im Ordner xampphtdocs abgelegten Webseiten von XAMPP dargestellt Statische IP-Adresse des RCL-Servers im Browser eines anderen Computers mit Internetzugang eingegeben Bei erfolgreichem Test werden die Webseiten von XAMPP dargestellt In der Datei xamppphpphpini unter Resource Limits die max_execution_time mit dem Windows-Editor von 60 auf 300 erhoumlhen und die

27

Datei speichern damit PHP bei Befehlen mit laumlngerer Ausfuumlhrungsdauer keine Fehler-meldung liefert

Ordner xampphtdocs mit den Webseiten von XAMPP in xampphtdocs_xampp um-benennen und fuumlr spaumltere Testzwecke nicht loumlschen RCL-Ordner htdocs herunterladen (larr Tab 1) extrahieren und in das Verzeichnis xampp verschieben

Abb 16 zeigt die Struktur des RCL-Ordners htdocs

Abb 16 Struktur des RCL-Ordners htdocs RCL-spezifisch anzupassende Dateien sind grau

hinterlegt

Der geoumlffnete Ordner Labor enthaumllt alle PHP- und HTML-Dateien bzw Programmierungen fuumlr die Funktionalitaumlt des Bedienfelds der Laborseite (larr 11 Abb 3) An das RCL anzupas-sen sind die portalsprachenunabhaumlngigen Dateien configphp und experimentphp sowie fuumlr jede Portalsprache die Dateien defaultconf und experimenttpl in den Ordnern eng fra ger und ita

Datei configphp Zeit bis zum automatischen Logout beim Experimentieren mit dem RCL eintragen

Datei experimentphp PHP-Basisprogrammierung um die RCL-spezifische PHP-Programmierung erweitern (rarr 432)

Datei defaultconf Name des RCLs (z B Elektronenbeugung) in jeder Portalsprache ein-getragen

Datei experimenttpl HTML-Basisprogrammierung um RCL-spezifische Ein- und Ausga-befelder erweitern (rarr 433)

28

32 Laborseite 321 Steuerung des RCLs uumlber das Bedienfeld Das Bedienfeld der Laborseite (larr 11 Abb 3) wird von der Dateien indexphp und experi-menttpl erzeugt Befehle wie das Anklicken von Buttons Eingaben und Auswahl aus Listen werden in ein HTML-Formular mit Formularfeldern in der Datei experimenttpl geschrieben Die Daten werden von der PHP-Datei experimentphp ausgewertet und uumlber die serielle Schnittstelle dem Mikrocontroller-Programm zur Steuerung des Experiments uumlbergeben Die Dateien experimentphp und experimenttpl wurden getrennt angelegt um Code und Design zu trennen und nur das Design in der Datei experimenttpl an die Portalsprache anpasst werden muss

Tab 5 enthaumllt Ausschnitte der HTML-Datei experimenttpl (rarr 433) der Datei experi-mentphp (rarr 432) und des Mikrocontroller-Programms (rarr 431) fuumlr das RCL Elektronen-beugung

29

Code mit Erlaumluterung

expe

rimen

ttpl

1821 Tag ltformgtltformgt definiert ein Formular 18 Attribut action legt fest dass Formulardaten in der Datei indexphp verarbeitet werden Uumlbertragen

werden eine Session-ID ($sid) um exklusiven Zugriff des jeweilgen Besuchers zu sichern und ($portal) um die vom Besucher gewaumlhlte Sprache beizubehalten post ist eine Uumlbertragungsmethode zwischen Browser und Webserver und gibt die die vom Besucher gewaumlhlte Aktion zum Ansteuern des Experiments an die Datei experimenttpl weiter

20 Erzeugt im Bedienfeld den Sendebutton (submit) mit der Aufschrift Elektronenroumlhre einschalten (valu-e)

19 Unsichtbares Feld (hidden) mit Variablennamen action und Wert RoumlhreAn Der Variablenname ac-tion stimmt nur zufaumlllig mit action in Zeile 18 uumlberein

expe

rimen

tphp

24 Die Funktion wird als Eventhaumlndler bezeichnet weil je nach uumlbergebener Aktion - siehe Zeile 19 in experi-

menttpl - die entsprechenden Anweisungen (case) ausgefuumlhrt werden 37 Fuumlr den Fall dass die Variable $action den Wert RoumlhreAn hat wird die Funktion power_on() aufgeru-

fen

59 Schreibt in die Logdatei logtxt den Text RoumlhreAn 6061 Oumlffnet den in der Datei configphp zentral gespeicherten Com-Port an den das Interface angeschlossen ist

oder gibt Fehlermeldung Can not access file system im Bedienfeld aus falls der Com-Port sich nicht oumlff-nen laumlsst

62 Sendet die Zeichenfolge On und chr(13) (entspricht der Betaumltigung der Return-Taste im Hyperterminal) an den Mikrocontroller

63 Schlieszligt serielle Schnittstelle

Que

llcod

e M

ikro

cont

rolle

r

166 Wird uumlber die serielle Schnittstelle der Befehl on empfangen und ist das Einschalten zulaumlssig (Zeiten fuumlr

PowerOnDelay und Standby abgelaufen) dann hellip 167 Hochspannungsnetzgeraumlt einschalten 168 Der DA-Wandler PCF8591 wird unter seiner Adresse PCF8591 = 01001000 angesprochen Parameterein-

stellungen mit 01000000 und Ausgangsspannung auf 0 V einstellen 169 Setzt Standby auf vorgegebene Standbyzeit zuruumlck 171 Gibt Meldung aus wie lange PowerOnDelay noch dauert

Tab 5 Uumlbertragung des Befehls Elektronenroumlhre einschalten vom Bedienfeld zum Experi-ment

30

Anhand der Erlaumluterungen der Programmcodes koumlnnen die Ablaumlufe zwischen dem Druumlcken des Buttons Elektronenroumlhre einschalten und dem Einschalten der Elektronenbeugungs-roumlhre oder der Eingabe einer Beschleunigungsspannung und dem Anlegen einer Beschleu-nigungsspannung verfolgt werden Uumlber das Bedienfeld koumlnnen nur die von der Datei expe-rimenttpl bereitgestellten Befehle on und da der insgesamt implementierten Befehle (rarr 22 Abb 10) aufgerufen werden

322 Videouumlbertragung im Webcamfeld Zur Aufnahme von Livebildern des Experiments koumlnnen USB-Webcams und IP-Kameras (Netzwerkkameras) eingesetzt werden Teurere IP-Kameras muumlssen eingesetzt werden wenn die Kamera wie z B beim RCL Roboter im Labyrinth zu weit vom Computer entfernt ist oder eine besonders lichtempfindliche Kamera aus der Uumlberwachungstechnik wie z B beim RCL Millikan-Versuch benoumltigt wird W-LAN-Kameras kommen zum Einsatz wenn Bil-der von einem beweglichen Objekt aus wie z B beim RCL Roboter im Labyrinth uumlbertra-gen werden sollen

Das Videoserverprogramm webcamXP 5 erkennt beim Aufrufen automatisch an den RCL-Server angeschlossenen USB-Webcams Vor dem Kauf einer IP-Kamera ist zu pruumlfen ob das Modell unterstuumltzt wird14 IP-Kameras muumlssen im Kontextmenuuml der Videoquelle konfigu-riert werden Abb 17 zeigt das Webcambild einer USB-Webcam vom Szintillationsschirm der Elektronenbeugungsroumlhre

Abb 17 Webcambild des Szintillationsschirms der Elektro-

nenbeugungsroumlhre einer USB-Webcam in webcamXP 5 beim RCL Elektronenbeugung

14 Vgl Moonware Studios webcamXP IP-cameras for webcamXP

31

Zum Einbinden des Webcambilds in die Laborseite des RCLs wird die laborsprachenabhaumln-gige Datei videohtm (rarr 434) in den Ordnern eng fra ger und ita verwendet Standardmauml-szligig werden zwei Webcambilder und Screenshots unterstuumltzt der Code fuumlr weitere Webcam-bilder kann durch copy and paste hinzugefuumlgt werden

Unter den Technologien Java Javaskript Flash und Windows Media fuumlr die Wiedergabe ei-nes Livestreams auf eine Webseite wurde Javaskript gewaumlhlt weil die anderen Technologien die Installation des Java Runtime Environments (JRE) des Flash- oder Windows Media Players durch den Besucher eines RCLs voraussetzen Die Wiedergabe des Livestreams mit einem Java-Applet startet zudem erst verzoumlgert nachdem das Applet geladen ist und verfuumlgt uumlber eine zu geringe Wiedergabegeschwindigkeit

33 Standard-Lernumgebung Bestandteil der Entwicklung eines RCLs ist die Erstellung einer Standard-Lernumgebung zum RCL Abb 18 zeigt exemplarisch fuumlr die deutschen Webseiten im Ordner ger das Menuuml (larr 11 Abb 3) und die Dateistruktur der Standard-Lernumgebung

Abb 18 Deutschsprachiges Menuuml und Dateistruktur der Standard-Lernumgebung

RCL-spezifisch anzupassende Dateien sind grau hinterlegt

Die englischen Dateinamen introductionhtm setuphtm hellip im Ordner ger korrespondieren mit den deutschen Menuumlpunkten Wird das RCL unter dem Menuumlpunkt RCLs des RCL-Portals aufgerufen dann ruft die Frameset-Datei indexhtm die Dateien menuumlhtm und intro-ductionhtm auf und das Menuuml wird zusammen mit der Webseite Einstieg dargestellt Die Wahl weiterer Menuumlpunkte ruft jeweils die korrespondiere Datei im Ordner auf Bei Wahl des Menuumlpunkts Labor werden mit der Frameset-Datei laboratoryhtm die Dateien videohtm fuumlr das Webcamfeld und die Datei laborindexphp fuumlr das Bedienfeld aufgerufen

32

Im Ordner docsmaterial werden alle Dokumente fuumlr die Webseite Material im Ordner docsothers die Dokumente anderer Webseiten abgelegt Im Ordner docsoriginals sind die Originale von Dokumenten wie z B Word-Dateien und der verwendeten Bilder abgelegt Grafikdateien der Webseiten Einstieg hellip Auswertung hellip Betreuung werden in gleichnami-gen Ordnern wie z B imagesanalysis abgelegt Bei sprachenunabhaumlngigen Grafikdateien wird unter dem Dateinamen abbx bei sprachenabhaumlngigen unter dem Dateinamen abbx_lan mit lan = eng fra ger und ita gespeichert Analoges gilt fuumlr die als gif-Grafiken forxgif oder forx_langif zu speichernden Formeln Originale von Bildern werden im Ordner imagesoriginals abgelegt Die Webseite zur Datei htdocsindexhtm enthaumllt zum lokalen Aufrufen der Standard-Lernumgebung Links zu den vier Index-Dateien in den Ordnern eng fra ger und ita Die Stylesheet-Datei htdocsrcl_stylecss enthaumllt die Styles der Webseiten

In der Regel werden Standard-Lernumgebungen der RCLs des RCL-Portals von verschiede-nen Personen erstellt Fehlende Gestaltungs- und Formatierungsregeln fuumlhren zu einem un-einheitlichen inattraktivem Erscheinungsbild des RCL-Portals Tab 6 gibt einen Uumlberblick der wichtigsten Gestaltungs- und Formatierungsregeln

Element Richtlinien

Gliederung

Die Webseiten Einstieg Aufbau Aufgaben Diskussion Material und Support enthalten vorgegebene Gliederungspunkte teilweise mit ausgefuumlhrten Uumlberschriften

Die umfangreicheren Webseiten Theorie und Auswertung enthalten ein Inhaltsverzeichnis mit internen Links zu Gliederungspunkten Zwischen Punkten der ersten Gliederungsebene (1 2 hellip) ist ein zwei-zeiliger Abstand (ltpgtampnbspltpgtltpgtampnbspltpgt) zwischen Punkten der zweiten (11 12 hellip) und Punkten der nur falls unbedingt notwendig dritten 111 112 hellip) Gliederungsebene ein einzeiliger Abstand zu waumlhlen Nach Abbildungen und Tabellen folgt ein einzeiliger Abstand zum nachfolgenden Text

Links Keine internen Links zwischen den Webseiten der Lernumgebung Externe Links werden prinzipiell in einem neuen Browserfenster geoumlffnet (blank)

Abbildung

Alle Abbildungen erhalten fortlaufend beginnend mit 1 nummerierte Abbildungsunterschriften der Form Abb x hellip

Abbildungen sind moumlglichst spachenunabhaumlngig d h ohne Texte in der Abbildung zu erstellen Zur Beschriftung koumlnnen z B Zahlen verwendet werden die in der Abbildungsunterschrift oder im Text er-laumlutert werden

Tabellen Tabellen werden in jeder Webseite fortlaufend beginnend mit 1 nummeriert Tabellen sind zu zentrieren Rahmenstaumlrke 1

Formeln

Formeln sind nicht als Textzeichen oder Grafik im laufenden Text einzufuumlgen sondern stets zentriert in einer eigenen Zeile als gif-Grafik

Zum Erstellen der Formel-Grafiken eignet sich z B der Formel-Editor MathType15 mit der Aufloumlsungs-Einstellung 120 dpi fuumlr InternetGif

Formeln brauchen im Rahmen des begrenzten Umfangs der Webseiten nicht nummeriert zu werden Groumlszligen-symbole

Griechische Groumlszligensymbole und mathematische Symbole sind nicht als Grafiken im laufenden Text sondern als HTML-Code einzufuumlgen Eine Zeichenreferenz findet sich bei Selfhtml16

Styles Zur Formatierung der Webseiten werden aus der Stylesheet-Datei nur die drei Styles Uumlberschrift fuumlr

die Uumlberschriften Bildunterschrift fuumlr Abbildungs- und Tabellenunterschriften und Tabellentext fuumlr Tex-te in Tabellen benoumltigt

Tab 6 Richtlinien zur Gestaltung und Formatierung der Standard-Lernumgebung

Detailliertere Informationen zum Layout der Standard-Lernumgebung koumlnnen dem RCL-Ordner und dem Erscheinungsbild der Webseiten von RCLs in Browsern entnommen wer-den

15 Vgl Design Science MathType 16 Vgl Selfhtml HTML-Zeichreferenz

33

4 ANHANG

34

41 Interface in Basisschaltung 411 Schaltplan und Bauteilliste Abb 19 zeigt den Schaltplan der Basisschaltung des Interface und Tab 7 die dazugehoumlrige Bauteilliste

Abb 19 Basisschaltung des Interface

Nr Anzahl Kurzbeschreibung des Bauteils Best-Nr bei Reichelt electronic

Einzelpreis in euro

0 1 Epoxyd-Platine (190x112 mm) mit Anteil Loumltpunktraster (Spezi-

alanfertigung) - asymp 10

1 1

Epoxyd-Fotoplatine einseitig 160x100 mm 15 mm 35 microm Epoxyd-Lochrasterplatine 160x100 mm 15 mm 35 microm

BEL 160x100-1 UP 832EP

170 420

1 1 Hohlstecker-Einbaubuchse gewinkelt Loumltfahnen 21 mm HEBW 21 018 2 1 D-SUB-Stecker 9-polig gewinkelt RM 94 D-SUB ST 09EU 029 3 1 Schottky Diode DO41 40 V 1 A SB 140 008 4 1 Draht von abgeschnittenem Beinchen aus Pos-Nr 3 - - 5 1 IC-Sockel 16-polig superflach gedreht vergoldet GS 16P 029 6 1 IC-Sockel 40-polig superflach gedreht vergoldet GS 40P 061 7 1 2x10-pol-Stiftleiste gerade RM 254 SL 2X10G 254 007 8 1 Metallschichtwiderstand 100 kΩ Metall 100k 0082 9 1 Elektrolytkondensator 10x16 mm 470 microF RM 50 mm RAD 47025 006 10 1 Elektrolytkondensator 63x11 mm 100 microF RM 25 mm RAD 10016 004 11 5 Elektrolytkondensator 5x11 mm 10 microF RM 20 mm RAD 1035 004 12 2 Keramik-Kondensator 33 pF Kerko 33p 006 13 3 Vielschicht-Keramikkondensator 100 nF 20 Z5U-25 100n 004

35

14 1 Standardquarz Grundton 110592 MHz 110592-HC49U-S 018 15 1 Spannungsregler 1 A positiv TO-220 microA 7805 028 16 1 Kuumlhlkoumlrper fuumlr Gehaumluse TO-220 99KW V FI356 066 17 1 Zylinderkopfschraube Schlitz M3 10 mm fuumlr Kuumlhlkoumlrper M3x10mm 160 18 2 Sechskantmutter M3 fuumlr Kuumlhlkoumlrper SK M3 001 19 1 Stecker-Schaltnetzteil 12 V 2250 mA MW 3IP25GS 1150 20 1 RS232-Driver DIL-16 MAX 232 CPE 041 21 1 ATmega AVR-RISC-Controller DIL-40 ATmega16-16 DIP 420 22 3 10-poliger Wannenstecker RM 254 stehend (optional) WSL 10G 009 23 1 14-poliger Wannenstecker RM 254 stehend (optional) WSL 14G 014 24 1 40-polige Stiftleiste 1-reihig gerade RM254 (optional) SL 1x40G 254 023 25 1 Kunststoffgehaumluse 1982x1124x760 mm (Serientyp 202) - asymp 10 euro 26 1 D-SUB Nullmodem-Kabel 9-pol BUBU 3 m AK 143 155 27 x DIN-Einbaubuchse 5-pol Schraubver 360deg (optional) DIO-50W EMS 185 28 x DIN-Einbaubuchse 8-polig Schraubversch 270deg (optional) DIO-80SN EMS 180 29 x Pfostenstecker 10-polig mit Verrieglung gew (optional) PSL 10W 028 30 x Klemmleiste RM 254 Oumlffnungshebel 8-polig (optional) Wago 233 220

Tab 7 Bauteilliste mit Bestellnummer und Einzelpreisen der Bauelemente bei Reichelt electronic (Stand 23102010)

Anhand der Bauteilliste in koumlnnen die elektronischen Bauelemente der Basisschaltung (larr Tab 7 Nr 0 ndash 21 optional Nr 22 - 24) bei Reichelt electronic bestellt werden Das Gehaumluse des Interface (larr Tab 7 Nr 25) sollte vom Hersteller HAGOTECH GmbH bezogen werden Weiterhin wird ein Nullmodemkabel (larr Tab 7 Nr 26) zur Verbindung des Interface mit dem Computer benoumltigt Sensoren und Aktoren des Experiments koumlnnen mit optionalen Steck-verbindern (larr Tab 7 Nr 27 - 30) und entsprechende Kabelverbindungen an das Interface angeschlossen werden Die Nummern 0 - 25 stimmen mit der angegebenen Bestuumlckungs-reihenfolge auf der Platine uumlberein Das Interface kostet in der Basisschaltung ca 50 euro

412 Bestuumlckung der Platine Abb 20 zeigt zur Bestuumlckung der Platine benoumltigte Werkzeuge

Abb 20 Werkzeuge zur Bestuumlckung der Platine des Interface

36

Loumltkolben mit feiner Spitze in Meisselform 2 mm oder Loumltstation (1) Loumltzinnabsauger zum Entfernen von Loumltzinn (2) Nasser Schwamm zum Reinigen der Spitze des Loumltkolbens (3) Loumltzinn mit Durchmesser 08 - 10 mm (4) Flachspitzzange zum Biegen von Anschluumlssen der Bauelemente (5) Seitenschneider zum Kuumlrzen der Beinchen von Bauelementen (6) Multimeter zum Pruumlfen der Funktionsfaumlhigkeit der Schaltung (7) Sekundenkleber zur Befestigung von Bauelementen Kleine Bohrmaschine z B von Dremel und 08 mm Bohrer oder duumlnne Rundfeile zum

Weiten von Loumlchern auf der Platine des Interface

Abb 21 zeigt die Platine des Interface von der Loumltseite in der Spezialanfertigung der Elekt-ronik-Werkstatt an der Technischen Universitaumlt Kaiserslautern und in der Selbstbauvariante (larr Tab 7 Nr 0) Abb 22 zeigt das Platinenlayout

Abb 21 Platine des Interface von der Loumltseite als Spezialanfertigung (links) und der Selbstbauvariante

(rechts)

Abb 22 Layout zur Herstellung des geaumltzten Teils der

Platine in der Selbstbauvariante

37

In der Selbstbauvariante kann anhand des Platinenlayouts eine selbst geaumltzte Platine fuumlr die Basisschaltung auf einer Platine im Europakartenformat hergestellt und diese in der Laumlnge gekuumlrzt werden Eine gekuumlrzte Lochrasterplatine bildet den zweiten Teil der Platine Mit den optionalen vier Wannensteckern (larr Tab 7 Nr 22 - 23) oder den vier Stiftleisten (larr Tab 7 Nr 24) an den Ports des Mikrocontrollers koumlnnen leicht elektrische Verbindungen zum Rasterteil der Platine herstellt werden Abb 23 zeigt die fertig bestuumlckte Platine mit den Nummern aus Tab 7

Abb 23 Bestuumlckte Platine des Interface mit nummerierten Bauelementen

Tab 8 beschreibt das Einloumlten der elektronischen Bauelemente anhand der Nummern aus Tab 7 und in der angegebenen Reihenfolge

Nr Bauelement Beschreibung des Einbaus

0 Spezialanfertigung und Selbst-bauvariante der Epoxydharz-

Platine

1

Stromversorgungsbuchse ndash Hohlstecker 21 mm

Wenn die Loumltbeine nicht durch die Loumlcher der Platine passen die Loumlcher mit einer runden Schluumlsselfeile aufweiten

Stromversorgungsbuchse mit Sekundenkleber vor dem Festloumlten auf der Pla-tine fixieren da diese mechanischen Belastungen durch das Einstecken und Herausziehen des 12 V -Steckers ausgesetzt ist

Wahlweise kann die 25 mm-Version der Buchse verwendet werden

2

RS232 Datenstecker

RS232 Datenstecker mit Sekundenkleber vor dem Festloumlten auf der Platine fixieren da dieser mechanischen Belastungen durch das Einstecken und Herausziehen des Null-Modem-Kabels ausgesetzt ist

Alle Beinchen und Befestigungsstifte zur houmlheren Stabilitaumlt anloumlten

3

Ein Ring an einer Seite der Diode (hier links weiszlig) zeigt die Durchlass- bzw Sperrrichtung der Diode an Die Position des Ringes entspricht der Position des Balkens im Schaltungssymbol

38

Diode ndash SB140 Auf der Platine muss der Ring auf der von der Stromversorgungsbuchse ab-

gewandten Seite liegen

4 Drahtbruumlcke

Vor dem Einloumlten des 40-poligen IC-Sockels (Nr 5) muss eine Drahtbruumlcke unter diesem eingeloumltet werden Dazu koumlnnen die abgeschnittenen Beinchen der bereits eingeloumlteten Diode (Nr 3) verwendet werden

5 6

IC-Fassungen

Die 16-polige und 40-polige IC-Fassungen besitzen eventuell eine Markie-rung fuumlr Pin1 (z B Kerbe in der Stirnseite Punkt Pfeilhellip) als Hilfe fuumlr das richtige Einstecken der ICs Die Markierungen muumlssen bei beiden Fassungen nach oben also zum naumlchstliegenden Rand der Platine zeigen

Die ICs unbedingt noch nicht einstecken

7

ISP-Stiftleiste

Die doppelreihige ISP-Stiftleiste dient der Programmierung des Mikrocontrol-lers mit dem AVR-ISP-Programmer (ISP steht fuumlr In System Programming)

ISP-Stiftleiste auf 2 x 5 Stifte kuumlrzen und mit den kurzen Beinchen einloumlten so dass auf die langen Stifte der AVR-ISP-Programmer gesteckt werden kann

8

Widerstand 100 kΩ

Den 100 kΩ-Widerstand rechts neben der ISP-Stiftleiste einloumlten

9

10

11

Elkos

Bei den verwendeten Elektrolyt-Kondensatoren ist die Polung zu beachten (langes Beinchen = Plus-Pol) Weiterhin ist auf den Kondensatoren ein wei-szliger Streifen mit Minus-Zeichen aufgedruckt Die Kondensatoren sollten eine Spannungsfestigkeit von mindestens 16 V besser 25V besitzen

Auf der Kupferseite der Platine zeigt die Form der Loumltaugen die Polung an Rundes Loumltauge = Plus quadratisches Loumltauge = Minus

Der 470 microF Kondensator wird mit dem weiszligen Streifen in Richtung Stromver-sorgungsbuchse direkt unter diese montiert

Der 100 microF Kondensator sitzt direkt unter der 16-poligen IC-Fassung Sein weiszliger Streifen (Minus-Pol) zeigt in Richtung der Stromversorgungsbuchse

Vier der 10 microF Kondensatoren werden links neben der 16-poligen IC-Fassung montiert Deren Polung ist wie folgt Unterster Kondensator Minus nach oben naumlchster Kondensator Minus nach unten die beiden oberen Kondensatoren mit Minus nach oben

Ein weiterer 10 microF Kondensator wird rechts neben die 16-polige IC-Fassung geloumltet Sein Minus-Streifen zeigt nach unten

12

13

Keramik-Kondensatoren

Die Beschriftung 104 bedeutet 10e4 pF = 100 nF Die beiden 33 pF-Kerkos (Keramik-Kondensatoren) werden direkt nebenei-

nander rechts neben die 16-polige IC-Fassung geloumltet Zwei 100 nF-Kondensatoren werden unter dem 470 microF-Elko eingeloumltet ein

weiterer mittig an der linken Seite der 40-poligen IC-Fassung

14

Quarz

Als Quarz wird ein 110592 MHz-Typ verwendet Bei dieser Frequenz ist eine fehlerfreie Kommunikation uumlber RS232 mit 9600 Baud moumlglich Fuumlr den AT-mega16 koumlnnen Quarze bis 16 MHz eingesetzt werden Details siehe Daten-blatt

Der Quarz wird direkt rechts neben die beiden 33 pF-Kerkos geloumltet Die Ori-entierung des Quarz spielt keine Rolle

15

16

17

18

Der Spannungsregler L7805 erzeugt eine stabilisierte Spannung von 5 V Es muss ein Kuumlhlkoumlrper zur Waumlrmeabfuhr vom Spannungsregler verwendet werden

Vor dem Einloumlten zwischen Spannungsregler und Kuumlhlkoumlrper etwas Waumlrme-leitpaste aufgetragen Beide Bauteile fest mit einer Schraube M3x10 und ei-ner 1 Mutter verschrauben

Dann den Spannungsregler einloumlten um 90deg abzubiegen das uumlberstehende Gewinde durch das vorgesehene Loch stecken und alles mit einer 2 Mutter auf der Platine befestigen

1 Mutter

2 Mutter

Schr

aube

L7805

Platine

KuumlhlkoumlrperWaumlrmeleitpaste

Beinchen

Loumlten

39

Spannungsregler L7805 Kuumlhl-koumlrper und Montage

19

Steckernetzteil

Funktionskontrolle vor dem Einsetzen des Mikrocontrollers Polung der Elektrolyt-Kondensatoren (Elkos) pruumlfen Sind alle Beinchen angeloumltet Hat das Loumltzinn an den Beinchen und der Pla-

tine guten Kontakt Sind eventuell zwei benachbarte Beinchen unbeabsichtigt durch Loumltzinn verbunden Alle Loumltverbindungen nochmals genau z B mit ei-ner Lupe pruumlfen

Probeweise das Stecker-Netzteil an die Buchse anschlieszligen Am 100 nF-Kondensator links mittig der 40-poligen IC-Fassung muumlssen 5 V anliegen

Versorgungsspannung unbedingt wieder von der Platine trennen

20

21

ICs MAX232 und ATmega16

Die Nuten auf den ICs am linken Rand muumlssen nach oben zeigen d h Pin1 ist bei beiden ICs in der Abbildung links unten und auf der Platine oben links

Manchmal passen die Beinchen der ICs nicht in die Fassung weil die Fas-sung scheinbar zu schmal ist Dann den IC seitlich mit einer Beinchen-Reihe flach auf den Tisch legen den IC-Koumlrper links und rechts greifen und Bein-chen durch leichten Druck biegen Einzelne verbogene Beinchen vorsichtig mit einer kleinen Flachzange richten

22

23

Wannenstecker 10- und 14-polig

Wannenstecker an den vorgesehe-nen Stellen mit der Nut gegen Ver-polung in Richtung des naumlherliegen-den Platinenrands einloumlten

Die Abbildung rechts zeigt die Pin-Belegung der Wannenstecker

24

Stiftleiste 8-polig 40-pol Stiftleiste in 4 jeweils 8-polige Stuumlcke zerteilen und einloumlten

25

Kunststoffgehaumluse

In der Selbstbauvariante der Platine (Nr 0) vor dem Einsetzten der Platine in das Gehaumluse passend positionierte Kunststoffstege am Gehaumluseboden fest-kleben

Tab 8 Bestuumlckung der Platine des Interface mit Bauelementen

42 Erweiterungsschaltungen 421 Uumlbersicht In Tab 3 sind von RCLs des RCL-Portals Sensoren und Aktoren mit den dazugehoumlrigen Er-weiterungsschaltungen zusammengestellt Da alle RCLs obligatorisch uumlber mindestens eine Webcam verfuumlgen sind diese unter den Sensoren nicht aufgefuumlhrt Die wenigen Erweite-rungsschaltungen fuumlr Sensoren sind unter Sensoren in Klammern aufgelistet Unter Aktoren werden auszliger elektro-mechanischen Wandlern auch gesteuerte Geraumlte oder Bauelemente verstanden Anzeigeinstrumente sind unter Aktoren nur aufgefuumlhrt wenn sie direkt vom In-terface gesteuert werden Mit gekennzeichnete Erweiterungsschaltungen befinden sich au-szligerhalb des Interface

40

RCL Sensoren Aktoren Erweiterungsschaltungen fuumlr Aktoren

Beugung und Interferenz I Referenz-Taster

Schrittmotor (Rotation) Schrittmotorsteuerung Laser-Modul Geschaltete Spannungsversorgung

Beugung und Interferenz II

4 Referenz-Taster Lichtsensor

4 Schrittmotoren (Translation) 4 Schrittmotorsteuerungen 5 Laser-Module Geschaltete Spannungsversorgung LED fuumlr Position des

Lichtsensors Geschaltete Spannungsversorgung

LED fuumlr Linealbeleuchtung Geschaltete Spannungsversorgung

Elektronen-beugung

Hochspannungsnetzgeraumlt Geschaltete Spannungsversorgung Hochspannungsnetzgeraumlt Steuerung der Hochspannung

Fotoeffekt 2 Referenz-Taster Photozelle

2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen

Quecksilberdampflampe Geschaltete Spannungsversorgung

der Drossel fuumlr Quecksilberdampf-lampe

Halbleiter-kennlinien

und Halbleiterkennli-nien - Schuumller-

projekt

Referenz-Taster

Schrittmotor (Rotation) Schrittmotorsteuerung Oszilloskop Geschaltete Spannungsversorgung

Oszilloskop Instrumentenverstaumlrker fuumlr X- und Y-Ablenkung

Multimeter Steuerung Spannungs- oder Strom-anzeige

Heiszliger Draht 4 Endtaster 4 Drehgeber Kurzschlusssensor

4 Gleichstrommotoren 4 Treiber

Zweifarbige LED Steuerung der LED-Farbe

Lichtgeschwin-digkeit

Drehimpulsgeber 2 Taster an Enden

der Eisenbahnstre-cke

2 Schrittmotoren 2 Schrittmotorsteuerungen Oszilloskop Geschaltete Spannungsversorgung

Motor der Lokomotive Steuerung des Ein- und Ausschal-tens und der Bewegungsrichtung

Maut Infrarot-Sensor Gleichstrommotor Geschaltete Spannungsquelle 2 IR-Fernbedienungen Spannungsregler 2-stellige 7-Segmentanzeige LED-Treiber

Millikan-Versuch 2 Referenz-Taster

2 Schrittmotoren 2 Schrittmotorsteuerungen Lichtquelle (LED) fuumlr Millikan-

Kondensator Geschaltete Spannungsversorgung

Airbrush-Kompressor Geschaltete Spannungsversorgung Magnetventil Geschaltete Spannungsversorgung Millikan-Kondensator Gesteuertes Hochspannungsmodul

Optische Com-putertomogra-

phie

2 Referenz-Taster 2 Lichtsensoren

Schrittmotor (Rotation) Schrittmotorsteuerung Schrittmotor (Translation) Schrittmotorsteuerung

2 Laser-Module 2 geschaltete Spannungsversor-gungen

Optische Fou-rier-

Transformation 2 Referenz-Taster

2 Schrittmotoren (Translation) 2 Schrittmotorsteuerungen

Laser-Modul Geschaltete Spannungsversorgung

Oszilloskop Oszilloskop Geschaltete Spannungsversorgung Signalgenerator Steuerung der Signalart

Radioaktivitaumlt 4 Referenz-Taster Geiger-Muumlller-

Zaumlhlrohr

2 Schrittmotoren (Translation) 2 Schrittmotorsteuerungen 2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen 4-stellige 7-Segment-Anzeige Treiber Elektromagnet Geschaltete Spannungsversorgung

Roboter im Labyrinth Infrarot-Sensor

2 Schrittmotoren 2 Schrittmotorsteuerung Infrarot-Sender Treiber

Rutherfordscher Streuversuch

2 Referenz-Taster Halbleiterdetektor

(Impulsformer)

2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen

4-stellige 7-Segment-Anzeige Treiber

Weltpendel

Referenz-Taster Lichtsensor der

Lichtschranke (Im-pulsformer)

Temperatursensor

Schrittmotor (Translation) Schrittmotorsteuerung Elektromagnet Geschaltete Spannungsversorgung

Laser der Lichtschranke Geschaltete Spannungsversorgung

Windkanal Referenz-Taster Schrittmotor (Translation) Schrittmotorsteuerung

41

Dehnungsmess-streifen (Wheat-stonesche Bruumlcke Messverstaumlrker Multimeter)

Geblaumlsemotor Geschaltete Spannungsversorgung

und Ansteuerung mit Pulsweiten-modulation

Anemometer Geschaltete Spannungsversorgung Multimeter Geschaltete Spannungsversorgung

Tab 9 Sensoren Aktoren und Erweiterungsschaltungen der RCLs des RCL-Portals

422 TMC222-Modul zur Schrittmotorsteuerung 4221 Schaltplan und Bauteilliste Abb 1 zeigt die Beschaltung des TMC222 von Trinamic auf dem TMC222-Modul

Abb 24 Beschaltung des TMC222 von Trinamic

Anhand der Bauteilliste in Tab 10 koumlnnen die elektronischen Bauelemente des TMC222-Moduls bei Reichelt electronic bestellt werden Ein TMC222-Modul kostet ungefaumlhr 10 euro

Nr Anzahl Kurzbeschreibung des Bauteils Best-Nr bei Reichelt electronic

Einzelpreis in euro

0 1 Epoxyd-Fotoplatine einseitig 75x100 mm 15 mm 35 microm BEL75X100-1 096 1 1 Integrierter TMC-Schrittmotor-Controller TMC 222 SI asymp 7 2 1 Elektrolytkondensator 8x11 mm Rm 35 mm 100 microF35 V RAD 10035 004 3 1 Tantal-Kondensator Rm 25 10 microF35 V Tantal 1035 014 4 2 Vielschicht-Keramikkondensator 220 nF 20 Z5U-25 220N 011 5 3 Vielschicht-Keramikkondensator 100 nF 20 Z5U-25 100N 004 6 2 Metallschichtwiderstand 100 kΩ Metall 100K 0082 7 1 1x36pol Stiftleiste gewinkelt Rm 254 SL 1X36W 027 8 1 1x36pol Buchsenleiste gerade Rm 254 BL 1X36G 025

Tab 10 Bauteilliste mit Bestellnummer und Einzelpreisen der Bauelemente bei Reichelt electronic (Stand 23102010)

4222 Bestuumlckung der Platine

42

Abb 25 zeigt die fertig bestuumlckte Platine mit den Nummern aus Tab 10

Abb 25 Bestuumlckte Platine des TMC222-Moduls

mit nummerierten Bauelementen

Die Platine (35 mm x 30 mm) kann anhand des Layouts in Abb 26 hergestellt werden Der IC TMC222 wird auf der Loumltseite der Platine aufgeloumltet Das TMC222-Modul kann mit der Stiftleiste (larr Tab 10 Nr 7) in eine Buchsenleiste (larr Tab 10 Nr 8) auf die Platine des In-terface gesteckt werden

Abb 26 Platine des TMC222-Moduls von der Loumltseite (links) und Layout

4223 Quellcode des Mikrocontroller-Programms Im Folgenden ist ein mit Bascom (larr 12 Tab 1 Entwicklungsumgebungen) erstelltes Bei-spiel-Programm zur Ansteuerung des Schrittmotormoduls TMC222 durch den Mikrocontroller ATmega16 angegeben $regfile = m16DEFdat $crystal = 11059200 $baud = 9600 Definitionen Config Scl = Portc0 Taktleitung Config Sda = Portc1 Datenleitung Const Adress = ampB11000000 I2C Adresse des TMC222 Const GetFullstatus1 = ampB10000001 Kommando des TMC222 Const Resetpos = ampB10000110 Kommando des TMC222 Const Motorparameter = ampB10001001 Kommando des TMC222 Const Setposition = ampB10001011 Dim Puffer(10) As Byte

43

Programm I2csend Adress GetFullstatus1 GetFullstatus1 (Initialisierung des TMC222) I2creceive Adress 7 Ack Daten in Puffer auslesen Puffer(1) = Motorparameter puffer auffuumlllen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB11110011 1111irun 0011ihold Puffer(5) = ampB01110001 0111vmax 0001vmin Puffer(6) = ampB00010000 000securepos(bit10-8) 1shaft 0000acceleration Puffer(7) = 0 securepos(bit7-0) Puffer(8) = ampB00001100 000nicht belegt 0accshape 11stepmode 00nicht belegt I2csend Adress Puffer(1) 8 I2csend Adress Resetpos aktuelle Position auf 0 setzen Puffer(1) = Setposition Motor bewegen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB01111111 position(bit 15-8) Puffer(5) = ampB11111111 position(bit 7-0)acute I2csend Adress Puffer(1) 5 End

423 Geschaltete Spannungsquellen und Verbraucher Die Ausgaumlnge des Mikrocontrollers duumlrfen nur mit Stroumlmen kleiner als ungefaumlhr 20 mA belas-tet werden Verbraucher mit einer Stromlast groumlszliger als 20 mA koumlnnen daher nicht direkt an den Mikrocontroller angeschlossen werden Abb 27 zeigt links eine Schaltung zum Schalten eines Verbrauchers wie z B des Relais und rechts eine Schaltung mit dem IC ULN2803A zum Schalten mehrerer Verbraucher wie z B Gluumlhlampen

Abb 27 Erweiterungsschaltungen zum Schalten eines (links) oder

mehrerer Verbraucher (rechts)

Zu beachten ist dass der Transistor BC337 maximal 800 mA schalten kann und fuumlr groumlszligere Stroumlme andere Transistoren verwendet werden muumlssen

424 Steuerung von Gleichstrommotoren

44

Sollen Gleichstrommotoren zum Bewegen von Objekten mit dem Mikrocontroller gesteuert werden dann eignet sich dazu der in Abb 28 dargestellte beschaltete IC L293D

Abb 28 Beschaltung des L293D zum

Steuern zweier Gleichstrom-motoren

Mit Pin 1 = Pin 9 = 1 (High) koumlnnen zwei Gleichstrommotoren M1 und M2 (Versorgungs-spannung UM lt 36 V Spulendauerstrom IM lt 600 mA) unabhaumlngig voneinander ein- und ausgeschaltet sowie in der Drehrichtung uumlber die Ports PA0 und PA1 fuumlr M1 und PA2 und PA3 fuumlr M2 gesteuert werden Z B gilt mit PA0 = PA1 = 0 (M1 ausgeschaltet) PA0 = 1 und PA1 = 0 (M1 dreht sich) PA0 = 0 und PA1 = 1 (M1 dreht sich in Gegenrichtung)

45

43 Quellcodes zum RCL Elektronenbeugung 431 Mikrocontroller-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

46

47

48

49

432 PHP-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

50

51

433 Bedienfeld der Laborseite

Tab 11 erlaumlutert die Funktion der Bloumlcke im Quellcode

Zeilen Funktion 1 Datei defaultconf einbinden 2 Datei headtpl einbinden

5 - 11 Ausgabe der verbleibenden Experimentierzeit 18 - 21 Button zum Einschalten der Elektronenbeugungsroumlhre 28 - 30 Eingabefeld fuumlr die Beschleunigungsspannung

37 Ruumlckmeldung zur eingegebenen Beschleunigungsspannung 42 Datei foottpl einbinden

Tab 11 Funktion der Programmbloumlcke in der Datei experi-menttpl

52

434 Webcamfeld der Laborseite

In Tab 12 ist die Funktion der Programmbloumlcke und die Anpassungen der Vorlage an das RCL Elektronenbeugung beschrieben

Zeilen Funktion Anpassung RCL Elektronenbeugung

5 Titelangabe erscheint als Tabulatorbeschriftung in Browsern

Name des RCLs eintragen

11 - 15 16 - 20

Zwei Javascripts zum getrennten Aufrufen zweier Po-pup-Fenster mit dargestelltem Webcambildern 1 und 2

Javascript 1 die IP-Adresse eintragen Javascript 2 auskommentiert weil nicht benoumltigt

24 - 40 42 - 60

Zwei Javascripts zum Aktualisieren der Webcambilder 1 und 2

Javascript 2 auskommentiert weil nicht benoumltigt

67 - 71 79 - 83

Aufrufen des ersten Webcambilds der Webcams 1 und 2 beim Aufrufen der Datei

Webcambild 2 auskommentiert weil nicht benoumltigt

72 - 78 84 - 90

Buttons zum Aufrufen der Screenshots der Webcam-bilder 1 und 2

Button 2 auskommentiert weil nicht benoumltigt

91 - 95 Zeile der Tabelle zum Eintragen von Informationen die sich auf die Webcambilder oder den Versuch beziehen

Text in Zeile der Tabelle geschrieben

Tab 12 Funktionen der Codeabschnitte in der Datei videohtm und Anpassung der Vor-lage an das RCL Elektronenbeugung

53

44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung Im Folgenden wird die Installation und Konfiguration des AVR-Studios 418 und der Bascom 11198 Demoversion beschrieben Alle Anleitungen sind zeilenweise von links nach rechts zu lesen

441 AVR-Studio 418 4411 Installation Auf der Webseite von ATMEL Register AVR Studio 418 (build 684) anklicken und Registrie-rungsformular ausfuumlllen Danach die Datei AvrStudio418Setup herunterladen Durch Dop-pelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen Next waumlhlen

I accept hellip und Next waumlhlen Installationsordner und Next waumlhlen

54

Installupgrade hellip und Next waumlhlen Install waumlhlen Die Installation beginnt

Finish waumlhlen

4412 Konfiguration AVR Studio 418 in Windows XP Professional unter StartProgramme aufrufen

Startfenster mit Cancel schlieszligen Unter ToolsProgram AVR Auto Connect waumlhlen

55

Im eingeblendeten Fenster auf der Registerkarte Main als Device ATmega16 und als Programming Mode ISP mo-de waumlhlen

Optional kann Signatur gelesen werden

In der Registerkarte Fuses alle Haumlkchen und Auswahlfel-der wie angegeben waumlhlen

Dann Program waumlhlen

442 BASCOM 11198 Demoversion 4421 Installation Auf der Webseite von Bascom unter Bascom AVR Demo die Zip-Datei setupdemoexe her-untergeladen Durch Doppelklick auf den Dateinamen die Installation starten

Next waumlhlen I accept the agreement und Next waumlhlen

56

Next waumlhlen Installationsordner eingeben und Next waumlhlen

Eintrag im Start-Menuuml eingeben und Next waumlhlen Next waumlhlen

Yes restart the computer now und Finish waumlhlen

57

4422 Konfiguration Bascom AVR in Windows XP Professional unter StartProgramme zum Einstellen der Para-meter des Mikrocontrollers und des Terminals aufrufen

OptionsCompilerChip waumlhlen Einstellungen wie im Bild vornehmen und OK waumlhlen

Auf der Registerkarte Communications Einstellungen wie im Bild vornehmen und OK waumlhlen

Unter OptionsCommunication Einstellungen wie im Bild

vornehmen und OK waumlhlen FileNew waumlhlen Unter ToolsTerminal emulator das Terminal aufrufen und

eingeben Die Befehlsliste des RCLs Elektronenbeu-gung wird angezeigt

45 Installation und Konfiguration von Programmen auf dem RCL-Server Im Folgenden wird der Download die Installation und die Konfiguration von Programmen auf dem RCL-Server unter Windows XP Professional beschrieben Alle Anleitungen sind zeilen-weise von links nach rechts zu lesen Die Installation der Programme sollte in der angegebe-nen Reihenfolge erfolgen

58

451 Einrichten des Internet-Zugangs LAN-Verbindung unter StartSystemsteuerungNetzwerkverbindungen aufrufen

Internetprotokoll (TCPIP) und Eigenschaften waumlhlen Folgende IP-Adresse verwenden waumlhlen IP-Adressen ein-

geben und OK waumlhlen

452 Paket XAMPP 174 Unter apache friends - xampp fuumlr windows und XAMPP Windows 174 Installer anklicken und Datei xampp-win32-174-VC6-installerexe speichern Durch Doppelklick auf die Datei die Installation starten

Sprache und Ok waumlhlen Ok waumlhlen

59

Weiter waumlhlen Zielverzeichnis mit Durchsuchen waumlhlen oder eingeben

Apache nicht als Dienst installieren Fertig stellen waumlhlen

Ja waumlhlen Zum Starten des Apache Webservers das Control Panel

unter StartProgrammeXAMPP 173 for Windows mit Start starten Anstelle von Start erscheint Running

Zum Beenden des Apache Webservers Stop waumlhlen Zum Beenden des Control Panels Exit waumlhlen

60

453 Videoserver webcamXP 5 Private Auf der Webseite von Moonware Studios unter webcamXP 55xx die Datei wlite550 herun-terladen Durch Doppelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen I Agree waumlhlen

Next waumlhlen Auszliger webcamXP 5 brauchen keine weiteren Komponen-

ten installiert zu werden

Den vorgeschlagenen Ordner und Install waumlhlen Finish waumlhlen

61

WebcamXP unter StartProgramme aufrufen Zugesandte

Lizenz-Daten in das eingeblendete Fenster eingeben und Register waumlhlen

Beim Starten des Programms stellt webcamXP automa-tisch eine Verbindung zu den am Computer angeschlosse-nen Webcams her

Nach dem Start ist Uumlberwachen gewaumlhlt Durch Rechts-klick mit der Maus auf das Videofenster wird zu jeder Vi-deoquelle ein Kontextmenuuml angezeigt Wird kein Videobild dargestellt das Kontextmenuuml aufrufen Art der Videoquelle waumlhlen (hier USB) und unter den erkannten Videoquellen (hier USB-Videogeraumlt) die gewuumlnschte waumlhlen

Das Videoformat muss fuumlr eine passende Darstellung auf

der Laborseite auf 320 x 240 eingestellt sein Ist das nicht der Fall im Kontextmenuuml unter Video Format einstellen

In gleicher Weise kann eine zweite Videoquelle hinzugefuumlgt werden

In der Registerkarte Web Broadcast kann unter

Broadcast (HTTP) der Videoserver mit Ausschalten ge-stoppt und mit Aktivieren gestartet werden

Zur Zielwahl des Webservers (131246237167 - Internet D16W3X3J - Computer 127001 - Local Host) Videoser-ver stoppen und einstellen Videoserver wieder starten

62

454 Terminalprogramm Hyperterminal Hyperterminal in Windows XP Professional unter StartProgrammeZubehoumlrKommunikation aufrufen

Name der neuen Verbindung - z B Interface - eingeben

und OK waumlhlen Die Verbindung zwischen Computer und Interface wurde

uumlber einen USB-Seriell-Adapter hergestellt Dann erschei-nen zwei zusaumltzliche Eintraumlge (Motorola Comp Modem und COM5) in der Liste Prinzipiell muss eine COMx-Verbindung gewaumlhlt werden

Eigenschaften von COM 5 wie im Bild einstellen und OK

waumlhlen DateiEigenschaften aufrufen und ASCII-Konfiguration

waumlhlen

63

Haken bei Eingegebene Zeichen lokal ausgeben (lokales

Echo) setzen um eingegebenen Zeichen im Hyperterminal zu sehen

Bei funktionsfaumlhiger Verbindung erscheint nach Eingabe von Return die Befehlsliste des Interface

Durch Aufrufen von DateiSpeichern die erstellte Verbin-

dung z B auf dem Desktop speichern Dadurch braucht die Verbindung nicht immer wieder von neuem konfiguriert wer-den

Nach Aufrufen von DateiBeenden die bestehende Verbin-dung mit Ja beenden

64

Wurde ein falscher COM-Port gewaumlhlt reagiert das Inter-

face auf die Eingabe Return nicht Hyperterminal dann beenden

Der COM-Port kann dann nicht unter DateiEigenschaften im Hyperterminal aber unter Eigenschaften des Kontext-menuumls der Datei Interfaceht in der Registerkarte Verbin-den mit geaumlndert werden Dann OK waumlhlen und erneut Verbindung testen

65

455 Fernwartungssoftware TeamViewer 6 Host Auf der Webseite von Teamviewer GmbH unter Fuumlr unbeaufsichtigte Server TeamViewer Vollversion die Datei TeamViewer_Setup-wq herunterladen Das Programm muss auf dem RCL-Server und dem Computer der auf den RCL-Server zugreifen soll installiert werden Durch Doppelklick auf die Datei die Installation starten

Ausfuumlhren waumlhlen Weiter waumlhlen

Fuumlr die private nicht kommerzielle Nutzung ist Teamviewer kostenlos

privat nicht-kommerziell und Weiter waumlhlen

Beide Haumlkchen setzen und Weiter waumlhlen

66

Ja un Weiter waumlhlen Weiter

Computername und Kennwort fuumlr den Zugriff auf den RCL-Server oder den eigenen Computer vergeben Kenn wort notie-ren

Ein Teamviewerkonto ist nicht erforderlich Kann auch spaumlter noch eingerichtet werden

ID fuumlr den Computer auf dem das Programm installiert wird fuumlr Zugriff notieren

Das Programm wird gestartet Standardmaumlszligig vorein-gestellt ist der Start des Programms beim Start des Be-trienssystems

67

46 Selbstbau eines elementaren RCLs 461 Hard- und Software Auch ohne gleich ein vielleicht teures physikalisches Experiment zu steuern laumlsst sich mit wenigen Bauelementen ein elementares RCL realisieren Von einer Webseite im Internet sol-len eine Leuchtdiode (LED) ein- oder ausgeschaltet sowie der Zustand der Leuchtdiode und eines Tasters abgefragt werden An Hard- und Software werden benoumltigt

1 Low-Current-LED 5 mm 2 mA 1 Widerstand 18 kΩ 1 Taster und optional zwei 10-polige Wannenstecker mit ungefaumlhr 10 cm passendem Flachbandkabel und Buchsen

Interface in Basisschaltung Null-Modem-Kabel 12 V DC Steckernetzteil (larr 1)

Installierte Bascom-Demo-Version (larr 42)

AVR ISP-Programmer mit 10-poligem Programmierkabel

Installiertes und konfiguriertes AVR Studio 418 (larr 41)

Installiertes Paket XAMPP (larr 52)

Texteditor wie z B Notepad in Windows XP Professional

Konfigurierte Hyperterminalverbindung (larr 54)

462 Bestuumlckung der Platine Abb 29 zeigt zur Orientierung fuumlr das Einloumlten der Bauelemente die fertig bestuumlckte Platine des Interface

Abb 29 Mit elementarem RCL bestuumlckte Platine

des Interface

LED mit Vorwiderstand und der Taster sind rechts neben dem Mikrocontroller im Lochraster-bereich aufgebaut und uumlber Wannenstecker und Flachbandkabel mit dem Port A des Mikro-controllers verbunden (die drei Bauteile rechts neben dem ATmega16 werden nicht benouml-tigt) Tab 13 erlaumlutert die Schritte zur Bestuumlckung der Platine des Interface

68

Nr Schaltung Erlaumluterung

1

Die Leuchtdiode (LED) mit dem Pluspol (langes Beinchen) an PortA0 (PIN40 oben rechts) des Mikrocontrollers anloumlten

An das kurze Beinchen einen 18kΩ Widerstand loumlten dessen anderes Ende mit der Masse (GND) verbinden

2

Den Taster mit PortA1 (PIN39 = 2 Beinchen von oben rechts) und Masse (GND) verbinden

3

Draufsicht

Belegung des 10-poligen Wannensteckers 1 GND (Masse) im Foto oben links 2 +5 V 3 PortA0 4 PortA1 10 PortA7 im Foto unten rechts

Tab 13 Schritte zum Aufbau des elementaren RCLs

463 Lokal gesteuertes RCL Nachfolgend ist der Basic-Programmcode des Mikrocontrollers zur Steuerung und Abfrage der LED und des Tasters angegeben 01 $regfile = m16DEFdat Microcontroller ATmega16 02 $crystal = 11059200 110592MHz Quarz 03 $baud = 9600 Baudrate 04 05 ---[ Variables ]--------------------------------------------------------------- 06 Dim Rs232kommando As String 10 erst Befehlspuffer dann Kommando 07 Dim Parameter As String 10 Parameter 08 Dim Str_pos As Byte Position von Leerzeichen zur Trennung von Kommando und Pa-rameter 09 10 ---[ Initialisierung ]--------------------------------------------------------- 11 Ddra0 = 1 PortA0 als Ausgang fuumlr LED 12 Porta0 = 0 LED aus 13 Ddra1 = 0 PortA1 als Eingang fuumlr Taster 14 Porta1 = 1 Pull-Up aktivieren 15 16 ---[ Main program loop ]------------------------------------------------------- 17 Do Start der Endlos-Schleife 18 19 If Ischarwaiting() = 1 Then Zeichen uumlber RS232 empfangen 20 Input Rs232kommando neues Kommando lesen 21 Parameter = Parameter initialisieren 22 Str_pos = Instr(rs232kommando ) Leerzeichen im Kommando suchen 23 If Str_pos gt 0 Then falls Leerzeichen dann in Kommando+Parameter zerlegen 24 Incr Str_pos Str_pos soll jetzt auf 1Zeichen des Parameters zeigen 25 Parameter = Mid(rs232kommando Str_pos ) Parameter = Teilstring nach Leerzeichen 26 Parameter = Ucase(parameter) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 27 Str_pos = Str_pos - 2 Str_pos soll jetzt auf letztes Zeichen des Kommandos zeigen 28 Rs232kommando = Left(rs232kommando Str_pos)Kommando = Teilstring vor Leerzeichen 29 Rs232kommando = Ucase(rs232kommando) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 30 End If 31 32 Select Case Rs232kommando Eventhandler Interpretation der Kommandos 33 Case Print Hilfe Hilfeseite anzeigen 34 Print LED on - LED einschalten 35 Print LED off - LED ausschalten 36 Print LED - zeigt Status der LED an 37 Print SW - zeigt Status des Schalters an 38

1K8

LED rotmicroC PortA0(PIN40)

Taster

microC PortA1(PIN39)

1

3

2

69

39 Case LED If Parameter = ON Then LED schalten 40 Porta0 = 1 41 End If 42 If Parameter = OFF Then 43 Porta0 = 0 44 End If 45 46 Case LED If Porta0 = 0 Then Status der LED ausgeben 47 Print LED aus 48 Else 49 Print LED an 50 End If 51 52 Case SW If Pina1 = 1 Then Status des Schalters ausgeben 53 Print Taster offen 54 Else 55 Print Taster geschlossen 56 End If 57 58 Case Else Print gt Rs232kommando lt ungueltiger Befehl - weitere Infos mit Info bei unguumlltigen Eingaben 59 End Select 60 61 End If 62 63 Loop Endlos-Schleife Springe zu Do 64 65 End wird nie erreicht

Der erste Teil des Programms (Zeilen 1 - 15) enthaumllt die Systemparameter Variablen und Initialisierung der Ein- und Ausgaumlnge Der zweite Teil enthaumllt ab Zeile 17 das Hauptpro-gramm in dem Benutzereingaben uumlber die serielle Schnittstelle empfangen interpretiert und in entsprechende Anweisungen umgesetzt werden Tab 14 erlaumlutert den Programmcode de-taillierter

Zeilen Erlaumluterung

1 - 3 Diese Angaben teilen dem Compiler (Bascom) mit welcher Prozessor eingesetzt wird wie schnell dieser getaktet (Quarz) ist und mit welcher Uumlbertragungsgeschwindigkeit die Kommunikation uumlber die serielle Schnittstelle (RS232) mit dem PC erfolgen soll

6 - 8 Es werden drei Variablen genutzt Die Eingabe uumlber die serielle Schnittstelle wird in rs232kommando gespeichert Es wird ein Text der Form Kommando ltLeerzeichengt Parameter erwartet so dass die Variable Parameter den-selbigen aufnimmt Die Variable str_pos wird fuumlr die Trennung von Kommando und Parameter benoumltigt

11 - 14

Mit dem Befehl ddrPX (ddr = data direction) wird festgelegt ob ein Beinchen als Ausgang (=1) oder als Eingang (=0) arbeiten soll Der ATmega16 besitzt 32 Ein-Ausgaumlnge die in vier Ports (P=AD) zu je 8 Pins (X=07) unterteilt sind ddrA0 = 1 legt also das 1 Beinchen (Pin 0) von PortA als Ausgang (=1) fest Mit dem Befehl PortA0 =1 kann dieser Pin dann durch Zuweisen von 1 oder 0 an- bzw ausgeschaltet werden Im Datenblatt erfahren Sie welches der 40 Beinchen des Mikrocontrollers wie bezeichnet wird (Pin-Belegung) Wird ein Beinchen als Eingang verwendet (ddrA1 = 0) koumlnnen Sie optional einen so genannten Pull-Up-Widerstand aktivieren (PortA1=1) oder deaktivieren (PortA1=0) Auch hierzu sollten Sie sich unbedingt mit dem Datenblatt vertraut machen

17 63 Das Hauptprogramm besteht aus einer Endlosschleife d h der Mikrocontroller verrichtet ununterbrochen seinen Job so lange er mit Strom versorgt wird

19 - 30 Falls ein Zeichen uumlber die serielle Schnittstelle empfangen wurde wird dieses und alle folgenden gelesen Anschlie-szligend wird gepruumlft ob der empfangene Text von der Form Kommando ltLeerzeichengt Parameter ist so dass er ge-gebenenfalls in ein Kommando und einen Parameter zerlegt werden kann

32 - 59 Dieser Abschnitt wird mit Event-Handler bezeichnet Hier wird auf die Kommandos (Events) reagiert und die ent-sprechenden Schritte ausgefuumlhrt zB schalten LED je nach Wert der Variablen Parameter an- bzw ausschalten

46 52

In beiden Zeilen wird ein Wert eines Ports abgefragt Unterschiedlich ist dass in Zeile 46 der Status eines Ausgangs abgefragt wird (porta0) und in Zeile 52 der Zustand eines Eingangs (pina0) Die Anweisung IF porta0 = 0 THEN pruumlft (hier ist = ein Vergleich und KEINE Zuweisung) ob zuletzt die LED ausgeschaltet (Zuweisung porta0 = 0) wurde Die Anweisung IF pina1= 1 THEN liest den Status eines Eingangs Hier kann festgestellt werden ob der Eingang uumlber den internen Pull-UP-Widerstand auf +5V liegt (pina1 liefert 1) oder ob der Schalter den Eingang mit Masse (0V) verbindet (pina1 liefert 0)

Tab 14 Erlaumluterung des Mikrocontroller-Programmcodes fuumlr elementares RCL

70

In Bascom AVR eine neue Datei erzeugen (FileNew) den Programmcode ohne Kommenta-re eingeben und mit ProgramCompile (F7) eine Hexadezimaldatei erzeugen Die Hexadezi-maldatei mit dem AVR-Studio und dem AVR-ISP-Programmer in den Mikrocontroller schrei-ben (larr 222 Programmuumlbertragung) Nach dem Verbinden von Computer und Interface per Null-Modem-Kabel kann durch Eingabe von in das konfigurierte Hyperterminal die Befehls-liste in Abb 30 aufgerufen werden

Abb 30 Aufgerufene Befehlsliste im Hyperterminal

Durch Eingabe von LED on oder LED off kann die LED ein- und ausgeschaltet LED zeigt den Status der LED und sw den Status des Tasters an Alternativ zum Hyperterminal kann auch das Terminal in BASCOM unter ToolsTerminal Emulator verwendet werden (larr 422)

464 Ferngesteuertes RCL Zum Ansteuern des Interfaces und zum Bedienen des Versuchsaufbaus uumlber das Internet wird eine Webseite benoumltigt die dem Benutzer alle Bedienelemente des Experiments zur Verfuumlgung stellt

Der Benutzer benoumltigt anklickbare Buttons im Webbrowser

Der Webserver muss die Information welcher Button gedruumlckt wurde empfangen und ein entsprechendes Kommando uumlber die serielle Schnittstelle an das Interface senden

Beide Schritte sind im nachfolgenden PHPHTML-Quellcode zusammengefasst 01 ltDOCTYPE HTML PUBLIC -W3CDTD HTML 401 TransitionalEN httpwwww3orgTRhtml4loosedtdgt 02 lthtmlgt 03 ltheadgt 04 ltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1gt 05 lttitlegtelementares RCLlttitlegt 06 ltheadgt 07 08 ltbodygt 09 ltphp 10 if (isset($_POST[Kommando])) wurde bereits Kommando gesendet 11 if( ( $handle = fopen( COM1 w+ ) ) ) Schnittstelle oumlffnen 12

71

13 throw new Exception( Can not access serial port 2 ) ohne Erfolg 14 15 fwrite( $handle $_POST[Kommando] chr( 13 ) ) Befehl an Interface senden 16 switch ( $_POST[Kommando] ) Antwort von Interface auswerten 17 case LED $tmp = fgets( $handle ) Echo von Interface ignorieren 18 $antwort = fgets( $handle ) Antwort des Interfaces 19 echo Antwort $antwort Ausgabe auf Webseite 20 break switch verlassen 21 22 case SW $tmp = fgets( $handle ) Echo von Interface ignorieren 23 $antwort = fgets( $handle ) Antwort des Interfaces 24 echo Antwort $antwort Ausgabe auf Webseite 25 break switch verlassen 26 27 28 29 fclose( $handle ) Schnittstelle schlieszligen 30 31 else 32 `mode com1 BAUD=9600 PARITY=N data=8 stop=1 xon=off` Schnittstellenparameter setzen 33 34 35 gt 36 37 lth3gtBefehl sendenlth3gt 38 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 39 ltinput type=hidden name=Kommando value=LED ON gt 40 ltinput type=submit value=LED anschalten gt 41 ltformgt 42 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 43 ltinput type=hidden name=Kommando value=LED OFF gt 44 ltinput type=submit value=LED ausschalten gt 45 ltformgt 46 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 47 ltinput type=hidden name=Kommando value=LED gt 48 ltinput type=submit value=LED abfragen gt 49 ltformgt 50 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 51 ltinput type=hidden name=Kommando value=SW gt 52 ltinput type=submit value=Taster abfragen gt 53 ltformgt 54 ltbodygt 55 lthtmlgt Den Quellcode in den Texteditor kopieren und im Ordner htdocs von XAMPP z B unter rclphp speichern HTML-Dateien mit PHP-Code (Zeilen 9-35) muumlssen mit der Erweiterung php gespeichert werden damit der Apache Webserver zwischen HTML-Seiten mit und ohne PHP-Code unterscheiden kann Den installierten Apache Webserver starten (larr 452) und im Adressfeld des Webbrowsers die IP-Adresse http127001rclphp aufrufen Das Bedi-enfeld des elementaren RCLs in Abb 31 wird im Browserfenster angezeigt

72

Abb 31 Laborseite des elementaren RCLs

Im Bedienfeld kann die LED an- und ausgeschaltet sowie der Status von LED und Taster abgefragt werden

  • 0 Warum ein Tutorial zur RCL-Technik
  • 1 Technische Konzeption
    • 11 Einfuumlhrung
    • 12 Wahl der RCL-Technik
      • 2 Lokal gesteuertes RCL
        • 21 Interface
          • 211 Mikrocontroller
          • 212 Basisschaltung und Erweiterungsschaltungen
          • 213 Programmierung des Mikrocontrollers
            • 22 Hyperterminal
            • 23 Positionieren von Objekten
              • 231 Hybrid-Schrittmotoren
              • 232 Schrittmotorsteuerung und Positionierungsmechanik
                  • 3 Ferngesteuertes RCL
                    • 31 RCL-Server
                    • 32 Laborseite
                      • 321 Steuerung des RCLs uumlber das Bedienfeld
                      • 322 Videouumlbertragung im Webcamfeld
                        • 33 Standard-Lernumgebung
                          • 4 ANHANG
                            • 41 Interface in Basisschaltung
                              • 411 Schaltplan und Bauteilliste
                              • 412 Bestuumlckung der Platine
                                • 42 Erweiterungsschaltungen
                                  • 421 Uumlbersicht
                                  • 422 TMC222-Modul zur Schrittmotorsteuerung
                                    • 4221 Schaltplan und Bauteilliste
                                    • 4222 Bestuumlckung der Platine
                                    • 4223 Quellcode des Mikrocontroller-Programms
                                      • 423 Geschaltete Spannungsquellen und Verbraucher
                                      • 424 Steuerung von Gleichstrommotoren
                                        • 43 Quellcodes zum RCL Elektronenbeugung
                                          • 431 Mikrocontroller-Programmierung
                                          • 432 PHP-Programmierung
                                          • 433 Bedienfeld der Laborseite
                                          • 434 Webcamfeld der Laborseite
                                            • 44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung
                                              • 441 AVR-Studio 418
                                                • 4411 Installation
                                                • 4412 Konfiguration
                                                  • 442 BASCOM 11198 Demoversion
                                                    • 4421 Installation
                                                    • 4422 Konfiguration
                                                        • 45 Installation und Konfiguration von Programmen auf dem RCL-Server
                                                          • 451 Einrichten des Internet-Zugangs
                                                          • 452 Paket XAMPP 174
                                                          • 453 Videoserver webcamXP 5 Private
                                                          • 454 Terminalprogramm Hyperterminal
                                                          • 455 Fernwartungssoftware TeamViewer 6 Host
                                                            • 46 Selbstbau eines elementaren RCLs
                                                              • 461 Hard- und Software
                                                              • 462 Bestuumlckung der Platine
                                                              • 463 Lokal gesteuertes RCL
                                                              • 464 Ferngesteuertes RCL

3

422 TMC222-Modul zur Schrittmotorsteuerung 41 4221 Schaltplan und Bauteilliste 41 4222 Bestuumlckung der Platine 41 4223 Quellcode des Mikrocontroller-Programms 42 423 Geschaltete Spannungsquellen und Verbraucher 43 424 Steuerung von Gleichstrommotoren 43

43 Quellcodes zum RCL Elektronenbeugung 45 431 Mikrocontroller-Programmierung 45 432 PHP-Programmierung 49 433 Bedienfeld der Laborseite 51 434 Webcamfeld der Laborseite 52

44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung 53 441 AVR-Studio 418 53 4411 Installation 53 4412 Konfiguration 54 442 BASCOM 11198 Demoversion 55 4421 Installation 55 4422 Konfiguration 57

45 Installation und Konfiguration von Programmen auf dem RCL-Server 57 451 Einrichten des Internet-Zugangs 58 452 Paket XAMPP 174 58 453 Videoserver webcamXP 5 Private 60 454 Terminalprogramm Hyperterminal 62 455 Fernwartungssoftware TeamViewer 6 Host 65

46 Selbstbau eines elementaren RCLs 67 461 Hard- und Software 67 462 Bestuumlckung der Platine 67 463 Lokal gesteuertes RCL 68 464 Ferngesteuertes RCL 70

4

0 Warum ein Tutorial zur RCL-Technik Dieses Tutorial zur Technik von RCLs des RCL-Portals ist eine uumlberarbeitete und ergaumlnzte Fassung eines ersten Tutorials1 aus 2006 Gruumlnde ein Tutorial zur RCL-Technik anzubieten sind

Am Selbstbau von RCLs interessierten Schuumllern Studierende Dozenten und Lehrkraumlften soll das Tutorial einen Einstieg in die RCL-Technik bieten Insbesondere soll Staatsexa-menskandidaten in Physik die ein RCL entwickeln wollen die Einarbeitungszeit in die Technik der RCLs des RCL-Portals verkuumlrzt werden In muumlndlicher Form ist Technik nur schwer vermittelbar

Der Umfang an technischen Faumlhigkeiten (Programmierung in HTMLPHP und einer weite-ren Programmiersprache Elektronikkenntnisse zu Mikrocontrollern Sensoren und Akto-ren) und Fertigkeiten (Bestuumlckung der Platine des Interface mechanischer Aufbau eines RCLs) zur Realisation eines RCLs ist groszlig Zu wenige RCL-Interessierte verfuumlgen uumlber al-le Faumlhigkeiten und Fertigkeiten Das Tutorial soll dazu anregen sich die notwendigen technischen Faumlhigkeiten anzueignen

Das Tutorial fuumlhrt in die technische Konzeption der RCLs des RCL-Portals ein und die Wahl der RCL-Technik wird begruumlndet In zwei Schritten Lokal gesteuertes RCL (rarr 2) und Ferngesteuertes RCL (rarr 3) wird die Realisation eines RCLs am Beispiel des RCLs Elekt-ronenbeugung beschrieben Wer selbst ein eigenes elementares und kostenguumlnstiges RCL ohne physikalische Geraumlte bauen moumlchte findet dazu im Anhang eine in den gleichen zwei Schritten strukturierte Anleitung (rarr 46) Der Anhang enthaumllt weitere Anleitungen und ergaumln-zende Informationen An den entsprechenden Stellen des Tutorials wird darauf verwiesen

1 Technische Konzeption 11 Einfuumlhrung Abb 1 veranschaulicht das Prinzip von RCLs

Abb 1 Prinzip von RCLs

1 Vgl Tutorial Selbstbau eines RCLs

5

Ein Besucher an einem quasi beliebigen Ort A kann uumlber das Internet mit einem Experiment an einem quasi beliebigen Ort B experimentieren Dazu stellt ein RCL-Server auf dem Com-puter des Besuchers eine Webseite bereit von der aus der Besucher das Experiment uumlber Aktoren fernsteuern und uumlber Sensoren Fernmessungen durchfuumlhren kann Den Datenaus-tausch zwischen RCL-Server und Experiment und die Steuerung des Experiments uumlber-nimmt ein Interface Per Webcam erhaumllt der Besucher auf der Webseite visuelle Ruumlckmel-dungen zu durchgefuumlhrten Aktionen und Veraumlnderungen im Experiment

Am Beispiel des RCLs Elektronenbeugung wird in die technische Konzeption der RCLs des RCL-Portals eingefuumlhrt Abb 2 zeigt den prinzipiellen Aufbau eines RCLs aus RCL-Server Interface und Experiment

Abb 2 Aufbau eines RCLs am Beispiel des RCLs Elektronenbeugung

Das Experiment Elektronenbeugung ist ein Standardversuch mit Hochspannungsnetzgeraumlt2 und Elektronenbeugungsroumlhre3 Eine Webcam Interface und RCL-Server erweitern den Versuch zum RCL Die nummerierten Kabelverbindungen in Abb 2 haben folgende Funktio-nen Kommunikation zwischen RCL-Server und Interface uumlber serielle Schnittstellen (1) 12 V-Spannungsversorgung des Interface vom Steckernetzteil (2) geschaltete Netzspannung des Hochspannungsnetzgeraumlts (3) Steuerung der Ausgangsspannung des Hochspan-nungsnetzgeraumlts bzw der Beschleunigungsspannung uumlber das Interface (4) Heizspannung fuumlr Gluumlhkathode der Elektronenkanone (5) Beschleunigungsspannung fuumlr die Elektronenka-none (6) USB-Anschluss der Webcam am RCL-Server (7) und Internetanschluss des RCL-Servers (8) Um ohne stoumlrendes Fremdlicht mit der Webcam das Beugungsmuster auf dem Szintillationsschirm beobachten zu koumlnnen befindet sich das gesamte Experiment im Betrieb unter einem Verdunklungskasten

2 Vgl LD Didactic Hochspannungsnetzgeraumlt 10 kV 3 Vgl LD Didactic Elektronenbeugungsroumlhre

6

Das RCL Elektronenbeugung kann auf dem RCL-Portal nach der Wahl des Menuumlpunkts RCLs aufgerufen werden Die Wahl des Menuumlpunkts Labor aus der Standard-Lernumgebung ruft die Laborseite des RCLs in Abb 3 auf

Abb 3 Laborseite des RCLs Elektronenbeugung in einem Webbrowser

Im Bedienfeld kann die Gluumlhkathode der Elektronenkanone mit dem Button Elektronenroumlhre einschalten eingeschaltet werden Durch Eingabe von Werten zwischen 0 und 43 kV kann eine variable Beschleunigungsspannung an die Elektronenkanone angelegt das auf dem Szintillationsschirm entstehende Beugungsmuster im Webcamfeld beobachtet und mit dem Button Screenshot das Webcambild auf dem Computer gespeichert werden

Die Realisation eines RCLs erfolgt in zwei Schritten Als lokal gesteuertes RCL kann das Ex-periment ohne Internetzugang vom RCL-Server aus gesteuert werden als ferngesteuertes RCL kann mit dem RCL zusaumltzlich weltweit uumlber das Internet experimentiert werden Abb 4 zeigt dazu das Blockdiagramm der fuumlr alle RCLs einheitlichen Funktionsgruppen von RCL-Server Interface und Experiment Pfeile zwischen den Funktionsgruppen geben Kommuni-kations- oder Abhaumlngigkeitsrichtungen an

7

Abb 4 Funktionsgruppen von RCL-Server Interface und Experiment eines RCLs

Lokal gesteuertes RCL Damit das Experiment fernbedienbar wird muss der Versuchsaufbau mit Sensoren (z B fuumlr Temperatur) Aktoren (z B Schrittmotor) oder anderen gesteuerten Geraumlten (z B Hochspannungsnetzgeraumlt in Abb 2) ausgestattet werden Das Interface besteht aus einer fuumlr alle RCLs identischen Basisschaltung und aus RCL-spezifischen Erweiterungsschal-tungen (rarr 212) fuumlr die Sensoren Aktoren und gesteuerten Geraumlte Wichtigster elektronischer Baustein der Basisschaltung ist ein programmierbarer Mikro-controller (rarr 211) zur Steuerung des Experiments Fuumlr die Programmentwicklung wird eine Entwicklungsumgebung auf dem RCL-Server oder alternativ auf anderen Computern verwendet (rarr 213) Die Programmuumlbertragung vom RCL-Server auf den Mikrocontroller erfolgt uumlber einen USB-ISP-Programmer und die ISP-Schnittstelle des Mikrocontrollers (rarr 213) Danach werden die in Abb 4 gestrichelt dargestellten Funktionsgruppen und Verbindungen nicht weiter benoumltigt und das RCL kann lokal uumlber ein Terminal (rarr 22) ge-steuert werden werden

Ferngesteuertes RCL Um auf das RCL weltweit zugreifen zu koumlnnen wird auf dem RCL-Server ein Webserver installiert und ein Internetzugang benoumltigt (rarr 31) Befehle von der Laborseite wie z B Parametereingaben werden von einem PHP-Programm interpretiert und uumlber die RS232-Schnittstelle (alternativ uumlber USB-Seriell-Adapter) des RCL-Servers an die RS232-Schnittstelle des Mikrocontrollers zur Ausfuumlhrung an das Experiment uumlbermittelt In umge-kehrter Richtung werden uumlber das PHP-Programm vom Mikrocontroller Zustaumlnde des Ex-periments oder Messergebnisse an die Laborseite uumlbermittelt (rarr 321) Zur Uumlbertragung von Videobildern einer oder mehrerer Webcams die visuelle Ruumlckmeldungen uumlber den Zustand des Experiments geben wird ein Videoserver eingesetzt (rarr 322) Der RCL-Server stellt Besuchern auszliger der dynamisch generierten Laborseite auch die statischen Webseiten der Standard-Lernumgebung (larr 11 Abb 2) des RCLs bereit (rarr 33)

8

12 Wahl der RCL-Technik Es existiert eine nur schwer im Detail zu uumlberblickende und zu beherrschende Vielzahl von Hard- und Softwaretechnologien (Interfaces und Programmiersprachen) um ein Experiment uumlber das Internet fernbedienbar zu machen Im Folgenden wird die Wahl der Technik von RCLs des RCL-Portals begruumlndet

Interface Zu Beginn des RCL-Projekts war es naheliegend auf vorhandene technische Loumlsungen zum Interface zuruumlckzugreifen Das RCL Elektronenbeugung wurde zunaumlchst mit dem Power-Cassy4 und dem Sensor-Cassy5 von Leybold zur Steuerung und Messung der Be-schleunigungsspannung betrieben Der heutige Preis fuumlr beide Komponenten zusammen liegt bei ungefaumlhr 1700 euro Ein Datenaustausch zwischen dem RCL-Server und dem Sen-sor-Cassy wurde uumlber das Common Gate Interface (CGI) realisiert Bei den nicht mehr existierenden Versionen der RCLs Beugung und Interferenz und Computertomographie wurde das Intelligent Interface6 von Fischertechnik eingesetzt Fuumlr 130 euro wurden 4 umpolbare kurzschlussfeste digitale Ausgaumlnge mit 025 A Dauerbelast-barkeit fuumlr Gleichstrommotoren Elektromagneten oder Lampen geboten Digitale Senso-ren wie z B Taster konnten an 8 digitale Eingaumlnge angeschlossen werden Fuumlr Potenti-ometer Temperatur- oder Helligkeitssensoren mit variablem Widerstand als Ausgangs-groumlszlige waren 2 analoge Eingaumlnge mit Eingangswiderstand zwischen 0 und 5 kΩ und einer Abtastrate von 50 Hz verfuumlgbar Programmiert werden konnte das Interface mit C++ Vi-sual Basic oder als Einstieg in die Technik des Programmierens mit der graphisch orien-tierten Programmiersprache LLWin Ein nutzerspezifisches im RAM des Interface gespei-chertes Programm ging ohne Spannungsversorgung verloren Die Nachteile dieser Interfaces wie zu hohe Kosten zu geringe Flexibilitaumlt beim Anschluss von Sensoren und Aktoren - insbesondere von Schrittmotoren - und zu geringe Messraten wurden erst durch das programmierbare Eigenbau-Interface (rarr 21) fuumlr ungefaumlhr 50 euro (rarr 41) und eine modular gestaltete an das jeweilige RCL anzupassende PHP-Basisprogrammierung (rarr 432) geloumlst Zur Programmierung des Interface wird ein USB-ISP-Programmer fuumlr ungefaumlhr 30 euro benoumltigt

Software fuumlr RCL-Server Mikrocontroller und Standard-Lernumgebung Tab 1 enthaumllt eine Uumlbersicht der Programme fuumlr den RCL-Server und einem weiteren Computer Die Links fuumlhren auf die Webseite zum Download des Programms und Preise sind angegeben Auf Installation und Konfiguration von Programmen wird in den einzel-nen Abschnitten des Tutorials eingegangen

4 Vgl LD Didactic Power-Cassy 5 Vgl LD Didactic Sensor-Cassy 6 Vgl Fischertechnik Intelligent Interface nicht mehr lieferbare Art-Nr 30402 bei Knobloch GmbH

9

Typ Hersteller Name und Version Preis

RC

L-Se

rver

Betriebssystem und Terminal

Microsoft Windows XP Professional mit Service Pack 3 Microsoft Hyperterminal in Windows XP Professional unter

StartProgrammeKommunikationHyperterminal asymp 20 euro

Webserver und PHP Apache Friends XAMPP 174 fuumlr Windows Installer-Version The PHP Group PHP 531 (enthalten in XAMPP 174)

-

Videoserver Moonware Studios webcamXP 5 Free (eine Videoquelle) Moonware Studios webcamXP 5 Private (bis zu 5 Videoquellen)

- 4495 euro

RCL-Software Technische Universitaumlt Kaiserslautern RCL-Ordner htdocs -

Fernwartung- und Desktop-Sharing TeamViewer GmbH TeamViewer 6 Vollversion -

Virenscanner Avira AntiVir Personal Webeditor Notepad++ team Notepad++ 59 -

Com

pute

r

Entwicklungsumgebungen fuumlr Mikrocontroller ATmega16

ATMEL AVR-Studio 418 - Sourceforge WinAVR - MCS Electronics BASCOM-AVR Demoversion (maximal 4 kB

Programmcode) MCS Electronics BASCOM-AVR Vollversion

-

89 euro MikroElektronika MikroPascal Pro for AVR asymp 140 euro

Webeditor Notepad++ team Notepad++ 59 Adobe Dreamweaver CS557

- asymp 115 euro

Fernwartung- und Desktop-Sharing TeamViewer GmbH Teamviewer 6 Vollversion -

Tab 1 Programme fuumlr den RCL-Server und fuumlr weiteren Computer zur Prgrammie-rung des Mikrocontrollers Webseitenerstellung und Fernwartung ( optio-nale Programme Links fuumlhren auf Webseite zum Download Stand Juni 2011)

Fuumlr den RCL-Server wird als stabiles Betriebssystem Windows XP Professional einge-setzt Microsoft vertreibt seit Dezember 2008 Windows XP nicht mehr Sicherheitspatches werden noch bis April 2014 bereitgestellt ein Bezug ist z B uumlber Ebay8 moumlglich Das Hy-perterminal-Programm zur Kommunikation mit dem Interface ist Teil von Windows XP Professional Vom Open-Source-Paket XAMPP wird der Apache Webserver und der PHP-Interpreter eingesetzt Da in der Regel bei RCLs zwei Webcambilder uumlber das Inter-net uumlbertragen werden muumlssen ist der Videoserver webcamXP 5 nicht kostenlos Im RCL-Ordner htdocs befindet sich die Basissoftware die noch an das zu realisierende RCL anzupassen ist Ein kostenloser Virenscanner wie z B Antivir Personal ist erfahrungsge-maumlszlig ausreichend Als Fernwartungssoftware fuumlr den RCL-Server wird Teamviewer emp-fohlen Es genuumlgt der Teamviewer Host weil vom RCL-Server kein Remote-Zugriff auf den Computer erfolgen muss Fuumlr kleinere Arbeiten an der RCL-Software oder der Stan-dard-Lernumgebung waumlhrend der Fernwartung sollte ein kostenloser Webeditor wie z B Notepad++ installiert werden Auf einem weiteren Computer kann zur Programmierung des Mikrocontroller eine Ent-wicklungsumgebung fuumlr folgende Programmiersprachen installiert werden Mit dem AVR-Studio kann in Assembler und nach der Installation von WinAVR in C bzw C++ program-miert werden Fuumlr Einsteiger wird eine Programmierung in Basic mit BASCOM-AVR emp-fohlen Falls der Programmcode groumlszliger als 4 kB ist muss die Vollversion erworben wer-

7 Vgl Adobe Dreamweaver CS55 8 Vgl Ebay Windows XP Professional

10

den Eine Programmierung in Pascal ist fuumlr ungefaumlhr 140 euro mit dem Pascal-Compiler von MikroElektronika moumlglich Mit Notepad++ steht ein kostenloser und guter Webeditor zum Erweitern der PHP-Basissoftware und zum Erstellen von Webseiten der Standard-Lernumgebung bereit Als professionellerer Editor kann z B Dreamweaver verwendet werden Fuumlr die Fernwartung des RCL-Servers muss auf dem zugreifenden Computer die Vollversion von Teamviewer installiert werden

Die gewaumlhlte Hard- und Software fuumlr RCLs bietet folgende Vorteile

Geringe Hard- und Softwarekosten Interface mit Erweiterungsschaltungen (asymp 70 euro) USB-ISP-Programmer (asymp 30 euro) AVR-Studio zur Programmierung in C (0 euro) Betriebssystem Windows XP Professional (asymp 20 euro) webcamXP 5 fuumlr ein Webcambild (0 euro) koumlnnen zusammen fuumlr 120 euro erworben werden Mit einem nicht mehr benoumltigtem aumllteren Computer Tastatur und Maus (0 euro) einem ausge-dientem Monitor (0 euro) einer einfachen USB-Webcam (asymp 20 euro) und der Positionierungsme-chanik eines nicht mehr benoumltigten aumllteren Scanners (0 euro) kann ein RCL schon ab 140 euro realisiert werden

Einfache Adaptierbarkeit des Interface und der PHP-Basissoftware an das Experiment Der Mikrocontroller des Interface kann frei programmiert werden Mit der Aufteilung der Schaltung des Interface in eine fuumlr alle RCLs gleiche Basisschaltung und RCL-spezifische Erweiterungsschaltungen (rarr 212) ist das Interface leicht an das Experiment anpassbar Durch die im Mikrocontroller integrierten Peripheriebausteine genuumlgen meist wenige Bau-elemente und die unterschiedlichsten Mess- und Steuergroumlszligen koumlnnen verarbeitet wer-den Die PHP-Basissoftware braucht nur um wenige Programmbloumlcke erweitert zu wer-den

Einfacher Zugang zu Ressourcen der RCL-Technik Die weite Verbreitung des Mikrocontrollers ATmega16 im Hobbybereich korrespondiert mit einem umfangreichen kostenlosen Informationsmaterial zur Hardware und Software des Mikrocontrollers im Internet In Tab 2 sind unter Mikrocontroller Links zu Datenblaumlt-tern Portalen und Foren mit praxisnahen Loumlsungen fuumlr Probleme der Mikrocontroller-Programmierung zusammengestellt Ein staumlrker strukturiertes Erlernen der Funktionen und Programmierung von AVR-Mikrocontrollern ist uumlber die genannten Tutorials im Inter-net und Buumlcher moumlglich

11

Ressource Kurzbeschreibung

Mik

roco

ntro

ller

Mikrocontroller mega16A Mikrocontroller ATmega16A Summary

Ausfuumlhrliches und zusammenfassendes Datenblatt des Mikrocon-trollers ATmega16

wwwmicrocontrollernet Portal fuumlr Mikrocontroller RoboterNETZ Portal fuumlr Robotik Mikrocontroller und Elektronik AVR-Tutorial Tutorial zur AVR-Familie auf microcontrollernet BASCOM-AVR Online-Hilfe zur Entwicklungsumgebung BASCOM-AVR myAVR Mikrocontrollerloumlsungen fuumlr Ausbildung und Selbststudium BASCOM-Forum Forum von MCS BASCOM RoboterNETZ-Forum Forum von RoboterNETZ myAVR-Forum Forum von myAVR AVR-Forum Forum von Atmel Roland Walter AVR Mikrocontroller Lehr-buch Buch zur Programmierung von AVR-Mikrocontrollern mit Basic

Guumlnter Schmitt Mikrocomputertechnik mit Controllern der Atmel AVR-RISC-Familie

Buch zur Programmierung von AVR-Mikrocontrollern in Assemb-ler und C

Claus Kuumlhnel Programmierung der AVR RISC Mikrocontroller mit BASCOM-AVR

Buch zur Programmierung von AVR-Mikrocontrollern in BAS-COM-AVR (Basic)

Frank Sichla Schaltungssammlung Mikro-controller und USB

Buch mit praktischen Anwendungsschaltungen und Einsatzmoumlg-lichkeiten von Mikrocontrollern

HTM

LPH

P

SELFHTML Portal zum Erstellen von Webseiten mit HTML SELTPHP Portal zum Programmieren von Webseiten mit PHP PHP Entwicklerseite von PHP Kleines Tutorial PHP-Tutorial PHP-Handbuch PHP-Handbuch

Elek

tron

ik

reichelt elektronik Elektronikversand Conrad Elektronikversand ELV Elektronik Elektronikversand Datasheet Catalogcom Datenbank fuumlr Datenblaumltter elektronischer Bauelemente Datasheet Archive Datenbank fuumlr Datenblaumltter elektronischer Bauelemente Pegelwandler Max232 fuumlr serielle Schnitt-stelle Datenblatt des ICs Max232 von Texas Instruments

Spannungsregler L7805 Datenblatt des ICs L7805 von STMicroelectronics Schrittmotormodul TMC222 Datenblatt des ICs TMC222 von Trinamic

Schr

ittm

otor

en

Minebea Hybrid Stepping Motors Datenblaumltter von 12 Hybrid-Schrittmotoren Trinamic Stepper Motors Datenblaumltter und Bezugsquellen von 6 Hybrid-Schrittmotoren reichelt elektronik Groszliges Angebot an Schrittmotoren Quality Motors Auf TMC-Module und -ICs abgestimmte Schrittmotoren Nanotec Schrittmotor-Animation Animation von unipolarem und bipolarem Schrittmotor

Nanotec Glossar Glossar mit Erklaumlrungen zu wichtigen Begriffen aus der Schrittmo-tor-Antriebstechnik

Erich Rummich Elektrische Schrittmoto-ren und -antriebe- Funktionsprinzip- Be-triebseigenschaften - Messtechnik

Buch zum Erwerb von Kenntnissen zum Aufbau und zur Funkti-onsweise von Schrittmotoren

Tab 2 Ressourcen zur Realisation eines RCLs

Die seit 1996 zunehmende Bedeutung der kostenlosen Skriptsprache PHP und das Wachstum des Internets korrespondieren mit einer Zunahme an kostenlosem Informati-onsmaterial zur PHPHTML-Programmierung Neben den unter PHPHTML in Tab 2 ge-nannten Ressourcen sind wegen des groszligen Marktes keine Buumlcher zu PHP genannt Die teuren und schnell veraltenden Buumlcher sollten in Bibliotheken geliehen werden Unter Elektronik sind in Tab 2 Links zum Versandhandel elektronischer Bauelemente zu Datenbanken mit Datenblaumlttern elektronischer Bauelemente und zu Datenblaumlttern der wichtigsten ICs des Interface zu finden Unter Schrittmotoren sind Links zu Schrittmotoren

12

wichtiger Anbieter zusammengestellt die uumlber den Elektronikhandel leicht bezogen wer-den koumlnnen Das Buch von Erich Rummich erklaumlrt Zusammenhaumlnge zwischen Bauform und Funktionsweise von Schrittmotoren die uumlber Informationen zu Schrittmotoren im Tu-torial (rarr 231) gegebenen Informationen hinausgehen

Programmierung des Mikrocontrollers in Basic Besonders die Moumlglichkeit der Programmierung des Mikrocontrollers in der Hochsprache Basic (larr 12 Tab 1 Bascom AVR) erleichtert den Einstieg in den Selbstbau von RCLs Daruumlber hinaus besteht analog zur PHP-Programmierung die Mikrocontroller-Programmierung aus einer an das jeweilige RCL lediglich anzupassenden Basispro-grammierung (rarr 431)

Betriebssystemunabhaumlngigkeit Das Interface kommt ohne betriebssystemspezische Treiber aus PHP und HTML sind be-triebsystemunabhaumlngige Sprachen Der Apache Webserver XAMPP ist auszliger fuumlr Windows fuumlr die Betriebssysteme Linux Mac OS X und Solaris9 erhaumlltlich

Wartung von Programmierung und Interface Aumlnderungen der PHPHTML-Programmierung koumlnnen leicht uumlber einen Fernzugriff auf den RCL-Server vorgenommen werden Da der PHPHTML-Quellcode im RCL-Betrieb stets in einer lauffaumlhigen Form vorliegt fuumlhren Wechsel von Personen die Zugriff auf die Programmierung haben nicht zu Ausfaumlllen des RCLs Aumlnderungen und Reparaturen an den Ergaumlnzungsschaltungen des Interface koumlnnen aufgrund des Lochrasteranteils der Platine (rarr 412) leicht durchgefuumlhrt werden

Zerstoumlrungssichere Versuchskomponenten Versuchskomponenten sind durch die Programmierung des Mikrocontrollers vor Fehlbe-dienungen des RCLs geschuumltzt Da der Mikrocontroller die Zulaumlssigkeit von Parameter-werten uumlberwacht ist kein Missbrauch des Experiments durch Dritte moumlglich Abstuumlrze des RCL-Servers fuumlhren nicht zu undefinierten Zustaumlnden des Experiments weil der Mik-rocontroller das Experiment steuert In der Lebensdauer staumlrker begrenzte Versuchskom-ponenten wie z B die Elektronenbeugungsroumlhre beim RCL Elektronenbeugung (larr 11 Abb 2) koumlnnen durch eine programmierte Standby-Funktion des Mikrocontrollers bei Nichtgebrauch ausgeschaltet werden

Keine Installation von Zusatzsoftware Besucher benoumltigen zum Experimentieren mit RCLs lediglich einen kostenlos verfuumlgbaren Webbrowser wie z B die auf Funktionsfaumlhigkeit fuumlr die RCLs getesteten Internet Explo-rer Opera Firefox Safari oder Konquerer mit aktivierter Javaskript-Funktion Es muss keine weitere Zusatzsoftware installiert werden

Eine alternative technische Loumlsung fuumlr RCLs ist LabVIEW (Laboratory Virtual Instrument En-gineering Workbench) von National Instruments (NI)10 LabVIEW ist eine sehr umfangreiche

9 Apache friends XAMPP

13

mittlerweile als Industriestandard geltende grafische Programmierumgebung zum Messen Steuern und Regeln von Systemen Uumlber umfangreiche Treiber-Bibliotheken lassen sich fast alle gaumlngigen mit einer entsprechenden Schnittstelle ausgestatteten Geraumlte in LabVIEW ein-binden LabVIEW wurde als technische Loumlsung im RCL-Projekt aus mehreren Gruumlnden nicht eingesetzt

Besucher muumlssen einmalig vor dem Experimentieren mit RCLs die LabVIEW Run-Time Engine11 installieren

Es existieren nur wenige Schulgeraumlte mit den erforderlichen Schnittstellen

Die Kosten von ungefaumlhr 1300 euro fuumlr die Basisversion und ungefaumlhr 2800 euro fuumlr die Vollver-sion sind zu hoch

LabVIEW ist fuumlr die zu entwickelnden RCLs bzw die Zielgruppe aus Schuumllern und Studie-rende uumlberdimensioniert Der Nachbau von RCLs durch interessierte Schuumller und Studie-rende waumlre aus Kosten und Anforderungsgruumlnden nur schwer moumlglich

Trotz der graphischen Programmieroberflaumlche von LabVIEW muumlssen im Programmcode immer noch Anpassungen in der speziell fuumlr LabVIEW entwickelten Programmiersprache G vorgenommen werden

Die Einarbeitung in LabVIEW ist vom Zeitaufwand und den Anforderungen her mindes-tens genauso hoch wie die fuumlr Mikrocontroller- und PHP-Programmierung

Eine mit fertigen LabVIEW-Elementen gestaltete Laborseite ist nicht unbedingt nutzer-freundlicher als eine mit PHPHTML erstellte Laborseite

2 Lokal gesteuertes RCL 21 Interface 211 Mikrocontroller Zentrales Bauelement des Interface ist ein ATMEL AVR 8-bit RISC Mikrocontroller ATme-ga16 Dieser enthaumllt im Vergleich zu einem Mikroprozessor auszliger dem Prozessor auch peri-phere Module wie z B Speicher digitale und analoge Ein- und Ausgaumlnge oder Timer fuumlr Zu-satzfunktionen Dadurch kommen Anwendungen von Mikrocontrollern wie z B RCLs meist mit wenigen zusaumltzlichen Bauelementen aus Tab 3 enthaumllt eine Uumlbersicht der wichtigsten Features des Mikrocontrollers zum Prozessor zur Programmierung und Datenspeicherung zu peripheren Modulen und erlaumlutert einige Fachbegriffe

10 Vgl National Instruments 11 Vgl National Instruments LabVIEW Run-Time Engine

14

Feature Erlaumluterung

Proz

esso

r

ATMEL AVR 8 bit RISC Mik-rocontroller ATmega16

ATMEL US-amerikanischer Hersteller von Mikrocontrollern AVR Familie von Mikrocontrollern 8 bit Breite des internen Datenbusses des Mikrocontrollers RISC steht fuumlr Reduced Instruction Set Computer (Rechner mit reduziertem Befehls-

satz) Designphilosophie von Mikrocontrollern mit Befehlssatz aus moumlglichst einfa-chen Befehlen und houmlherer Effizienz des Prozessors

ATmega Eine der Mikrocontroller-Serien von ATMEL 16 steht fuumlr 16 kB Flash-ROM Groumlszlige des Programmspeichers des Mikrocontrollers

131 Befehle mit 1-2 Taktzyk-lenBefehl

Die ATmega-Serie besitzt unter den Mikrocontroller-Serien von ATMEL den groumlszligten Befehlssatz Die meisten Befehle benoumltigen zur Ausfuumlhrung nur einen Taktzyklus

Variabel waumlhlbare Taktfre-quenzen bis zu 16 MHz

Ein externer Schwingquarz legt die Schwingungsfrequenz einer Oszillatorschaltung und damit die Taktfrequenz des Mikrocontrollers fest

Prog

ram

mie

rung

und

Dat

ensp

eich

erun

g

ISP uumlber SPI-Bus in 16 kB Flash-ROM Programm-Speicher

ISP steht fuumlr In System Programming Der Mikrocontroller kann ohne aus der Schal-tung entfernt zu werden programmiert werden Es wird kein teures Programmierge-raumlt sondern nur ein Programmieradapter benoumltigt

SPI steht fuumlr Serial Peripheral Interface (Serielles Peripheres Interface) Nach dem Master-Slave-Prinzip arbeitender synchroner serieller Datenbus zur Kommunikation zwischen digitalen Schaltungen

Flash-ROM Kann zur Speicherung des Programmcodes ca 1000-mal neu be-schriebengeloumlscht - geflashed - werden aber beliebig oft gelesen werden Daten bleiben auch ohne Versorgungsspannung erhalten

512 B EEPROM 1 kB internes SRAM

EEPROM steht fuumlr Electrically Erasable Programmable Read Only Memory (Elektrisch loumlschbarer und programmierbarer Nur-Lese-Speicher) Nichtfluumlchtiger Speicher der beliebig oft gelesen und mindestens 100000 mal beschrieben werden kann Kann z B zum Speichern von Messwerten und Konfigurationsdaten verwen-det und uumlber ISP programmiert werden

SRAM steht fuumlr Static Random Access Memory Fluumlchtiger Speicher der beliebig oft gelesen und beschrieben werden kann Wird z B zur Speicherung von Variablen und des Stacks verwendet

Perip

here

Mod

ule

32 programmierbare Ein- und Ausgaumlnge

Der Mikrocontroller ist 40-polig Davon koumlnnen 32 Pole entweder als Ein- oder Aus-gang programmiert werden

Zwei 8-bit- und ein 16-bit-Timer mit Vorteilern und Ver-gleichs-Modus

Die vom Quarzoszillator gesteuerten Timer erlauben z B praumlzise Zeitmessungen oder Interrupts bei bestimmten Zaumlhlerstaumlnden Die maximalen Zaumlhlerstaumlnde sind bei 8 bit 255 und bei 16 bit 1023 Vorteiler erlauben eine Verringerung der Zaumlhlrate

Programmierbare USART USART steht fuumlr Universal SynchronousAsynchronous Receiver Transmitter Seriel-

le Schnittstelle die zur Datenuumlbertragung zwischen Mikrocontroller und Computer benutzt wird

I2C Interface

I2C ist ein synchroner serieller Zweidraht-Bus mit einer Daten- und einer Taktleitung zur Kommunikation zwischen ICs Nach dem Master-Slave-Prinzip kann ein Master bis zu 128 Slaves ansprechen Die Uumlbertragungsrate liegt im Standard-Mode bei 100 kbits

Externe und interne Interrupts

Interrupts unterbrechen das Hauptprogramm des Mikrocontrollers um kurzfristige und zeitkritische Verarbeitungen durchzufuumlhren Externe Interrupts werden durch am Mikrocontroller angeschlossene Hardware gesteuert interne Interrupts durch die Programmierung des Mikrocontrollers

4 PWM-Ausgaumlnge PWM steht fuumlr Pulse Width Modulation (Pulsweitenmodulation) Timer stellen an 4

Ausgaumlngen Rechteckimpulse der Dauer t und Unterbrechungsdauer T-t mit variab-lem Tastverhaumlltnis tT zur Verfuumlgung

8 10-bit ADC

ADC steht fuumlr Analog to Digital Converter (AD-Wandler) Integrierte Schaltung die analoge Eingangsspannung Ue in digitale Ausgangsspannung (Zahl) umwandelt

10-bit Aufloumlsungsvermoumlgen des AD-Wandlers Kleinster aufloumlsbarer Spannungsun-terschied ist (Uemax - Uemin)210

Tab 3 Features des Mikrocontrollers ATmega16

15

212 Basisschaltung und Erweiterungsschaltungen Abb 5 zeigt am Beispiel des RCLs Elektronenbeugung die Platine des Interface mit den Funktionsgruppen 1 - 5 der Basisschaltung und den Funktionsgruppen 6 und 7 der Erweite-rungsschaltungen (larr 11 Abb 4)

Abb 5 Platine des Interface des RCLs Elektronenbeugung

Abb 6 zeigt den dazugehoumlrigen Schaltplan mit den Nummern der Funktionsgruppen und die Pinbelegung des Mikrocontrollers ATmega16

Abb 6 Schaltplan des Interface des RCLs Elektronenbeugung (links) und Pinbelegung

des Mikrocontrollers ATmega16 (rechts)

16

Basisschaltung Die Spannungsversorgung (1) des Interface erfolgt uumlber ein Universal-Steckernetzteil mit der Betriebsspannung Ub = 12 V Eine Diode SB140 schuumltzt die Elektronik des Interface vor falscher Polung der Spannungsversorgung Der Spannungsregler L7805 wandelt die Betriebsspannung am Hohlstecker in eine Gleichspannung von 5 V fuumlr die Spannungs-versorgung der elektronischen Bauelemente des Interface um Die Betriebsspannung kann im Interface auch direkt zur Ansteuerung von Relais oder zur Spannungsversorgung kleinerer Motoren verwendet werden Bei Bedarf kann unter Beachtung der Kuumlhlung des L7805 das Interface mit houmlheren Betriebsspannungen z B fuumlr staumlrkere Schrittmotoren betrieben werden Die nicht hinreichend stabile und temperaturabhaumlngige Frequenz des internen RC-Oszillators im Mikrocontroller (2) kann bei Verwendung der USART zu Problemen fuumlhren Daher wird ein externer 110592 MHz Schwingquarz (3) eingesetzt Der IC MAX232 ist ein Pegelwandler der die 0V+5 V-Signale der seriellen Schnittstelle (4) des Mikrocontrol-lers an die plusmn12 V-Signale der seriellen Schnittstelle des Computers anpasst Uumlber den ISP-Stecker kann der Mikrocontroller programmiert werden (5) Das Interface in der Ba-sisschaltung kann im Selbstbau angefertigt werden (rarr 41)

Erweiterungsschaltungen Nur die wenigsten Aktoren Sensoren gesteuerte Geraumlte und Bauelemente eines RCLs lassen sich direkt vom Mikrocontroller ansteuern Beim RCL Elektronenbeugung wird die Heizspannung der Elektronenkanone mit einem Relais zum Schalten der Netzspannung des Hochspannungsnetzgeraumltes ein- und ausgeschaltet (6) Liefert der Mikrocontroller am Port PA0 die Spannung 5 V (high) so wird die Kollektor-Emitter-Strecke des Transistors BC 337 niederohmig fast die gesamte Betriebsspannung Ub = 12 V faumlllt uumlber dem Relais ab und es flieszligt ein Strom durch das Relais Die Diode 1N4001 schuumltzt den Transistor vor Induktionsspannungsspitzen beim Ein- und Ausschalten der Spule im Relais Am Steuereingang des Hochspannungsnetzgeraumlts kann durch Anlegen einer Steuer-spannung US zwischen 0 V und 5 V die Beschleunigungsspannung der Elektronenkanone zwischen 0 und 43 kV im belasteten Zustand bei eingeschalteter Gluumlhkathode variiert werden Die analoge Steuerspannung US erzeugt ein 8-bit Digital-Analog-Wandler PCF8591 der uumlber den I2C-Bus des Mikrocontrollers (Ports PC0 und PC1) mit Binaumlr-codes zwischen 0 und 255 angesteuert wird (7) Die Ausgangsspannung des DA-Wandlers liegt in 256 Stufen zwischen 370 mV und 497 V Dieser Schaltung wurde der Vorzug gegenuumlber der Erzeugung einer Steuerspannung mit Hilfe eines der Pulsweiten-modulationsausgaumlnge des Mikrocontrollers gegeben weil der Programmieraufwand ge-ringer und die Steuerspannung keine Restwelligkeit aufweist

Eine Uumlbersicht zu Erweiterungsschaltungen fuumlr Sensoren und Aktoren (rarr 421) zeigt die Anpassungsfaumlhigkeit des Interface an die unterschiedlichsten Experimente

17

213 Programmierung des Mikrocontrollers Im Folgenden wird die Programmstruktur des Mikrocontroller-Programms und die Uumlbertra-gung des Programmcodes in den Mikrocontroller beschrieben

Programmstruktur Der Mikrocontroller ist mit einem Programm (Firmware) ausgestattet um die Aufgaben des Interfaces abzuarbeiten Hierzu zaumlhlen im Wesentlichen Programmteile zur Kommu-nikation mit dem RCL-Server und zur Steuerung des Experiments da das Interface eine Schnittstelle zwischen Experiment und RCL-Server darstellt Weitere Programmteile sind beispielsweise zur Initialisierung des Versuchsaufbaus und der Steuerparameter sowie zur Konfiguration des Interfaces realisiert Abb 7 zeigt ein Flussdiagramm der Programm-teile zur Kommunikation mit dem RCL-Server und zur Steuerung des Experiments

Abb 7 Flussdiagramm der Programmierung des Mikrocontrollers

Der Programmteil zur Kommunikation mit dem RCL-Server besteht im Wesentlichen aus einer Schleife die unablaumlssig auf Steuerzeichen des RCL-Servers wartet diese gegebe-nenfalls empfaumlngt und auswertet Soll mittels eines empfangenen Steuerzeichens der Versuchsaufbau angesteuert werden wird vom Kommunikations-Programmteil eine ent-sprechende Anweisung fuumlr den Steuerungs-Programmteil generiert In der Schleife wer-den auch Antworten wie z B Messergebnisse des Steuerungs-Programmteils entgegen-genommen und an den RCL-Server ausgegeben Der Kommunikations-Programmteil kann Kommandos mit und ohne Parameter entgegen-nehmen und verarbeiten So lassen sich einfache Befehle wie Start und Stopp eines Mo-tors aber auch speziellere Anweisungen wie Messe uumlber den Bereich von a nach b mit einer Schrittweite c ausfuumlhren Auch Messergebnisse oder Statusinformationen in Form einzelner Daten wie Zahlen oder Listen koumlnnen vom Kommunikations-Programmteil an den RCL-Server uumlbertragen werden Ferner uumlbernimmt der Kommunikations-Programmteil auch den Austausch von Konfigurationsdaten fuumlr das Interface beispiels-

18

weise Motorparameter oder Zeitvorgaben fuumlr eine Standby-Funktion Schlieszliglich gibt der Kommunikations-Programmteil auch Fehlermeldungen an den RCL-Server aus etwa bei einem Fehlerzustand im Experiment oder bei fehlerhaften Anweisungen des Besuchers bzw des RCL-Servers Im Programmteil zur Steuerung des Experiments erfolgt die Ansteuerung von Aktoren und das Auslesen von Sensoren mittels elektronischer Aus- und Eingaumlnge (Ports) des Mikro-controllers Gegebenenfalls sind zwischen den Ports des Mikrocontrollers und dem Expe-riment Erweiterungsschaltungen erforderlich (larr 212 Erweiterungsschaltungen) Der Steuerungs-Programmteil ist als Interrupt-Routine implementiert Interne Zeitgeber des Mikrocontrollers rufen den Programmteil zyklisch z B alle 1 oder 10 Millisekunden auf wobei die zuvor beschriebene Schleife des Kommunikations-Programmteils kurzzeitig fuumlr die Abarbeitung des Steuerungs-Programmteils unterbrochen wird Hierdurch wird die Steuerung als Real-Time-Prozess12 ausgefuumlhrt und es koumlnnen insbesondere zeitkritische Steueraufgaben mit einer Aufloumlsung von ungefaumlhr 1 - 10 ms zuverlaumlssig erledigt werden Ferner ist im Mikrocontroller und dem Programm ein sogenannter Watchdog installiert der das Programm bei einem Programmabsturz automatisch neu startet Der Watchdog als elektronische Baugruppe im Mikrocontroller fuumlhrt einen Neustart des Mikrocontrollers (Reset) durch sofern er nicht mehr uumlber das Programm in vorgegebenen Zeitintervallen angesteuert wird Je nach RCL gibt es noch weitere Interrupt-Routinen die unabhaumlngig vom Zeittakt des Mikrocontrollers auf externe Ereignisse wie z B Ausgangsspannungsaumlnderungen eines Sensors reagieren Damit kann besonders schnell auf Erfordernisse des Experiments re-agiert oder es koumlnnen Zeitmessungen mit einer Genauigkeit von ungefaumlhr 10-6 s durchge-fuumlhrt werden Im Anhang (rarr 431) ist der Pascal-Quellcode fuumlr den Mikrocontroller des RCLs Elektronenbeugung verfuumlgbar

Programmuumlbertragung Nach der Kompilierung des Assembler- Basic- C+- C++- oder Pascal-Programms liegt eine Hexadezimaldatei vor die vom Computer in den Mikrocontroller uumlbertragen werden muss (Flashen des Programms) Zur Programmuumlbertragung muss das AVR-Studio instal-liert und konfiguriert sein (rarr 441) Abb 8 zeigt wie die Programmuumlbertragung durchge-fuumlhrt wird

12 Real-Time bedeutet hier dass die maximale Dauer eines Vorgangs vorhersehbar und gewaumlhrleistet ist dass eine Steuer-

aufgabe nach einer vorhersehbaren Zeit abgeschlossen ist

19

Abb 8 Programmuumlbertragung zwischen Computer und Mikrocontroller im Inter-

face des RCLs Elektronenbeugung uumlber USB-Seriell-Adapter und ISP-Programmer

Das Interface braucht nicht mit dem Experiment verbunden zu sein Auch Erweiterungs-schaltungen innerhalb oder auszligerhalb des Interface muumlssen nicht mit dem Mikrocontroller verbunden sein Das Interface ermoumlglicht uumlber die ISP-Schnittstelle die Programmierung mit einem preisguumlnstigen ISP-Programmer ohne ein teureres Experimentierboard13 Zur Uumlbertragung des Programms muss in folgenden Schritten vorgegangen werden

(1) Spannungsversorgung des Interface zur Sicherheit unterbrechen weil beim Verbinden mehrpoliger Steckerverbindungen es zu Kurzschluumlssen kommen kann

(2) 10-poligen ISP-Stecker des ISP-Programmers an die ISP-Schnittstelle des Interface anschlieszligen

(3) ISP-Programmer an die serielle Schnittstelle oder uumlber USB-Seriell-Adapter an die USB-Schnittstelle des Computers anschlieszligen

(4) Spannungsversorgung des Interface wieder herstellen

(5) AVR-Studio unter StartProgramme aufrufen und nach Abb 9 in der Registerkarte Program unter Flash die zu uumlbertragende Hexadezimal-Datei z B Elektronenbeu-gunghex auf der Festplatte auswaumlhlen und Program waumlhlen

13 Vgl ATMEL STK 500 Entwicklerkit bei Reichelt Elektronik

20

Abb 9 Uumlbertragung der Hexadezimaldatei Elekt-

ronenbeugunghex in den Mikrocontroller

(6) Spannungsversorgung des Interface unterbrechen ISP-Programmer vom Interface trennen AVR-Studio beenden und den ISP-Programmer vom Computer trennen

22 Hyperterminal Nach der Programmuumlbertragung kann das Experiment uumlber das konfigurierte Hyperterminal (rarr 454) lokal gesteuert werden Mit dem Hyperterminal koumlnnen als Text eingegebene Be-fehle oder Abfragen an den Mikrocontroller gesendet oder von diesem empfangen werden Der Computer muss wie bei der Programmuumlbertragung mit dem Interface per Null-Modem-Kabel uumlber die serielle Schnittstelle oder einen USB-Seriell-Adapter verbunden sein Das In-terface muss an die Versorgungsspannung anschlossen sein braucht aber nicht mit dem Experiment verbunden zu sein Abb 10 zeigt nach Eingabe von und von param im Hyper-terminal die Befehlsliste des Mikrocontrollers fuumlr das RCL Elektronenbeugung

21

Abb 10 Befehlsliste des Mikrocontrollers im Hyperterminal fuumlr das RCL Elektronenbeugung

Tab 4 gibt Erlaumluterungen zur Befehlsliste

BefehlAbfrage Erlaumluterung

DA x Am Eingang des DA-Wandlers wird die Zahl x (0 - 255) im Binaumlrcode

angelegt und die Ausgangsspannung des Hochspannungsnetzgeraumlts bzw die Beschleunigungsspannung der Elektronenkanone eingestellt

OnOff Hochspannungsnetzgeraumlt und Gluumlhkathode der Elektronenkanone ein-

oder ausschalten Beim Einschalten wird die Steuerspannung des Inter-face am Hochspannungsnetzgeraumlt auf asymp 0 V einstellt

Standby Ausgabe der eingestellten Standbyzeit von 300 s setSB x Standbyzeit einstellen

next Standby in Ausgabe der verbleibenden Standbyzeit (254 s) bis das Experiment

ausgeschaltet wird Eine negative Standbyzeit gibt die Zeit seit dem Ab-lauf der Standbyzeit an

Power On Delay Ausgabe der Verzoumlgerungszeit (2 s) bis das Hochspannungsnetzge-

raumltElektronenbeugungsroumlhre nach dem Ausschalten oder nach Ablauf der Standbyzeit erneut eingeschaltet werden kann

setPOD x Verzoumlgerungszeit einstellen

power on enabled in Ausgabe wie lange Hochspannungsnetzgeraumlt nicht eingeschaltet wer-

den kann Zeiten unter 0 bedeuten dass Power-On-Delay-Zeit ablaufen ist

Tab 4 Erlaumluterung der Befehle in Abb 10

23 Positionieren von Objekten In fast allen RCLs des RCL-Portals auszliger den RCLs Elektronenbeugung und Oszilloskop muumlssen Objekte rotatorisch oder translatorisch positioniert werden Eingesetzt werden Hyb-rid-Schrittmotoren als Aktoren eine Schrittmotorsteuerung von Trinamic als Erweiterungs-schaltung (TMC222-Modul) die Positionierungseinheit ausgedienter Flachbrett-Scanner und ein Referenz-Taster als Sensor

231 Hybrid-Schrittmotoren Abb 11 zeigt den vereinfachten schematischen Aufbau eines zweiphasigen Schrittmotors mit getrennten magnetischen Kreisen des Stators und einem permanent magnetisierten zweipoligen Rotor (Polpaarzahl 1)

22

Abb 11 Funktionsprinzip von Schrittmotoren Unipolare (links) und bipolare Schaltung (rechts)

von Schrittmotoren mit Bestromungstabellen fuumlr Voll- und Halbschrittbetrieb Darge-stellt ist der Schritt 0

Der Rotor verfuumlgt bei der dargestellten Polreihenfolge S-S-N-N des Stators uumlber eine stabile Stellung bei einer hypothetischen (magnetische Monopole) Polreihenfolge N-S-N-S gaumlbe es mit diesem Aufbau des Stators nur instabile Stellungen des Rotors Um den Rotor in Bewe-gung zu setzen muss die Polreihenfolge S-S-N-N im oder entgegen den Uhrzeigersinn (Rechts- oder Linksdrehung) weitergeschaltet und der Rotor vom magnetischen Schrittfeld mitgenommen werden

Die magnetische Polaritaumlt eines magnetischen Kreises laumlsst sich entweder durch zwei Spu-len konstanter elektrischer Polaritaumlt mit unterschiedlichem Wicklungssinn (herstellungstech-nisch zu aufwendig) durch eine Spule mit Mittelanzapfung und konstanter elektrischer Pola-ritaumlt der beiden Teilspulen (unipolare Schaltung) oder durch eine Spule mit wechselnder elektrischer Polaritaumlt (bipolare Schaltung) realisieren In Abb 11 sind dazu die elektrischen Beschaltungen und die Bestromungstabellen fuumlr eine Rechtsdrehung des Rotors dargestellt Fuumlr eine Linksdrehung des Rotors muss die Schrittfolge in umgekehrter Reihenfolge durch-laufen werden

Es wird zwischen Vollschrittbetrieb (graue Zeilen der Tabellen) mit Schrittwinkel 90deg bzw Schrittzahl 4 und Halbschrittbetrieb (alle Zeilen der Tabellen) mit Schrittwinkel 45deg bzw Schrittzahl 8 unterschieden Beim Vollschrittbetrieb werden immer beide magnetische Kreise bestromt und die N-S-Polachse des Rotors nimmt nur Stellungen zwischen den Statorpolen

23

an Beim Halbschrittbetrieb wird zwischen den Vollschritten nur einer der magnetischen Krei-se bestromt und die N-S-Polachse des Rotors kann zusaumltzlich 4 Stellungen in Richtung der Statorpole einnehmen Der Hybrid-Schrittmotor ist die am haumlufigsten vertretene Bauform von Schrittmotoren Abb 12 zeigt den Aufbau eines Hybrid-Schrittmotors

Abb 12 Aufbau eines Hybrid-Schrittmotors fuumlr unipolare und

bipolare Schaltung Daten Schrittwinkel 18deg max Drehmoment 155 Ncm

Der Stator besteht aus zwei Straumlngen mit je 4 in Reihe geschalteten Spulen Der Wick-lungssinn der Spulen ist in beiden Straumlngen so dass sich die Polfolge N-S-N-S uumlber den Umfang ergibt Beide Straumlnge zusammen ergeben unabhaumlngig von der Stromrichtung ei-ne Polfolge N-N-S-S-N-N-S-S uumlber den Umfang Ein zweipoliger Rotor (Polpaarzahl 1) kann im Vollschrittbetrieb 4 Stellungen annehmen Der Rotor des Hybridschrittmotors be-steht aber aus axial magnetisierten Permanentmagneten deren Polpaarzahl durch axial versetzte weichmagnetische Zahnscheiben auf 50 erhoumlht wurde Dadurch erhoumlht sich die Schrittzahl auf 4 sdot 50 = 200 und der Schrittwinkel verkleinert sich auf 360deg200 = 18deg Um stabile Rotorstellungen zu erhalten muumlssen die Statorsegmente ebenfalls gezahnt ausge-fuumlhrt werden

Ein solcher Hybrid-Schrittmotor vereint die Vorteile des Reluktanz- und des permanenter-regten Schrittmotors Ein kleiner Schrittwinkel wird durch das von Reluktanzschrittmotoren bekannte Prinzip der Erzeugung einer Vielzahl von Polen des Rotors durch Zahnscheiben erzielt Ein hohes Drehmoment wird durch das von permanenterregten Schrittmotoren be-kannte Prinzip der Ausfuumlhrung des Rotors als Permanentmagnet erzielt Aufgrund der bi-filaren Wicklung besteht jede Statorwicklung aus zwei Teilspulen und der Schrittmotor kann in unipolarer (alle 6 Anschluumlsse verwendet) und bipolarer Schaltung (nur 4 An-schluumlsse verwendet gemeinsamer Anschluss der Teilspulen bleibt unverwendet) wie in Abb 12 dargestellt verwendet werden

24

Schrittmotoren erlauben nicht nur das Bewegen sondern innerhalb der Leistungsgrenzen (keine Schrittverluste) auch ein genaues Positionieren von Objekten Bei bekannter Schrittzahl auf einer gemessenen Strecke oder Schrittzahl fuumlr den Vollwinkel koumlnnen aus-gehend von einer Referenzstellung Objekte translatorisch oder rotatorisch positioniert werden

232 Schrittmotorsteuerung und Positionierungsmechanik Im Folgenden wird die bei allen RCLs mit Schrittmotoren eingesetzte Schrittmotorsteuerung die Mechanik zur translatorischen Positionierung von Objekten und die Funktionsweise eines Referenztasters beschrieben

Schrittmotorsteuerung Abb 13 zeigt das Blockschaltbild und das im Selbstbau herstellbare TMC222-Modul (rarr 4221 rarr 4222) mit dem IC TMC222 von Trinamic zur Steuerung bipolarer 2-phasiger Hybrid-Schrittmotoren

Abb 13 Blockschaltbild (links) und Platine des TMC222-Moduls (rechts) mit IC TMC 222 auf

der Loumltseite der Platine

Der IC TMC222 enthaumllt ein I2C-Interface zum Anschluss an den I2C-Bus des Mikrocon-trollers (Ports PC0 und PC1) Die 10 kΩ-Pull-up-Widerstaumlnde heben die Takt- (SCL clock) und Datenleitung (SDA data) auf ein Potential von 5 V Der IC TMC222 enthaumllt ei-nen Motortreiber fuumlr Spulenstroumlme bis zu 800 mA und einen Motor-Controller zur Steue-rung der Spulenstroumlme Ein Vorteil des TMC-Moduls ist der relativ geringe Programmier-aufwand fuumlr den Mikrocontroller (rarr 4223) da der IC TMC222 nach Uumlbergabe der Steu-erungsparameter (Drehrichtung Drehzahl hellip) vom Mikrocontroller die Ansteuerung des Schrittmotors uumlbernimmt Der IC TMC222 unterstuumltzt das Beschleunigen und Abbremsen des Schrittmotors enthaumllt einen Schrittpositionszaumlhler und unterstuumltzt Mikrostepping (va-riable Spulenstroumlme zur elektronischen Verkleinerung des Schrittwinkels und groumlszligerer Laufruhe)

25

Falls in RCLs Gleichstrommotoren mit houmlheren Drehzahlen als Schrittmotoren benoumltigt werden kann eine andere Erweiterungsschaltung (rarr 424) eingesetzt werden

Positionierungsmechanik und Referenz-Taster Die Mechanik zur rotatorischen Positionierung von Objekten kann meist kostenguumlnstig selbst oder durch Personal in einer Werkstatt angefertigt werden Abb 14 zeigt eine kos-tenguumlnstige Loumlsung zur translatorischen Positionierung von Objekten

Abb 14 Positionierungseinheit eines Flachbrett-

Scanners Schrittmotor (1) Getriebe (2) Li-nearfuumlhrung (3) Antriebsriemen (4) und er-gaumlnzter Referenz-Taster (5)

Falls der geometrische Aufbau und die geforderte Positionierungsgenauigkeit des RCLs es zulassen kann die Schrittmotor-Positionierungs-Einheit ausgedienter Flachbrett-Scanner zur translatorischen Positionierung von Objekten verwendet werden In Einzelfaumll-len wie dem RCL Weltpendel kann die Positionierungsmechanik auch selbst angefertigt werden Der Referenz-Taster in Abb 14 wird eingesetzt um abzufragen ob ein vom Schrittmotor bewegtes Objekt die Position des Tasters erreicht hat und um diese Position zu referenzieren Ohne eine solche Referenzierung kann die Positionierung eines Objekts langfristig ungenau werden So kann z B beim RCL Weltpendel das Auftreffen der Kugel auf den Magneten zum Uumlberspringen von Schrittmotorstellungen fuumlhren Der Zustand des Referenz-Tasters in Abb 15 wird z B uumlber den Port PA0 des Mikrocontrollers abgefragt

Abb 15 Referenz-Taster zum referenzieren der

Position des bewegten Objekts

26

Zu Problemen koumlnnen undefinierte Zustaumlnde der Eingaumlnge des Mikrocontrollers fuumlhren wie sie beim Prellen dem zeitlich begrenzten schwingen eines Tasters beim Oumlffnen oder Schlieszligen entstehen Abhilfe schafft ein passend dimensionierter parallel zum Taster ge-schalteter Kondensator Bei geoumlffnetem Taster ist der Kondensator aufgeladen Beim Schlieszligen haumllt der Kondensator die Spannung uumlber die Schwingphase trotz kurzzeitig wieder geoumlffnetem Schalter noch aufrecht Analoges gilt fuumlr den Uumlbergang vom geschlos-senen zum geoumlffneten Taster

3 Ferngesteuertes RCL 31 RCL-Server Fuumlr den Betrieb eines RCLs wird ein RCL-Server benoumltigt (larr 11) Vorausgesetzt wird dass bei einem neuen Computer alle notwendigen Treiber (Ethernet Video Audio hellip) zum Be-trieb der Hardware des Computers und Windows XP Professional mit Service Pack 3 instal-liert sind Ein Benutzerkonto braucht nicht angelegt zu werden

Der RCL-Server benoumltigt einen Internetzugang mit statischer IP-Adresse und Uploaddatenra-te von mindestens 200 kbits (DSL 2000) fuumlr die fluumlssige Wiedergabe von Bewegungen in Webcambildern Die statische IP-Adresse wird von der Institution am Standort des RCLs vergeben oder kann von Privatpersonen bei einem Provider beantragt werden Mit folgenden Schritten wird der RCL-Server eingerichtet

Internetzugang einrichten (rarr 451) und im Browser testen

Checken ob die Windows Firewall aktiviert ist

Virenschutzproramm Avira Antivir Personal herunterladen (larr Tab 1) installieren und ak-tualisieren

Uumlber Windows Update alle Updates von Windows XP Professional installieren

Fernwartungssoftware TeamViewer 6 Vollversion (larr Tab 1) herunterladen und auf dem RCL-Server und dem eigenen Computer installieren (rarr 455)

Webeditor Notepad++ herunterladen installieren und aktualisieren (larr Tab 1)

Videoserver WebcamXP 5 herunterladen und installieren (rarr 453)

Paket XAMPP herunterladen und installieren (rarr 452) Verknuumlpfungen mit den Dateien xampphtdocsapache_startbat und xampphtdocsapache_stopbat auf dem Desktop oder in der Schnellstartleiste erstellen und Webserver mit erstgenannter Verknuumlpfung starten Webserver durch Eingabe von 127001 oder localhost ins Adressfeld des Brow-sers testen Bei erfolgreichem Test werden die im Ordner xampphtdocs abgelegten Webseiten von XAMPP dargestellt Statische IP-Adresse des RCL-Servers im Browser eines anderen Computers mit Internetzugang eingegeben Bei erfolgreichem Test werden die Webseiten von XAMPP dargestellt In der Datei xamppphpphpini unter Resource Limits die max_execution_time mit dem Windows-Editor von 60 auf 300 erhoumlhen und die

27

Datei speichern damit PHP bei Befehlen mit laumlngerer Ausfuumlhrungsdauer keine Fehler-meldung liefert

Ordner xampphtdocs mit den Webseiten von XAMPP in xampphtdocs_xampp um-benennen und fuumlr spaumltere Testzwecke nicht loumlschen RCL-Ordner htdocs herunterladen (larr Tab 1) extrahieren und in das Verzeichnis xampp verschieben

Abb 16 zeigt die Struktur des RCL-Ordners htdocs

Abb 16 Struktur des RCL-Ordners htdocs RCL-spezifisch anzupassende Dateien sind grau

hinterlegt

Der geoumlffnete Ordner Labor enthaumllt alle PHP- und HTML-Dateien bzw Programmierungen fuumlr die Funktionalitaumlt des Bedienfelds der Laborseite (larr 11 Abb 3) An das RCL anzupas-sen sind die portalsprachenunabhaumlngigen Dateien configphp und experimentphp sowie fuumlr jede Portalsprache die Dateien defaultconf und experimenttpl in den Ordnern eng fra ger und ita

Datei configphp Zeit bis zum automatischen Logout beim Experimentieren mit dem RCL eintragen

Datei experimentphp PHP-Basisprogrammierung um die RCL-spezifische PHP-Programmierung erweitern (rarr 432)

Datei defaultconf Name des RCLs (z B Elektronenbeugung) in jeder Portalsprache ein-getragen

Datei experimenttpl HTML-Basisprogrammierung um RCL-spezifische Ein- und Ausga-befelder erweitern (rarr 433)

28

32 Laborseite 321 Steuerung des RCLs uumlber das Bedienfeld Das Bedienfeld der Laborseite (larr 11 Abb 3) wird von der Dateien indexphp und experi-menttpl erzeugt Befehle wie das Anklicken von Buttons Eingaben und Auswahl aus Listen werden in ein HTML-Formular mit Formularfeldern in der Datei experimenttpl geschrieben Die Daten werden von der PHP-Datei experimentphp ausgewertet und uumlber die serielle Schnittstelle dem Mikrocontroller-Programm zur Steuerung des Experiments uumlbergeben Die Dateien experimentphp und experimenttpl wurden getrennt angelegt um Code und Design zu trennen und nur das Design in der Datei experimenttpl an die Portalsprache anpasst werden muss

Tab 5 enthaumllt Ausschnitte der HTML-Datei experimenttpl (rarr 433) der Datei experi-mentphp (rarr 432) und des Mikrocontroller-Programms (rarr 431) fuumlr das RCL Elektronen-beugung

29

Code mit Erlaumluterung

expe

rimen

ttpl

1821 Tag ltformgtltformgt definiert ein Formular 18 Attribut action legt fest dass Formulardaten in der Datei indexphp verarbeitet werden Uumlbertragen

werden eine Session-ID ($sid) um exklusiven Zugriff des jeweilgen Besuchers zu sichern und ($portal) um die vom Besucher gewaumlhlte Sprache beizubehalten post ist eine Uumlbertragungsmethode zwischen Browser und Webserver und gibt die die vom Besucher gewaumlhlte Aktion zum Ansteuern des Experiments an die Datei experimenttpl weiter

20 Erzeugt im Bedienfeld den Sendebutton (submit) mit der Aufschrift Elektronenroumlhre einschalten (valu-e)

19 Unsichtbares Feld (hidden) mit Variablennamen action und Wert RoumlhreAn Der Variablenname ac-tion stimmt nur zufaumlllig mit action in Zeile 18 uumlberein

expe

rimen

tphp

24 Die Funktion wird als Eventhaumlndler bezeichnet weil je nach uumlbergebener Aktion - siehe Zeile 19 in experi-

menttpl - die entsprechenden Anweisungen (case) ausgefuumlhrt werden 37 Fuumlr den Fall dass die Variable $action den Wert RoumlhreAn hat wird die Funktion power_on() aufgeru-

fen

59 Schreibt in die Logdatei logtxt den Text RoumlhreAn 6061 Oumlffnet den in der Datei configphp zentral gespeicherten Com-Port an den das Interface angeschlossen ist

oder gibt Fehlermeldung Can not access file system im Bedienfeld aus falls der Com-Port sich nicht oumlff-nen laumlsst

62 Sendet die Zeichenfolge On und chr(13) (entspricht der Betaumltigung der Return-Taste im Hyperterminal) an den Mikrocontroller

63 Schlieszligt serielle Schnittstelle

Que

llcod

e M

ikro

cont

rolle

r

166 Wird uumlber die serielle Schnittstelle der Befehl on empfangen und ist das Einschalten zulaumlssig (Zeiten fuumlr

PowerOnDelay und Standby abgelaufen) dann hellip 167 Hochspannungsnetzgeraumlt einschalten 168 Der DA-Wandler PCF8591 wird unter seiner Adresse PCF8591 = 01001000 angesprochen Parameterein-

stellungen mit 01000000 und Ausgangsspannung auf 0 V einstellen 169 Setzt Standby auf vorgegebene Standbyzeit zuruumlck 171 Gibt Meldung aus wie lange PowerOnDelay noch dauert

Tab 5 Uumlbertragung des Befehls Elektronenroumlhre einschalten vom Bedienfeld zum Experi-ment

30

Anhand der Erlaumluterungen der Programmcodes koumlnnen die Ablaumlufe zwischen dem Druumlcken des Buttons Elektronenroumlhre einschalten und dem Einschalten der Elektronenbeugungs-roumlhre oder der Eingabe einer Beschleunigungsspannung und dem Anlegen einer Beschleu-nigungsspannung verfolgt werden Uumlber das Bedienfeld koumlnnen nur die von der Datei expe-rimenttpl bereitgestellten Befehle on und da der insgesamt implementierten Befehle (rarr 22 Abb 10) aufgerufen werden

322 Videouumlbertragung im Webcamfeld Zur Aufnahme von Livebildern des Experiments koumlnnen USB-Webcams und IP-Kameras (Netzwerkkameras) eingesetzt werden Teurere IP-Kameras muumlssen eingesetzt werden wenn die Kamera wie z B beim RCL Roboter im Labyrinth zu weit vom Computer entfernt ist oder eine besonders lichtempfindliche Kamera aus der Uumlberwachungstechnik wie z B beim RCL Millikan-Versuch benoumltigt wird W-LAN-Kameras kommen zum Einsatz wenn Bil-der von einem beweglichen Objekt aus wie z B beim RCL Roboter im Labyrinth uumlbertra-gen werden sollen

Das Videoserverprogramm webcamXP 5 erkennt beim Aufrufen automatisch an den RCL-Server angeschlossenen USB-Webcams Vor dem Kauf einer IP-Kamera ist zu pruumlfen ob das Modell unterstuumltzt wird14 IP-Kameras muumlssen im Kontextmenuuml der Videoquelle konfigu-riert werden Abb 17 zeigt das Webcambild einer USB-Webcam vom Szintillationsschirm der Elektronenbeugungsroumlhre

Abb 17 Webcambild des Szintillationsschirms der Elektro-

nenbeugungsroumlhre einer USB-Webcam in webcamXP 5 beim RCL Elektronenbeugung

14 Vgl Moonware Studios webcamXP IP-cameras for webcamXP

31

Zum Einbinden des Webcambilds in die Laborseite des RCLs wird die laborsprachenabhaumln-gige Datei videohtm (rarr 434) in den Ordnern eng fra ger und ita verwendet Standardmauml-szligig werden zwei Webcambilder und Screenshots unterstuumltzt der Code fuumlr weitere Webcam-bilder kann durch copy and paste hinzugefuumlgt werden

Unter den Technologien Java Javaskript Flash und Windows Media fuumlr die Wiedergabe ei-nes Livestreams auf eine Webseite wurde Javaskript gewaumlhlt weil die anderen Technologien die Installation des Java Runtime Environments (JRE) des Flash- oder Windows Media Players durch den Besucher eines RCLs voraussetzen Die Wiedergabe des Livestreams mit einem Java-Applet startet zudem erst verzoumlgert nachdem das Applet geladen ist und verfuumlgt uumlber eine zu geringe Wiedergabegeschwindigkeit

33 Standard-Lernumgebung Bestandteil der Entwicklung eines RCLs ist die Erstellung einer Standard-Lernumgebung zum RCL Abb 18 zeigt exemplarisch fuumlr die deutschen Webseiten im Ordner ger das Menuuml (larr 11 Abb 3) und die Dateistruktur der Standard-Lernumgebung

Abb 18 Deutschsprachiges Menuuml und Dateistruktur der Standard-Lernumgebung

RCL-spezifisch anzupassende Dateien sind grau hinterlegt

Die englischen Dateinamen introductionhtm setuphtm hellip im Ordner ger korrespondieren mit den deutschen Menuumlpunkten Wird das RCL unter dem Menuumlpunkt RCLs des RCL-Portals aufgerufen dann ruft die Frameset-Datei indexhtm die Dateien menuumlhtm und intro-ductionhtm auf und das Menuuml wird zusammen mit der Webseite Einstieg dargestellt Die Wahl weiterer Menuumlpunkte ruft jeweils die korrespondiere Datei im Ordner auf Bei Wahl des Menuumlpunkts Labor werden mit der Frameset-Datei laboratoryhtm die Dateien videohtm fuumlr das Webcamfeld und die Datei laborindexphp fuumlr das Bedienfeld aufgerufen

32

Im Ordner docsmaterial werden alle Dokumente fuumlr die Webseite Material im Ordner docsothers die Dokumente anderer Webseiten abgelegt Im Ordner docsoriginals sind die Originale von Dokumenten wie z B Word-Dateien und der verwendeten Bilder abgelegt Grafikdateien der Webseiten Einstieg hellip Auswertung hellip Betreuung werden in gleichnami-gen Ordnern wie z B imagesanalysis abgelegt Bei sprachenunabhaumlngigen Grafikdateien wird unter dem Dateinamen abbx bei sprachenabhaumlngigen unter dem Dateinamen abbx_lan mit lan = eng fra ger und ita gespeichert Analoges gilt fuumlr die als gif-Grafiken forxgif oder forx_langif zu speichernden Formeln Originale von Bildern werden im Ordner imagesoriginals abgelegt Die Webseite zur Datei htdocsindexhtm enthaumllt zum lokalen Aufrufen der Standard-Lernumgebung Links zu den vier Index-Dateien in den Ordnern eng fra ger und ita Die Stylesheet-Datei htdocsrcl_stylecss enthaumllt die Styles der Webseiten

In der Regel werden Standard-Lernumgebungen der RCLs des RCL-Portals von verschiede-nen Personen erstellt Fehlende Gestaltungs- und Formatierungsregeln fuumlhren zu einem un-einheitlichen inattraktivem Erscheinungsbild des RCL-Portals Tab 6 gibt einen Uumlberblick der wichtigsten Gestaltungs- und Formatierungsregeln

Element Richtlinien

Gliederung

Die Webseiten Einstieg Aufbau Aufgaben Diskussion Material und Support enthalten vorgegebene Gliederungspunkte teilweise mit ausgefuumlhrten Uumlberschriften

Die umfangreicheren Webseiten Theorie und Auswertung enthalten ein Inhaltsverzeichnis mit internen Links zu Gliederungspunkten Zwischen Punkten der ersten Gliederungsebene (1 2 hellip) ist ein zwei-zeiliger Abstand (ltpgtampnbspltpgtltpgtampnbspltpgt) zwischen Punkten der zweiten (11 12 hellip) und Punkten der nur falls unbedingt notwendig dritten 111 112 hellip) Gliederungsebene ein einzeiliger Abstand zu waumlhlen Nach Abbildungen und Tabellen folgt ein einzeiliger Abstand zum nachfolgenden Text

Links Keine internen Links zwischen den Webseiten der Lernumgebung Externe Links werden prinzipiell in einem neuen Browserfenster geoumlffnet (blank)

Abbildung

Alle Abbildungen erhalten fortlaufend beginnend mit 1 nummerierte Abbildungsunterschriften der Form Abb x hellip

Abbildungen sind moumlglichst spachenunabhaumlngig d h ohne Texte in der Abbildung zu erstellen Zur Beschriftung koumlnnen z B Zahlen verwendet werden die in der Abbildungsunterschrift oder im Text er-laumlutert werden

Tabellen Tabellen werden in jeder Webseite fortlaufend beginnend mit 1 nummeriert Tabellen sind zu zentrieren Rahmenstaumlrke 1

Formeln

Formeln sind nicht als Textzeichen oder Grafik im laufenden Text einzufuumlgen sondern stets zentriert in einer eigenen Zeile als gif-Grafik

Zum Erstellen der Formel-Grafiken eignet sich z B der Formel-Editor MathType15 mit der Aufloumlsungs-Einstellung 120 dpi fuumlr InternetGif

Formeln brauchen im Rahmen des begrenzten Umfangs der Webseiten nicht nummeriert zu werden Groumlszligen-symbole

Griechische Groumlszligensymbole und mathematische Symbole sind nicht als Grafiken im laufenden Text sondern als HTML-Code einzufuumlgen Eine Zeichenreferenz findet sich bei Selfhtml16

Styles Zur Formatierung der Webseiten werden aus der Stylesheet-Datei nur die drei Styles Uumlberschrift fuumlr

die Uumlberschriften Bildunterschrift fuumlr Abbildungs- und Tabellenunterschriften und Tabellentext fuumlr Tex-te in Tabellen benoumltigt

Tab 6 Richtlinien zur Gestaltung und Formatierung der Standard-Lernumgebung

Detailliertere Informationen zum Layout der Standard-Lernumgebung koumlnnen dem RCL-Ordner und dem Erscheinungsbild der Webseiten von RCLs in Browsern entnommen wer-den

15 Vgl Design Science MathType 16 Vgl Selfhtml HTML-Zeichreferenz

33

4 ANHANG

34

41 Interface in Basisschaltung 411 Schaltplan und Bauteilliste Abb 19 zeigt den Schaltplan der Basisschaltung des Interface und Tab 7 die dazugehoumlrige Bauteilliste

Abb 19 Basisschaltung des Interface

Nr Anzahl Kurzbeschreibung des Bauteils Best-Nr bei Reichelt electronic

Einzelpreis in euro

0 1 Epoxyd-Platine (190x112 mm) mit Anteil Loumltpunktraster (Spezi-

alanfertigung) - asymp 10

1 1

Epoxyd-Fotoplatine einseitig 160x100 mm 15 mm 35 microm Epoxyd-Lochrasterplatine 160x100 mm 15 mm 35 microm

BEL 160x100-1 UP 832EP

170 420

1 1 Hohlstecker-Einbaubuchse gewinkelt Loumltfahnen 21 mm HEBW 21 018 2 1 D-SUB-Stecker 9-polig gewinkelt RM 94 D-SUB ST 09EU 029 3 1 Schottky Diode DO41 40 V 1 A SB 140 008 4 1 Draht von abgeschnittenem Beinchen aus Pos-Nr 3 - - 5 1 IC-Sockel 16-polig superflach gedreht vergoldet GS 16P 029 6 1 IC-Sockel 40-polig superflach gedreht vergoldet GS 40P 061 7 1 2x10-pol-Stiftleiste gerade RM 254 SL 2X10G 254 007 8 1 Metallschichtwiderstand 100 kΩ Metall 100k 0082 9 1 Elektrolytkondensator 10x16 mm 470 microF RM 50 mm RAD 47025 006 10 1 Elektrolytkondensator 63x11 mm 100 microF RM 25 mm RAD 10016 004 11 5 Elektrolytkondensator 5x11 mm 10 microF RM 20 mm RAD 1035 004 12 2 Keramik-Kondensator 33 pF Kerko 33p 006 13 3 Vielschicht-Keramikkondensator 100 nF 20 Z5U-25 100n 004

35

14 1 Standardquarz Grundton 110592 MHz 110592-HC49U-S 018 15 1 Spannungsregler 1 A positiv TO-220 microA 7805 028 16 1 Kuumlhlkoumlrper fuumlr Gehaumluse TO-220 99KW V FI356 066 17 1 Zylinderkopfschraube Schlitz M3 10 mm fuumlr Kuumlhlkoumlrper M3x10mm 160 18 2 Sechskantmutter M3 fuumlr Kuumlhlkoumlrper SK M3 001 19 1 Stecker-Schaltnetzteil 12 V 2250 mA MW 3IP25GS 1150 20 1 RS232-Driver DIL-16 MAX 232 CPE 041 21 1 ATmega AVR-RISC-Controller DIL-40 ATmega16-16 DIP 420 22 3 10-poliger Wannenstecker RM 254 stehend (optional) WSL 10G 009 23 1 14-poliger Wannenstecker RM 254 stehend (optional) WSL 14G 014 24 1 40-polige Stiftleiste 1-reihig gerade RM254 (optional) SL 1x40G 254 023 25 1 Kunststoffgehaumluse 1982x1124x760 mm (Serientyp 202) - asymp 10 euro 26 1 D-SUB Nullmodem-Kabel 9-pol BUBU 3 m AK 143 155 27 x DIN-Einbaubuchse 5-pol Schraubver 360deg (optional) DIO-50W EMS 185 28 x DIN-Einbaubuchse 8-polig Schraubversch 270deg (optional) DIO-80SN EMS 180 29 x Pfostenstecker 10-polig mit Verrieglung gew (optional) PSL 10W 028 30 x Klemmleiste RM 254 Oumlffnungshebel 8-polig (optional) Wago 233 220

Tab 7 Bauteilliste mit Bestellnummer und Einzelpreisen der Bauelemente bei Reichelt electronic (Stand 23102010)

Anhand der Bauteilliste in koumlnnen die elektronischen Bauelemente der Basisschaltung (larr Tab 7 Nr 0 ndash 21 optional Nr 22 - 24) bei Reichelt electronic bestellt werden Das Gehaumluse des Interface (larr Tab 7 Nr 25) sollte vom Hersteller HAGOTECH GmbH bezogen werden Weiterhin wird ein Nullmodemkabel (larr Tab 7 Nr 26) zur Verbindung des Interface mit dem Computer benoumltigt Sensoren und Aktoren des Experiments koumlnnen mit optionalen Steck-verbindern (larr Tab 7 Nr 27 - 30) und entsprechende Kabelverbindungen an das Interface angeschlossen werden Die Nummern 0 - 25 stimmen mit der angegebenen Bestuumlckungs-reihenfolge auf der Platine uumlberein Das Interface kostet in der Basisschaltung ca 50 euro

412 Bestuumlckung der Platine Abb 20 zeigt zur Bestuumlckung der Platine benoumltigte Werkzeuge

Abb 20 Werkzeuge zur Bestuumlckung der Platine des Interface

36

Loumltkolben mit feiner Spitze in Meisselform 2 mm oder Loumltstation (1) Loumltzinnabsauger zum Entfernen von Loumltzinn (2) Nasser Schwamm zum Reinigen der Spitze des Loumltkolbens (3) Loumltzinn mit Durchmesser 08 - 10 mm (4) Flachspitzzange zum Biegen von Anschluumlssen der Bauelemente (5) Seitenschneider zum Kuumlrzen der Beinchen von Bauelementen (6) Multimeter zum Pruumlfen der Funktionsfaumlhigkeit der Schaltung (7) Sekundenkleber zur Befestigung von Bauelementen Kleine Bohrmaschine z B von Dremel und 08 mm Bohrer oder duumlnne Rundfeile zum

Weiten von Loumlchern auf der Platine des Interface

Abb 21 zeigt die Platine des Interface von der Loumltseite in der Spezialanfertigung der Elekt-ronik-Werkstatt an der Technischen Universitaumlt Kaiserslautern und in der Selbstbauvariante (larr Tab 7 Nr 0) Abb 22 zeigt das Platinenlayout

Abb 21 Platine des Interface von der Loumltseite als Spezialanfertigung (links) und der Selbstbauvariante

(rechts)

Abb 22 Layout zur Herstellung des geaumltzten Teils der

Platine in der Selbstbauvariante

37

In der Selbstbauvariante kann anhand des Platinenlayouts eine selbst geaumltzte Platine fuumlr die Basisschaltung auf einer Platine im Europakartenformat hergestellt und diese in der Laumlnge gekuumlrzt werden Eine gekuumlrzte Lochrasterplatine bildet den zweiten Teil der Platine Mit den optionalen vier Wannensteckern (larr Tab 7 Nr 22 - 23) oder den vier Stiftleisten (larr Tab 7 Nr 24) an den Ports des Mikrocontrollers koumlnnen leicht elektrische Verbindungen zum Rasterteil der Platine herstellt werden Abb 23 zeigt die fertig bestuumlckte Platine mit den Nummern aus Tab 7

Abb 23 Bestuumlckte Platine des Interface mit nummerierten Bauelementen

Tab 8 beschreibt das Einloumlten der elektronischen Bauelemente anhand der Nummern aus Tab 7 und in der angegebenen Reihenfolge

Nr Bauelement Beschreibung des Einbaus

0 Spezialanfertigung und Selbst-bauvariante der Epoxydharz-

Platine

1

Stromversorgungsbuchse ndash Hohlstecker 21 mm

Wenn die Loumltbeine nicht durch die Loumlcher der Platine passen die Loumlcher mit einer runden Schluumlsselfeile aufweiten

Stromversorgungsbuchse mit Sekundenkleber vor dem Festloumlten auf der Pla-tine fixieren da diese mechanischen Belastungen durch das Einstecken und Herausziehen des 12 V -Steckers ausgesetzt ist

Wahlweise kann die 25 mm-Version der Buchse verwendet werden

2

RS232 Datenstecker

RS232 Datenstecker mit Sekundenkleber vor dem Festloumlten auf der Platine fixieren da dieser mechanischen Belastungen durch das Einstecken und Herausziehen des Null-Modem-Kabels ausgesetzt ist

Alle Beinchen und Befestigungsstifte zur houmlheren Stabilitaumlt anloumlten

3

Ein Ring an einer Seite der Diode (hier links weiszlig) zeigt die Durchlass- bzw Sperrrichtung der Diode an Die Position des Ringes entspricht der Position des Balkens im Schaltungssymbol

38

Diode ndash SB140 Auf der Platine muss der Ring auf der von der Stromversorgungsbuchse ab-

gewandten Seite liegen

4 Drahtbruumlcke

Vor dem Einloumlten des 40-poligen IC-Sockels (Nr 5) muss eine Drahtbruumlcke unter diesem eingeloumltet werden Dazu koumlnnen die abgeschnittenen Beinchen der bereits eingeloumlteten Diode (Nr 3) verwendet werden

5 6

IC-Fassungen

Die 16-polige und 40-polige IC-Fassungen besitzen eventuell eine Markie-rung fuumlr Pin1 (z B Kerbe in der Stirnseite Punkt Pfeilhellip) als Hilfe fuumlr das richtige Einstecken der ICs Die Markierungen muumlssen bei beiden Fassungen nach oben also zum naumlchstliegenden Rand der Platine zeigen

Die ICs unbedingt noch nicht einstecken

7

ISP-Stiftleiste

Die doppelreihige ISP-Stiftleiste dient der Programmierung des Mikrocontrol-lers mit dem AVR-ISP-Programmer (ISP steht fuumlr In System Programming)

ISP-Stiftleiste auf 2 x 5 Stifte kuumlrzen und mit den kurzen Beinchen einloumlten so dass auf die langen Stifte der AVR-ISP-Programmer gesteckt werden kann

8

Widerstand 100 kΩ

Den 100 kΩ-Widerstand rechts neben der ISP-Stiftleiste einloumlten

9

10

11

Elkos

Bei den verwendeten Elektrolyt-Kondensatoren ist die Polung zu beachten (langes Beinchen = Plus-Pol) Weiterhin ist auf den Kondensatoren ein wei-szliger Streifen mit Minus-Zeichen aufgedruckt Die Kondensatoren sollten eine Spannungsfestigkeit von mindestens 16 V besser 25V besitzen

Auf der Kupferseite der Platine zeigt die Form der Loumltaugen die Polung an Rundes Loumltauge = Plus quadratisches Loumltauge = Minus

Der 470 microF Kondensator wird mit dem weiszligen Streifen in Richtung Stromver-sorgungsbuchse direkt unter diese montiert

Der 100 microF Kondensator sitzt direkt unter der 16-poligen IC-Fassung Sein weiszliger Streifen (Minus-Pol) zeigt in Richtung der Stromversorgungsbuchse

Vier der 10 microF Kondensatoren werden links neben der 16-poligen IC-Fassung montiert Deren Polung ist wie folgt Unterster Kondensator Minus nach oben naumlchster Kondensator Minus nach unten die beiden oberen Kondensatoren mit Minus nach oben

Ein weiterer 10 microF Kondensator wird rechts neben die 16-polige IC-Fassung geloumltet Sein Minus-Streifen zeigt nach unten

12

13

Keramik-Kondensatoren

Die Beschriftung 104 bedeutet 10e4 pF = 100 nF Die beiden 33 pF-Kerkos (Keramik-Kondensatoren) werden direkt nebenei-

nander rechts neben die 16-polige IC-Fassung geloumltet Zwei 100 nF-Kondensatoren werden unter dem 470 microF-Elko eingeloumltet ein

weiterer mittig an der linken Seite der 40-poligen IC-Fassung

14

Quarz

Als Quarz wird ein 110592 MHz-Typ verwendet Bei dieser Frequenz ist eine fehlerfreie Kommunikation uumlber RS232 mit 9600 Baud moumlglich Fuumlr den AT-mega16 koumlnnen Quarze bis 16 MHz eingesetzt werden Details siehe Daten-blatt

Der Quarz wird direkt rechts neben die beiden 33 pF-Kerkos geloumltet Die Ori-entierung des Quarz spielt keine Rolle

15

16

17

18

Der Spannungsregler L7805 erzeugt eine stabilisierte Spannung von 5 V Es muss ein Kuumlhlkoumlrper zur Waumlrmeabfuhr vom Spannungsregler verwendet werden

Vor dem Einloumlten zwischen Spannungsregler und Kuumlhlkoumlrper etwas Waumlrme-leitpaste aufgetragen Beide Bauteile fest mit einer Schraube M3x10 und ei-ner 1 Mutter verschrauben

Dann den Spannungsregler einloumlten um 90deg abzubiegen das uumlberstehende Gewinde durch das vorgesehene Loch stecken und alles mit einer 2 Mutter auf der Platine befestigen

1 Mutter

2 Mutter

Schr

aube

L7805

Platine

KuumlhlkoumlrperWaumlrmeleitpaste

Beinchen

Loumlten

39

Spannungsregler L7805 Kuumlhl-koumlrper und Montage

19

Steckernetzteil

Funktionskontrolle vor dem Einsetzen des Mikrocontrollers Polung der Elektrolyt-Kondensatoren (Elkos) pruumlfen Sind alle Beinchen angeloumltet Hat das Loumltzinn an den Beinchen und der Pla-

tine guten Kontakt Sind eventuell zwei benachbarte Beinchen unbeabsichtigt durch Loumltzinn verbunden Alle Loumltverbindungen nochmals genau z B mit ei-ner Lupe pruumlfen

Probeweise das Stecker-Netzteil an die Buchse anschlieszligen Am 100 nF-Kondensator links mittig der 40-poligen IC-Fassung muumlssen 5 V anliegen

Versorgungsspannung unbedingt wieder von der Platine trennen

20

21

ICs MAX232 und ATmega16

Die Nuten auf den ICs am linken Rand muumlssen nach oben zeigen d h Pin1 ist bei beiden ICs in der Abbildung links unten und auf der Platine oben links

Manchmal passen die Beinchen der ICs nicht in die Fassung weil die Fas-sung scheinbar zu schmal ist Dann den IC seitlich mit einer Beinchen-Reihe flach auf den Tisch legen den IC-Koumlrper links und rechts greifen und Bein-chen durch leichten Druck biegen Einzelne verbogene Beinchen vorsichtig mit einer kleinen Flachzange richten

22

23

Wannenstecker 10- und 14-polig

Wannenstecker an den vorgesehe-nen Stellen mit der Nut gegen Ver-polung in Richtung des naumlherliegen-den Platinenrands einloumlten

Die Abbildung rechts zeigt die Pin-Belegung der Wannenstecker

24

Stiftleiste 8-polig 40-pol Stiftleiste in 4 jeweils 8-polige Stuumlcke zerteilen und einloumlten

25

Kunststoffgehaumluse

In der Selbstbauvariante der Platine (Nr 0) vor dem Einsetzten der Platine in das Gehaumluse passend positionierte Kunststoffstege am Gehaumluseboden fest-kleben

Tab 8 Bestuumlckung der Platine des Interface mit Bauelementen

42 Erweiterungsschaltungen 421 Uumlbersicht In Tab 3 sind von RCLs des RCL-Portals Sensoren und Aktoren mit den dazugehoumlrigen Er-weiterungsschaltungen zusammengestellt Da alle RCLs obligatorisch uumlber mindestens eine Webcam verfuumlgen sind diese unter den Sensoren nicht aufgefuumlhrt Die wenigen Erweite-rungsschaltungen fuumlr Sensoren sind unter Sensoren in Klammern aufgelistet Unter Aktoren werden auszliger elektro-mechanischen Wandlern auch gesteuerte Geraumlte oder Bauelemente verstanden Anzeigeinstrumente sind unter Aktoren nur aufgefuumlhrt wenn sie direkt vom In-terface gesteuert werden Mit gekennzeichnete Erweiterungsschaltungen befinden sich au-szligerhalb des Interface

40

RCL Sensoren Aktoren Erweiterungsschaltungen fuumlr Aktoren

Beugung und Interferenz I Referenz-Taster

Schrittmotor (Rotation) Schrittmotorsteuerung Laser-Modul Geschaltete Spannungsversorgung

Beugung und Interferenz II

4 Referenz-Taster Lichtsensor

4 Schrittmotoren (Translation) 4 Schrittmotorsteuerungen 5 Laser-Module Geschaltete Spannungsversorgung LED fuumlr Position des

Lichtsensors Geschaltete Spannungsversorgung

LED fuumlr Linealbeleuchtung Geschaltete Spannungsversorgung

Elektronen-beugung

Hochspannungsnetzgeraumlt Geschaltete Spannungsversorgung Hochspannungsnetzgeraumlt Steuerung der Hochspannung

Fotoeffekt 2 Referenz-Taster Photozelle

2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen

Quecksilberdampflampe Geschaltete Spannungsversorgung

der Drossel fuumlr Quecksilberdampf-lampe

Halbleiter-kennlinien

und Halbleiterkennli-nien - Schuumller-

projekt

Referenz-Taster

Schrittmotor (Rotation) Schrittmotorsteuerung Oszilloskop Geschaltete Spannungsversorgung

Oszilloskop Instrumentenverstaumlrker fuumlr X- und Y-Ablenkung

Multimeter Steuerung Spannungs- oder Strom-anzeige

Heiszliger Draht 4 Endtaster 4 Drehgeber Kurzschlusssensor

4 Gleichstrommotoren 4 Treiber

Zweifarbige LED Steuerung der LED-Farbe

Lichtgeschwin-digkeit

Drehimpulsgeber 2 Taster an Enden

der Eisenbahnstre-cke

2 Schrittmotoren 2 Schrittmotorsteuerungen Oszilloskop Geschaltete Spannungsversorgung

Motor der Lokomotive Steuerung des Ein- und Ausschal-tens und der Bewegungsrichtung

Maut Infrarot-Sensor Gleichstrommotor Geschaltete Spannungsquelle 2 IR-Fernbedienungen Spannungsregler 2-stellige 7-Segmentanzeige LED-Treiber

Millikan-Versuch 2 Referenz-Taster

2 Schrittmotoren 2 Schrittmotorsteuerungen Lichtquelle (LED) fuumlr Millikan-

Kondensator Geschaltete Spannungsversorgung

Airbrush-Kompressor Geschaltete Spannungsversorgung Magnetventil Geschaltete Spannungsversorgung Millikan-Kondensator Gesteuertes Hochspannungsmodul

Optische Com-putertomogra-

phie

2 Referenz-Taster 2 Lichtsensoren

Schrittmotor (Rotation) Schrittmotorsteuerung Schrittmotor (Translation) Schrittmotorsteuerung

2 Laser-Module 2 geschaltete Spannungsversor-gungen

Optische Fou-rier-

Transformation 2 Referenz-Taster

2 Schrittmotoren (Translation) 2 Schrittmotorsteuerungen

Laser-Modul Geschaltete Spannungsversorgung

Oszilloskop Oszilloskop Geschaltete Spannungsversorgung Signalgenerator Steuerung der Signalart

Radioaktivitaumlt 4 Referenz-Taster Geiger-Muumlller-

Zaumlhlrohr

2 Schrittmotoren (Translation) 2 Schrittmotorsteuerungen 2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen 4-stellige 7-Segment-Anzeige Treiber Elektromagnet Geschaltete Spannungsversorgung

Roboter im Labyrinth Infrarot-Sensor

2 Schrittmotoren 2 Schrittmotorsteuerung Infrarot-Sender Treiber

Rutherfordscher Streuversuch

2 Referenz-Taster Halbleiterdetektor

(Impulsformer)

2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen

4-stellige 7-Segment-Anzeige Treiber

Weltpendel

Referenz-Taster Lichtsensor der

Lichtschranke (Im-pulsformer)

Temperatursensor

Schrittmotor (Translation) Schrittmotorsteuerung Elektromagnet Geschaltete Spannungsversorgung

Laser der Lichtschranke Geschaltete Spannungsversorgung

Windkanal Referenz-Taster Schrittmotor (Translation) Schrittmotorsteuerung

41

Dehnungsmess-streifen (Wheat-stonesche Bruumlcke Messverstaumlrker Multimeter)

Geblaumlsemotor Geschaltete Spannungsversorgung

und Ansteuerung mit Pulsweiten-modulation

Anemometer Geschaltete Spannungsversorgung Multimeter Geschaltete Spannungsversorgung

Tab 9 Sensoren Aktoren und Erweiterungsschaltungen der RCLs des RCL-Portals

422 TMC222-Modul zur Schrittmotorsteuerung 4221 Schaltplan und Bauteilliste Abb 1 zeigt die Beschaltung des TMC222 von Trinamic auf dem TMC222-Modul

Abb 24 Beschaltung des TMC222 von Trinamic

Anhand der Bauteilliste in Tab 10 koumlnnen die elektronischen Bauelemente des TMC222-Moduls bei Reichelt electronic bestellt werden Ein TMC222-Modul kostet ungefaumlhr 10 euro

Nr Anzahl Kurzbeschreibung des Bauteils Best-Nr bei Reichelt electronic

Einzelpreis in euro

0 1 Epoxyd-Fotoplatine einseitig 75x100 mm 15 mm 35 microm BEL75X100-1 096 1 1 Integrierter TMC-Schrittmotor-Controller TMC 222 SI asymp 7 2 1 Elektrolytkondensator 8x11 mm Rm 35 mm 100 microF35 V RAD 10035 004 3 1 Tantal-Kondensator Rm 25 10 microF35 V Tantal 1035 014 4 2 Vielschicht-Keramikkondensator 220 nF 20 Z5U-25 220N 011 5 3 Vielschicht-Keramikkondensator 100 nF 20 Z5U-25 100N 004 6 2 Metallschichtwiderstand 100 kΩ Metall 100K 0082 7 1 1x36pol Stiftleiste gewinkelt Rm 254 SL 1X36W 027 8 1 1x36pol Buchsenleiste gerade Rm 254 BL 1X36G 025

Tab 10 Bauteilliste mit Bestellnummer und Einzelpreisen der Bauelemente bei Reichelt electronic (Stand 23102010)

4222 Bestuumlckung der Platine

42

Abb 25 zeigt die fertig bestuumlckte Platine mit den Nummern aus Tab 10

Abb 25 Bestuumlckte Platine des TMC222-Moduls

mit nummerierten Bauelementen

Die Platine (35 mm x 30 mm) kann anhand des Layouts in Abb 26 hergestellt werden Der IC TMC222 wird auf der Loumltseite der Platine aufgeloumltet Das TMC222-Modul kann mit der Stiftleiste (larr Tab 10 Nr 7) in eine Buchsenleiste (larr Tab 10 Nr 8) auf die Platine des In-terface gesteckt werden

Abb 26 Platine des TMC222-Moduls von der Loumltseite (links) und Layout

4223 Quellcode des Mikrocontroller-Programms Im Folgenden ist ein mit Bascom (larr 12 Tab 1 Entwicklungsumgebungen) erstelltes Bei-spiel-Programm zur Ansteuerung des Schrittmotormoduls TMC222 durch den Mikrocontroller ATmega16 angegeben $regfile = m16DEFdat $crystal = 11059200 $baud = 9600 Definitionen Config Scl = Portc0 Taktleitung Config Sda = Portc1 Datenleitung Const Adress = ampB11000000 I2C Adresse des TMC222 Const GetFullstatus1 = ampB10000001 Kommando des TMC222 Const Resetpos = ampB10000110 Kommando des TMC222 Const Motorparameter = ampB10001001 Kommando des TMC222 Const Setposition = ampB10001011 Dim Puffer(10) As Byte

43

Programm I2csend Adress GetFullstatus1 GetFullstatus1 (Initialisierung des TMC222) I2creceive Adress 7 Ack Daten in Puffer auslesen Puffer(1) = Motorparameter puffer auffuumlllen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB11110011 1111irun 0011ihold Puffer(5) = ampB01110001 0111vmax 0001vmin Puffer(6) = ampB00010000 000securepos(bit10-8) 1shaft 0000acceleration Puffer(7) = 0 securepos(bit7-0) Puffer(8) = ampB00001100 000nicht belegt 0accshape 11stepmode 00nicht belegt I2csend Adress Puffer(1) 8 I2csend Adress Resetpos aktuelle Position auf 0 setzen Puffer(1) = Setposition Motor bewegen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB01111111 position(bit 15-8) Puffer(5) = ampB11111111 position(bit 7-0)acute I2csend Adress Puffer(1) 5 End

423 Geschaltete Spannungsquellen und Verbraucher Die Ausgaumlnge des Mikrocontrollers duumlrfen nur mit Stroumlmen kleiner als ungefaumlhr 20 mA belas-tet werden Verbraucher mit einer Stromlast groumlszliger als 20 mA koumlnnen daher nicht direkt an den Mikrocontroller angeschlossen werden Abb 27 zeigt links eine Schaltung zum Schalten eines Verbrauchers wie z B des Relais und rechts eine Schaltung mit dem IC ULN2803A zum Schalten mehrerer Verbraucher wie z B Gluumlhlampen

Abb 27 Erweiterungsschaltungen zum Schalten eines (links) oder

mehrerer Verbraucher (rechts)

Zu beachten ist dass der Transistor BC337 maximal 800 mA schalten kann und fuumlr groumlszligere Stroumlme andere Transistoren verwendet werden muumlssen

424 Steuerung von Gleichstrommotoren

44

Sollen Gleichstrommotoren zum Bewegen von Objekten mit dem Mikrocontroller gesteuert werden dann eignet sich dazu der in Abb 28 dargestellte beschaltete IC L293D

Abb 28 Beschaltung des L293D zum

Steuern zweier Gleichstrom-motoren

Mit Pin 1 = Pin 9 = 1 (High) koumlnnen zwei Gleichstrommotoren M1 und M2 (Versorgungs-spannung UM lt 36 V Spulendauerstrom IM lt 600 mA) unabhaumlngig voneinander ein- und ausgeschaltet sowie in der Drehrichtung uumlber die Ports PA0 und PA1 fuumlr M1 und PA2 und PA3 fuumlr M2 gesteuert werden Z B gilt mit PA0 = PA1 = 0 (M1 ausgeschaltet) PA0 = 1 und PA1 = 0 (M1 dreht sich) PA0 = 0 und PA1 = 1 (M1 dreht sich in Gegenrichtung)

45

43 Quellcodes zum RCL Elektronenbeugung 431 Mikrocontroller-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

46

47

48

49

432 PHP-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

50

51

433 Bedienfeld der Laborseite

Tab 11 erlaumlutert die Funktion der Bloumlcke im Quellcode

Zeilen Funktion 1 Datei defaultconf einbinden 2 Datei headtpl einbinden

5 - 11 Ausgabe der verbleibenden Experimentierzeit 18 - 21 Button zum Einschalten der Elektronenbeugungsroumlhre 28 - 30 Eingabefeld fuumlr die Beschleunigungsspannung

37 Ruumlckmeldung zur eingegebenen Beschleunigungsspannung 42 Datei foottpl einbinden

Tab 11 Funktion der Programmbloumlcke in der Datei experi-menttpl

52

434 Webcamfeld der Laborseite

In Tab 12 ist die Funktion der Programmbloumlcke und die Anpassungen der Vorlage an das RCL Elektronenbeugung beschrieben

Zeilen Funktion Anpassung RCL Elektronenbeugung

5 Titelangabe erscheint als Tabulatorbeschriftung in Browsern

Name des RCLs eintragen

11 - 15 16 - 20

Zwei Javascripts zum getrennten Aufrufen zweier Po-pup-Fenster mit dargestelltem Webcambildern 1 und 2

Javascript 1 die IP-Adresse eintragen Javascript 2 auskommentiert weil nicht benoumltigt

24 - 40 42 - 60

Zwei Javascripts zum Aktualisieren der Webcambilder 1 und 2

Javascript 2 auskommentiert weil nicht benoumltigt

67 - 71 79 - 83

Aufrufen des ersten Webcambilds der Webcams 1 und 2 beim Aufrufen der Datei

Webcambild 2 auskommentiert weil nicht benoumltigt

72 - 78 84 - 90

Buttons zum Aufrufen der Screenshots der Webcam-bilder 1 und 2

Button 2 auskommentiert weil nicht benoumltigt

91 - 95 Zeile der Tabelle zum Eintragen von Informationen die sich auf die Webcambilder oder den Versuch beziehen

Text in Zeile der Tabelle geschrieben

Tab 12 Funktionen der Codeabschnitte in der Datei videohtm und Anpassung der Vor-lage an das RCL Elektronenbeugung

53

44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung Im Folgenden wird die Installation und Konfiguration des AVR-Studios 418 und der Bascom 11198 Demoversion beschrieben Alle Anleitungen sind zeilenweise von links nach rechts zu lesen

441 AVR-Studio 418 4411 Installation Auf der Webseite von ATMEL Register AVR Studio 418 (build 684) anklicken und Registrie-rungsformular ausfuumlllen Danach die Datei AvrStudio418Setup herunterladen Durch Dop-pelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen Next waumlhlen

I accept hellip und Next waumlhlen Installationsordner und Next waumlhlen

54

Installupgrade hellip und Next waumlhlen Install waumlhlen Die Installation beginnt

Finish waumlhlen

4412 Konfiguration AVR Studio 418 in Windows XP Professional unter StartProgramme aufrufen

Startfenster mit Cancel schlieszligen Unter ToolsProgram AVR Auto Connect waumlhlen

55

Im eingeblendeten Fenster auf der Registerkarte Main als Device ATmega16 und als Programming Mode ISP mo-de waumlhlen

Optional kann Signatur gelesen werden

In der Registerkarte Fuses alle Haumlkchen und Auswahlfel-der wie angegeben waumlhlen

Dann Program waumlhlen

442 BASCOM 11198 Demoversion 4421 Installation Auf der Webseite von Bascom unter Bascom AVR Demo die Zip-Datei setupdemoexe her-untergeladen Durch Doppelklick auf den Dateinamen die Installation starten

Next waumlhlen I accept the agreement und Next waumlhlen

56

Next waumlhlen Installationsordner eingeben und Next waumlhlen

Eintrag im Start-Menuuml eingeben und Next waumlhlen Next waumlhlen

Yes restart the computer now und Finish waumlhlen

57

4422 Konfiguration Bascom AVR in Windows XP Professional unter StartProgramme zum Einstellen der Para-meter des Mikrocontrollers und des Terminals aufrufen

OptionsCompilerChip waumlhlen Einstellungen wie im Bild vornehmen und OK waumlhlen

Auf der Registerkarte Communications Einstellungen wie im Bild vornehmen und OK waumlhlen

Unter OptionsCommunication Einstellungen wie im Bild

vornehmen und OK waumlhlen FileNew waumlhlen Unter ToolsTerminal emulator das Terminal aufrufen und

eingeben Die Befehlsliste des RCLs Elektronenbeu-gung wird angezeigt

45 Installation und Konfiguration von Programmen auf dem RCL-Server Im Folgenden wird der Download die Installation und die Konfiguration von Programmen auf dem RCL-Server unter Windows XP Professional beschrieben Alle Anleitungen sind zeilen-weise von links nach rechts zu lesen Die Installation der Programme sollte in der angegebe-nen Reihenfolge erfolgen

58

451 Einrichten des Internet-Zugangs LAN-Verbindung unter StartSystemsteuerungNetzwerkverbindungen aufrufen

Internetprotokoll (TCPIP) und Eigenschaften waumlhlen Folgende IP-Adresse verwenden waumlhlen IP-Adressen ein-

geben und OK waumlhlen

452 Paket XAMPP 174 Unter apache friends - xampp fuumlr windows und XAMPP Windows 174 Installer anklicken und Datei xampp-win32-174-VC6-installerexe speichern Durch Doppelklick auf die Datei die Installation starten

Sprache und Ok waumlhlen Ok waumlhlen

59

Weiter waumlhlen Zielverzeichnis mit Durchsuchen waumlhlen oder eingeben

Apache nicht als Dienst installieren Fertig stellen waumlhlen

Ja waumlhlen Zum Starten des Apache Webservers das Control Panel

unter StartProgrammeXAMPP 173 for Windows mit Start starten Anstelle von Start erscheint Running

Zum Beenden des Apache Webservers Stop waumlhlen Zum Beenden des Control Panels Exit waumlhlen

60

453 Videoserver webcamXP 5 Private Auf der Webseite von Moonware Studios unter webcamXP 55xx die Datei wlite550 herun-terladen Durch Doppelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen I Agree waumlhlen

Next waumlhlen Auszliger webcamXP 5 brauchen keine weiteren Komponen-

ten installiert zu werden

Den vorgeschlagenen Ordner und Install waumlhlen Finish waumlhlen

61

WebcamXP unter StartProgramme aufrufen Zugesandte

Lizenz-Daten in das eingeblendete Fenster eingeben und Register waumlhlen

Beim Starten des Programms stellt webcamXP automa-tisch eine Verbindung zu den am Computer angeschlosse-nen Webcams her

Nach dem Start ist Uumlberwachen gewaumlhlt Durch Rechts-klick mit der Maus auf das Videofenster wird zu jeder Vi-deoquelle ein Kontextmenuuml angezeigt Wird kein Videobild dargestellt das Kontextmenuuml aufrufen Art der Videoquelle waumlhlen (hier USB) und unter den erkannten Videoquellen (hier USB-Videogeraumlt) die gewuumlnschte waumlhlen

Das Videoformat muss fuumlr eine passende Darstellung auf

der Laborseite auf 320 x 240 eingestellt sein Ist das nicht der Fall im Kontextmenuuml unter Video Format einstellen

In gleicher Weise kann eine zweite Videoquelle hinzugefuumlgt werden

In der Registerkarte Web Broadcast kann unter

Broadcast (HTTP) der Videoserver mit Ausschalten ge-stoppt und mit Aktivieren gestartet werden

Zur Zielwahl des Webservers (131246237167 - Internet D16W3X3J - Computer 127001 - Local Host) Videoser-ver stoppen und einstellen Videoserver wieder starten

62

454 Terminalprogramm Hyperterminal Hyperterminal in Windows XP Professional unter StartProgrammeZubehoumlrKommunikation aufrufen

Name der neuen Verbindung - z B Interface - eingeben

und OK waumlhlen Die Verbindung zwischen Computer und Interface wurde

uumlber einen USB-Seriell-Adapter hergestellt Dann erschei-nen zwei zusaumltzliche Eintraumlge (Motorola Comp Modem und COM5) in der Liste Prinzipiell muss eine COMx-Verbindung gewaumlhlt werden

Eigenschaften von COM 5 wie im Bild einstellen und OK

waumlhlen DateiEigenschaften aufrufen und ASCII-Konfiguration

waumlhlen

63

Haken bei Eingegebene Zeichen lokal ausgeben (lokales

Echo) setzen um eingegebenen Zeichen im Hyperterminal zu sehen

Bei funktionsfaumlhiger Verbindung erscheint nach Eingabe von Return die Befehlsliste des Interface

Durch Aufrufen von DateiSpeichern die erstellte Verbin-

dung z B auf dem Desktop speichern Dadurch braucht die Verbindung nicht immer wieder von neuem konfiguriert wer-den

Nach Aufrufen von DateiBeenden die bestehende Verbin-dung mit Ja beenden

64

Wurde ein falscher COM-Port gewaumlhlt reagiert das Inter-

face auf die Eingabe Return nicht Hyperterminal dann beenden

Der COM-Port kann dann nicht unter DateiEigenschaften im Hyperterminal aber unter Eigenschaften des Kontext-menuumls der Datei Interfaceht in der Registerkarte Verbin-den mit geaumlndert werden Dann OK waumlhlen und erneut Verbindung testen

65

455 Fernwartungssoftware TeamViewer 6 Host Auf der Webseite von Teamviewer GmbH unter Fuumlr unbeaufsichtigte Server TeamViewer Vollversion die Datei TeamViewer_Setup-wq herunterladen Das Programm muss auf dem RCL-Server und dem Computer der auf den RCL-Server zugreifen soll installiert werden Durch Doppelklick auf die Datei die Installation starten

Ausfuumlhren waumlhlen Weiter waumlhlen

Fuumlr die private nicht kommerzielle Nutzung ist Teamviewer kostenlos

privat nicht-kommerziell und Weiter waumlhlen

Beide Haumlkchen setzen und Weiter waumlhlen

66

Ja un Weiter waumlhlen Weiter

Computername und Kennwort fuumlr den Zugriff auf den RCL-Server oder den eigenen Computer vergeben Kenn wort notie-ren

Ein Teamviewerkonto ist nicht erforderlich Kann auch spaumlter noch eingerichtet werden

ID fuumlr den Computer auf dem das Programm installiert wird fuumlr Zugriff notieren

Das Programm wird gestartet Standardmaumlszligig vorein-gestellt ist der Start des Programms beim Start des Be-trienssystems

67

46 Selbstbau eines elementaren RCLs 461 Hard- und Software Auch ohne gleich ein vielleicht teures physikalisches Experiment zu steuern laumlsst sich mit wenigen Bauelementen ein elementares RCL realisieren Von einer Webseite im Internet sol-len eine Leuchtdiode (LED) ein- oder ausgeschaltet sowie der Zustand der Leuchtdiode und eines Tasters abgefragt werden An Hard- und Software werden benoumltigt

1 Low-Current-LED 5 mm 2 mA 1 Widerstand 18 kΩ 1 Taster und optional zwei 10-polige Wannenstecker mit ungefaumlhr 10 cm passendem Flachbandkabel und Buchsen

Interface in Basisschaltung Null-Modem-Kabel 12 V DC Steckernetzteil (larr 1)

Installierte Bascom-Demo-Version (larr 42)

AVR ISP-Programmer mit 10-poligem Programmierkabel

Installiertes und konfiguriertes AVR Studio 418 (larr 41)

Installiertes Paket XAMPP (larr 52)

Texteditor wie z B Notepad in Windows XP Professional

Konfigurierte Hyperterminalverbindung (larr 54)

462 Bestuumlckung der Platine Abb 29 zeigt zur Orientierung fuumlr das Einloumlten der Bauelemente die fertig bestuumlckte Platine des Interface

Abb 29 Mit elementarem RCL bestuumlckte Platine

des Interface

LED mit Vorwiderstand und der Taster sind rechts neben dem Mikrocontroller im Lochraster-bereich aufgebaut und uumlber Wannenstecker und Flachbandkabel mit dem Port A des Mikro-controllers verbunden (die drei Bauteile rechts neben dem ATmega16 werden nicht benouml-tigt) Tab 13 erlaumlutert die Schritte zur Bestuumlckung der Platine des Interface

68

Nr Schaltung Erlaumluterung

1

Die Leuchtdiode (LED) mit dem Pluspol (langes Beinchen) an PortA0 (PIN40 oben rechts) des Mikrocontrollers anloumlten

An das kurze Beinchen einen 18kΩ Widerstand loumlten dessen anderes Ende mit der Masse (GND) verbinden

2

Den Taster mit PortA1 (PIN39 = 2 Beinchen von oben rechts) und Masse (GND) verbinden

3

Draufsicht

Belegung des 10-poligen Wannensteckers 1 GND (Masse) im Foto oben links 2 +5 V 3 PortA0 4 PortA1 10 PortA7 im Foto unten rechts

Tab 13 Schritte zum Aufbau des elementaren RCLs

463 Lokal gesteuertes RCL Nachfolgend ist der Basic-Programmcode des Mikrocontrollers zur Steuerung und Abfrage der LED und des Tasters angegeben 01 $regfile = m16DEFdat Microcontroller ATmega16 02 $crystal = 11059200 110592MHz Quarz 03 $baud = 9600 Baudrate 04 05 ---[ Variables ]--------------------------------------------------------------- 06 Dim Rs232kommando As String 10 erst Befehlspuffer dann Kommando 07 Dim Parameter As String 10 Parameter 08 Dim Str_pos As Byte Position von Leerzeichen zur Trennung von Kommando und Pa-rameter 09 10 ---[ Initialisierung ]--------------------------------------------------------- 11 Ddra0 = 1 PortA0 als Ausgang fuumlr LED 12 Porta0 = 0 LED aus 13 Ddra1 = 0 PortA1 als Eingang fuumlr Taster 14 Porta1 = 1 Pull-Up aktivieren 15 16 ---[ Main program loop ]------------------------------------------------------- 17 Do Start der Endlos-Schleife 18 19 If Ischarwaiting() = 1 Then Zeichen uumlber RS232 empfangen 20 Input Rs232kommando neues Kommando lesen 21 Parameter = Parameter initialisieren 22 Str_pos = Instr(rs232kommando ) Leerzeichen im Kommando suchen 23 If Str_pos gt 0 Then falls Leerzeichen dann in Kommando+Parameter zerlegen 24 Incr Str_pos Str_pos soll jetzt auf 1Zeichen des Parameters zeigen 25 Parameter = Mid(rs232kommando Str_pos ) Parameter = Teilstring nach Leerzeichen 26 Parameter = Ucase(parameter) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 27 Str_pos = Str_pos - 2 Str_pos soll jetzt auf letztes Zeichen des Kommandos zeigen 28 Rs232kommando = Left(rs232kommando Str_pos)Kommando = Teilstring vor Leerzeichen 29 Rs232kommando = Ucase(rs232kommando) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 30 End If 31 32 Select Case Rs232kommando Eventhandler Interpretation der Kommandos 33 Case Print Hilfe Hilfeseite anzeigen 34 Print LED on - LED einschalten 35 Print LED off - LED ausschalten 36 Print LED - zeigt Status der LED an 37 Print SW - zeigt Status des Schalters an 38

1K8

LED rotmicroC PortA0(PIN40)

Taster

microC PortA1(PIN39)

1

3

2

69

39 Case LED If Parameter = ON Then LED schalten 40 Porta0 = 1 41 End If 42 If Parameter = OFF Then 43 Porta0 = 0 44 End If 45 46 Case LED If Porta0 = 0 Then Status der LED ausgeben 47 Print LED aus 48 Else 49 Print LED an 50 End If 51 52 Case SW If Pina1 = 1 Then Status des Schalters ausgeben 53 Print Taster offen 54 Else 55 Print Taster geschlossen 56 End If 57 58 Case Else Print gt Rs232kommando lt ungueltiger Befehl - weitere Infos mit Info bei unguumlltigen Eingaben 59 End Select 60 61 End If 62 63 Loop Endlos-Schleife Springe zu Do 64 65 End wird nie erreicht

Der erste Teil des Programms (Zeilen 1 - 15) enthaumllt die Systemparameter Variablen und Initialisierung der Ein- und Ausgaumlnge Der zweite Teil enthaumllt ab Zeile 17 das Hauptpro-gramm in dem Benutzereingaben uumlber die serielle Schnittstelle empfangen interpretiert und in entsprechende Anweisungen umgesetzt werden Tab 14 erlaumlutert den Programmcode de-taillierter

Zeilen Erlaumluterung

1 - 3 Diese Angaben teilen dem Compiler (Bascom) mit welcher Prozessor eingesetzt wird wie schnell dieser getaktet (Quarz) ist und mit welcher Uumlbertragungsgeschwindigkeit die Kommunikation uumlber die serielle Schnittstelle (RS232) mit dem PC erfolgen soll

6 - 8 Es werden drei Variablen genutzt Die Eingabe uumlber die serielle Schnittstelle wird in rs232kommando gespeichert Es wird ein Text der Form Kommando ltLeerzeichengt Parameter erwartet so dass die Variable Parameter den-selbigen aufnimmt Die Variable str_pos wird fuumlr die Trennung von Kommando und Parameter benoumltigt

11 - 14

Mit dem Befehl ddrPX (ddr = data direction) wird festgelegt ob ein Beinchen als Ausgang (=1) oder als Eingang (=0) arbeiten soll Der ATmega16 besitzt 32 Ein-Ausgaumlnge die in vier Ports (P=AD) zu je 8 Pins (X=07) unterteilt sind ddrA0 = 1 legt also das 1 Beinchen (Pin 0) von PortA als Ausgang (=1) fest Mit dem Befehl PortA0 =1 kann dieser Pin dann durch Zuweisen von 1 oder 0 an- bzw ausgeschaltet werden Im Datenblatt erfahren Sie welches der 40 Beinchen des Mikrocontrollers wie bezeichnet wird (Pin-Belegung) Wird ein Beinchen als Eingang verwendet (ddrA1 = 0) koumlnnen Sie optional einen so genannten Pull-Up-Widerstand aktivieren (PortA1=1) oder deaktivieren (PortA1=0) Auch hierzu sollten Sie sich unbedingt mit dem Datenblatt vertraut machen

17 63 Das Hauptprogramm besteht aus einer Endlosschleife d h der Mikrocontroller verrichtet ununterbrochen seinen Job so lange er mit Strom versorgt wird

19 - 30 Falls ein Zeichen uumlber die serielle Schnittstelle empfangen wurde wird dieses und alle folgenden gelesen Anschlie-szligend wird gepruumlft ob der empfangene Text von der Form Kommando ltLeerzeichengt Parameter ist so dass er ge-gebenenfalls in ein Kommando und einen Parameter zerlegt werden kann

32 - 59 Dieser Abschnitt wird mit Event-Handler bezeichnet Hier wird auf die Kommandos (Events) reagiert und die ent-sprechenden Schritte ausgefuumlhrt zB schalten LED je nach Wert der Variablen Parameter an- bzw ausschalten

46 52

In beiden Zeilen wird ein Wert eines Ports abgefragt Unterschiedlich ist dass in Zeile 46 der Status eines Ausgangs abgefragt wird (porta0) und in Zeile 52 der Zustand eines Eingangs (pina0) Die Anweisung IF porta0 = 0 THEN pruumlft (hier ist = ein Vergleich und KEINE Zuweisung) ob zuletzt die LED ausgeschaltet (Zuweisung porta0 = 0) wurde Die Anweisung IF pina1= 1 THEN liest den Status eines Eingangs Hier kann festgestellt werden ob der Eingang uumlber den internen Pull-UP-Widerstand auf +5V liegt (pina1 liefert 1) oder ob der Schalter den Eingang mit Masse (0V) verbindet (pina1 liefert 0)

Tab 14 Erlaumluterung des Mikrocontroller-Programmcodes fuumlr elementares RCL

70

In Bascom AVR eine neue Datei erzeugen (FileNew) den Programmcode ohne Kommenta-re eingeben und mit ProgramCompile (F7) eine Hexadezimaldatei erzeugen Die Hexadezi-maldatei mit dem AVR-Studio und dem AVR-ISP-Programmer in den Mikrocontroller schrei-ben (larr 222 Programmuumlbertragung) Nach dem Verbinden von Computer und Interface per Null-Modem-Kabel kann durch Eingabe von in das konfigurierte Hyperterminal die Befehls-liste in Abb 30 aufgerufen werden

Abb 30 Aufgerufene Befehlsliste im Hyperterminal

Durch Eingabe von LED on oder LED off kann die LED ein- und ausgeschaltet LED zeigt den Status der LED und sw den Status des Tasters an Alternativ zum Hyperterminal kann auch das Terminal in BASCOM unter ToolsTerminal Emulator verwendet werden (larr 422)

464 Ferngesteuertes RCL Zum Ansteuern des Interfaces und zum Bedienen des Versuchsaufbaus uumlber das Internet wird eine Webseite benoumltigt die dem Benutzer alle Bedienelemente des Experiments zur Verfuumlgung stellt

Der Benutzer benoumltigt anklickbare Buttons im Webbrowser

Der Webserver muss die Information welcher Button gedruumlckt wurde empfangen und ein entsprechendes Kommando uumlber die serielle Schnittstelle an das Interface senden

Beide Schritte sind im nachfolgenden PHPHTML-Quellcode zusammengefasst 01 ltDOCTYPE HTML PUBLIC -W3CDTD HTML 401 TransitionalEN httpwwww3orgTRhtml4loosedtdgt 02 lthtmlgt 03 ltheadgt 04 ltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1gt 05 lttitlegtelementares RCLlttitlegt 06 ltheadgt 07 08 ltbodygt 09 ltphp 10 if (isset($_POST[Kommando])) wurde bereits Kommando gesendet 11 if( ( $handle = fopen( COM1 w+ ) ) ) Schnittstelle oumlffnen 12

71

13 throw new Exception( Can not access serial port 2 ) ohne Erfolg 14 15 fwrite( $handle $_POST[Kommando] chr( 13 ) ) Befehl an Interface senden 16 switch ( $_POST[Kommando] ) Antwort von Interface auswerten 17 case LED $tmp = fgets( $handle ) Echo von Interface ignorieren 18 $antwort = fgets( $handle ) Antwort des Interfaces 19 echo Antwort $antwort Ausgabe auf Webseite 20 break switch verlassen 21 22 case SW $tmp = fgets( $handle ) Echo von Interface ignorieren 23 $antwort = fgets( $handle ) Antwort des Interfaces 24 echo Antwort $antwort Ausgabe auf Webseite 25 break switch verlassen 26 27 28 29 fclose( $handle ) Schnittstelle schlieszligen 30 31 else 32 `mode com1 BAUD=9600 PARITY=N data=8 stop=1 xon=off` Schnittstellenparameter setzen 33 34 35 gt 36 37 lth3gtBefehl sendenlth3gt 38 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 39 ltinput type=hidden name=Kommando value=LED ON gt 40 ltinput type=submit value=LED anschalten gt 41 ltformgt 42 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 43 ltinput type=hidden name=Kommando value=LED OFF gt 44 ltinput type=submit value=LED ausschalten gt 45 ltformgt 46 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 47 ltinput type=hidden name=Kommando value=LED gt 48 ltinput type=submit value=LED abfragen gt 49 ltformgt 50 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 51 ltinput type=hidden name=Kommando value=SW gt 52 ltinput type=submit value=Taster abfragen gt 53 ltformgt 54 ltbodygt 55 lthtmlgt Den Quellcode in den Texteditor kopieren und im Ordner htdocs von XAMPP z B unter rclphp speichern HTML-Dateien mit PHP-Code (Zeilen 9-35) muumlssen mit der Erweiterung php gespeichert werden damit der Apache Webserver zwischen HTML-Seiten mit und ohne PHP-Code unterscheiden kann Den installierten Apache Webserver starten (larr 452) und im Adressfeld des Webbrowsers die IP-Adresse http127001rclphp aufrufen Das Bedi-enfeld des elementaren RCLs in Abb 31 wird im Browserfenster angezeigt

72

Abb 31 Laborseite des elementaren RCLs

Im Bedienfeld kann die LED an- und ausgeschaltet sowie der Status von LED und Taster abgefragt werden

  • 0 Warum ein Tutorial zur RCL-Technik
  • 1 Technische Konzeption
    • 11 Einfuumlhrung
    • 12 Wahl der RCL-Technik
      • 2 Lokal gesteuertes RCL
        • 21 Interface
          • 211 Mikrocontroller
          • 212 Basisschaltung und Erweiterungsschaltungen
          • 213 Programmierung des Mikrocontrollers
            • 22 Hyperterminal
            • 23 Positionieren von Objekten
              • 231 Hybrid-Schrittmotoren
              • 232 Schrittmotorsteuerung und Positionierungsmechanik
                  • 3 Ferngesteuertes RCL
                    • 31 RCL-Server
                    • 32 Laborseite
                      • 321 Steuerung des RCLs uumlber das Bedienfeld
                      • 322 Videouumlbertragung im Webcamfeld
                        • 33 Standard-Lernumgebung
                          • 4 ANHANG
                            • 41 Interface in Basisschaltung
                              • 411 Schaltplan und Bauteilliste
                              • 412 Bestuumlckung der Platine
                                • 42 Erweiterungsschaltungen
                                  • 421 Uumlbersicht
                                  • 422 TMC222-Modul zur Schrittmotorsteuerung
                                    • 4221 Schaltplan und Bauteilliste
                                    • 4222 Bestuumlckung der Platine
                                    • 4223 Quellcode des Mikrocontroller-Programms
                                      • 423 Geschaltete Spannungsquellen und Verbraucher
                                      • 424 Steuerung von Gleichstrommotoren
                                        • 43 Quellcodes zum RCL Elektronenbeugung
                                          • 431 Mikrocontroller-Programmierung
                                          • 432 PHP-Programmierung
                                          • 433 Bedienfeld der Laborseite
                                          • 434 Webcamfeld der Laborseite
                                            • 44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung
                                              • 441 AVR-Studio 418
                                                • 4411 Installation
                                                • 4412 Konfiguration
                                                  • 442 BASCOM 11198 Demoversion
                                                    • 4421 Installation
                                                    • 4422 Konfiguration
                                                        • 45 Installation und Konfiguration von Programmen auf dem RCL-Server
                                                          • 451 Einrichten des Internet-Zugangs
                                                          • 452 Paket XAMPP 174
                                                          • 453 Videoserver webcamXP 5 Private
                                                          • 454 Terminalprogramm Hyperterminal
                                                          • 455 Fernwartungssoftware TeamViewer 6 Host
                                                            • 46 Selbstbau eines elementaren RCLs
                                                              • 461 Hard- und Software
                                                              • 462 Bestuumlckung der Platine
                                                              • 463 Lokal gesteuertes RCL
                                                              • 464 Ferngesteuertes RCL

4

0 Warum ein Tutorial zur RCL-Technik Dieses Tutorial zur Technik von RCLs des RCL-Portals ist eine uumlberarbeitete und ergaumlnzte Fassung eines ersten Tutorials1 aus 2006 Gruumlnde ein Tutorial zur RCL-Technik anzubieten sind

Am Selbstbau von RCLs interessierten Schuumllern Studierende Dozenten und Lehrkraumlften soll das Tutorial einen Einstieg in die RCL-Technik bieten Insbesondere soll Staatsexa-menskandidaten in Physik die ein RCL entwickeln wollen die Einarbeitungszeit in die Technik der RCLs des RCL-Portals verkuumlrzt werden In muumlndlicher Form ist Technik nur schwer vermittelbar

Der Umfang an technischen Faumlhigkeiten (Programmierung in HTMLPHP und einer weite-ren Programmiersprache Elektronikkenntnisse zu Mikrocontrollern Sensoren und Akto-ren) und Fertigkeiten (Bestuumlckung der Platine des Interface mechanischer Aufbau eines RCLs) zur Realisation eines RCLs ist groszlig Zu wenige RCL-Interessierte verfuumlgen uumlber al-le Faumlhigkeiten und Fertigkeiten Das Tutorial soll dazu anregen sich die notwendigen technischen Faumlhigkeiten anzueignen

Das Tutorial fuumlhrt in die technische Konzeption der RCLs des RCL-Portals ein und die Wahl der RCL-Technik wird begruumlndet In zwei Schritten Lokal gesteuertes RCL (rarr 2) und Ferngesteuertes RCL (rarr 3) wird die Realisation eines RCLs am Beispiel des RCLs Elekt-ronenbeugung beschrieben Wer selbst ein eigenes elementares und kostenguumlnstiges RCL ohne physikalische Geraumlte bauen moumlchte findet dazu im Anhang eine in den gleichen zwei Schritten strukturierte Anleitung (rarr 46) Der Anhang enthaumllt weitere Anleitungen und ergaumln-zende Informationen An den entsprechenden Stellen des Tutorials wird darauf verwiesen

1 Technische Konzeption 11 Einfuumlhrung Abb 1 veranschaulicht das Prinzip von RCLs

Abb 1 Prinzip von RCLs

1 Vgl Tutorial Selbstbau eines RCLs

5

Ein Besucher an einem quasi beliebigen Ort A kann uumlber das Internet mit einem Experiment an einem quasi beliebigen Ort B experimentieren Dazu stellt ein RCL-Server auf dem Com-puter des Besuchers eine Webseite bereit von der aus der Besucher das Experiment uumlber Aktoren fernsteuern und uumlber Sensoren Fernmessungen durchfuumlhren kann Den Datenaus-tausch zwischen RCL-Server und Experiment und die Steuerung des Experiments uumlber-nimmt ein Interface Per Webcam erhaumllt der Besucher auf der Webseite visuelle Ruumlckmel-dungen zu durchgefuumlhrten Aktionen und Veraumlnderungen im Experiment

Am Beispiel des RCLs Elektronenbeugung wird in die technische Konzeption der RCLs des RCL-Portals eingefuumlhrt Abb 2 zeigt den prinzipiellen Aufbau eines RCLs aus RCL-Server Interface und Experiment

Abb 2 Aufbau eines RCLs am Beispiel des RCLs Elektronenbeugung

Das Experiment Elektronenbeugung ist ein Standardversuch mit Hochspannungsnetzgeraumlt2 und Elektronenbeugungsroumlhre3 Eine Webcam Interface und RCL-Server erweitern den Versuch zum RCL Die nummerierten Kabelverbindungen in Abb 2 haben folgende Funktio-nen Kommunikation zwischen RCL-Server und Interface uumlber serielle Schnittstellen (1) 12 V-Spannungsversorgung des Interface vom Steckernetzteil (2) geschaltete Netzspannung des Hochspannungsnetzgeraumlts (3) Steuerung der Ausgangsspannung des Hochspan-nungsnetzgeraumlts bzw der Beschleunigungsspannung uumlber das Interface (4) Heizspannung fuumlr Gluumlhkathode der Elektronenkanone (5) Beschleunigungsspannung fuumlr die Elektronenka-none (6) USB-Anschluss der Webcam am RCL-Server (7) und Internetanschluss des RCL-Servers (8) Um ohne stoumlrendes Fremdlicht mit der Webcam das Beugungsmuster auf dem Szintillationsschirm beobachten zu koumlnnen befindet sich das gesamte Experiment im Betrieb unter einem Verdunklungskasten

2 Vgl LD Didactic Hochspannungsnetzgeraumlt 10 kV 3 Vgl LD Didactic Elektronenbeugungsroumlhre

6

Das RCL Elektronenbeugung kann auf dem RCL-Portal nach der Wahl des Menuumlpunkts RCLs aufgerufen werden Die Wahl des Menuumlpunkts Labor aus der Standard-Lernumgebung ruft die Laborseite des RCLs in Abb 3 auf

Abb 3 Laborseite des RCLs Elektronenbeugung in einem Webbrowser

Im Bedienfeld kann die Gluumlhkathode der Elektronenkanone mit dem Button Elektronenroumlhre einschalten eingeschaltet werden Durch Eingabe von Werten zwischen 0 und 43 kV kann eine variable Beschleunigungsspannung an die Elektronenkanone angelegt das auf dem Szintillationsschirm entstehende Beugungsmuster im Webcamfeld beobachtet und mit dem Button Screenshot das Webcambild auf dem Computer gespeichert werden

Die Realisation eines RCLs erfolgt in zwei Schritten Als lokal gesteuertes RCL kann das Ex-periment ohne Internetzugang vom RCL-Server aus gesteuert werden als ferngesteuertes RCL kann mit dem RCL zusaumltzlich weltweit uumlber das Internet experimentiert werden Abb 4 zeigt dazu das Blockdiagramm der fuumlr alle RCLs einheitlichen Funktionsgruppen von RCL-Server Interface und Experiment Pfeile zwischen den Funktionsgruppen geben Kommuni-kations- oder Abhaumlngigkeitsrichtungen an

7

Abb 4 Funktionsgruppen von RCL-Server Interface und Experiment eines RCLs

Lokal gesteuertes RCL Damit das Experiment fernbedienbar wird muss der Versuchsaufbau mit Sensoren (z B fuumlr Temperatur) Aktoren (z B Schrittmotor) oder anderen gesteuerten Geraumlten (z B Hochspannungsnetzgeraumlt in Abb 2) ausgestattet werden Das Interface besteht aus einer fuumlr alle RCLs identischen Basisschaltung und aus RCL-spezifischen Erweiterungsschal-tungen (rarr 212) fuumlr die Sensoren Aktoren und gesteuerten Geraumlte Wichtigster elektronischer Baustein der Basisschaltung ist ein programmierbarer Mikro-controller (rarr 211) zur Steuerung des Experiments Fuumlr die Programmentwicklung wird eine Entwicklungsumgebung auf dem RCL-Server oder alternativ auf anderen Computern verwendet (rarr 213) Die Programmuumlbertragung vom RCL-Server auf den Mikrocontroller erfolgt uumlber einen USB-ISP-Programmer und die ISP-Schnittstelle des Mikrocontrollers (rarr 213) Danach werden die in Abb 4 gestrichelt dargestellten Funktionsgruppen und Verbindungen nicht weiter benoumltigt und das RCL kann lokal uumlber ein Terminal (rarr 22) ge-steuert werden werden

Ferngesteuertes RCL Um auf das RCL weltweit zugreifen zu koumlnnen wird auf dem RCL-Server ein Webserver installiert und ein Internetzugang benoumltigt (rarr 31) Befehle von der Laborseite wie z B Parametereingaben werden von einem PHP-Programm interpretiert und uumlber die RS232-Schnittstelle (alternativ uumlber USB-Seriell-Adapter) des RCL-Servers an die RS232-Schnittstelle des Mikrocontrollers zur Ausfuumlhrung an das Experiment uumlbermittelt In umge-kehrter Richtung werden uumlber das PHP-Programm vom Mikrocontroller Zustaumlnde des Ex-periments oder Messergebnisse an die Laborseite uumlbermittelt (rarr 321) Zur Uumlbertragung von Videobildern einer oder mehrerer Webcams die visuelle Ruumlckmeldungen uumlber den Zustand des Experiments geben wird ein Videoserver eingesetzt (rarr 322) Der RCL-Server stellt Besuchern auszliger der dynamisch generierten Laborseite auch die statischen Webseiten der Standard-Lernumgebung (larr 11 Abb 2) des RCLs bereit (rarr 33)

8

12 Wahl der RCL-Technik Es existiert eine nur schwer im Detail zu uumlberblickende und zu beherrschende Vielzahl von Hard- und Softwaretechnologien (Interfaces und Programmiersprachen) um ein Experiment uumlber das Internet fernbedienbar zu machen Im Folgenden wird die Wahl der Technik von RCLs des RCL-Portals begruumlndet

Interface Zu Beginn des RCL-Projekts war es naheliegend auf vorhandene technische Loumlsungen zum Interface zuruumlckzugreifen Das RCL Elektronenbeugung wurde zunaumlchst mit dem Power-Cassy4 und dem Sensor-Cassy5 von Leybold zur Steuerung und Messung der Be-schleunigungsspannung betrieben Der heutige Preis fuumlr beide Komponenten zusammen liegt bei ungefaumlhr 1700 euro Ein Datenaustausch zwischen dem RCL-Server und dem Sen-sor-Cassy wurde uumlber das Common Gate Interface (CGI) realisiert Bei den nicht mehr existierenden Versionen der RCLs Beugung und Interferenz und Computertomographie wurde das Intelligent Interface6 von Fischertechnik eingesetzt Fuumlr 130 euro wurden 4 umpolbare kurzschlussfeste digitale Ausgaumlnge mit 025 A Dauerbelast-barkeit fuumlr Gleichstrommotoren Elektromagneten oder Lampen geboten Digitale Senso-ren wie z B Taster konnten an 8 digitale Eingaumlnge angeschlossen werden Fuumlr Potenti-ometer Temperatur- oder Helligkeitssensoren mit variablem Widerstand als Ausgangs-groumlszlige waren 2 analoge Eingaumlnge mit Eingangswiderstand zwischen 0 und 5 kΩ und einer Abtastrate von 50 Hz verfuumlgbar Programmiert werden konnte das Interface mit C++ Vi-sual Basic oder als Einstieg in die Technik des Programmierens mit der graphisch orien-tierten Programmiersprache LLWin Ein nutzerspezifisches im RAM des Interface gespei-chertes Programm ging ohne Spannungsversorgung verloren Die Nachteile dieser Interfaces wie zu hohe Kosten zu geringe Flexibilitaumlt beim Anschluss von Sensoren und Aktoren - insbesondere von Schrittmotoren - und zu geringe Messraten wurden erst durch das programmierbare Eigenbau-Interface (rarr 21) fuumlr ungefaumlhr 50 euro (rarr 41) und eine modular gestaltete an das jeweilige RCL anzupassende PHP-Basisprogrammierung (rarr 432) geloumlst Zur Programmierung des Interface wird ein USB-ISP-Programmer fuumlr ungefaumlhr 30 euro benoumltigt

Software fuumlr RCL-Server Mikrocontroller und Standard-Lernumgebung Tab 1 enthaumllt eine Uumlbersicht der Programme fuumlr den RCL-Server und einem weiteren Computer Die Links fuumlhren auf die Webseite zum Download des Programms und Preise sind angegeben Auf Installation und Konfiguration von Programmen wird in den einzel-nen Abschnitten des Tutorials eingegangen

4 Vgl LD Didactic Power-Cassy 5 Vgl LD Didactic Sensor-Cassy 6 Vgl Fischertechnik Intelligent Interface nicht mehr lieferbare Art-Nr 30402 bei Knobloch GmbH

9

Typ Hersteller Name und Version Preis

RC

L-Se

rver

Betriebssystem und Terminal

Microsoft Windows XP Professional mit Service Pack 3 Microsoft Hyperterminal in Windows XP Professional unter

StartProgrammeKommunikationHyperterminal asymp 20 euro

Webserver und PHP Apache Friends XAMPP 174 fuumlr Windows Installer-Version The PHP Group PHP 531 (enthalten in XAMPP 174)

-

Videoserver Moonware Studios webcamXP 5 Free (eine Videoquelle) Moonware Studios webcamXP 5 Private (bis zu 5 Videoquellen)

- 4495 euro

RCL-Software Technische Universitaumlt Kaiserslautern RCL-Ordner htdocs -

Fernwartung- und Desktop-Sharing TeamViewer GmbH TeamViewer 6 Vollversion -

Virenscanner Avira AntiVir Personal Webeditor Notepad++ team Notepad++ 59 -

Com

pute

r

Entwicklungsumgebungen fuumlr Mikrocontroller ATmega16

ATMEL AVR-Studio 418 - Sourceforge WinAVR - MCS Electronics BASCOM-AVR Demoversion (maximal 4 kB

Programmcode) MCS Electronics BASCOM-AVR Vollversion

-

89 euro MikroElektronika MikroPascal Pro for AVR asymp 140 euro

Webeditor Notepad++ team Notepad++ 59 Adobe Dreamweaver CS557

- asymp 115 euro

Fernwartung- und Desktop-Sharing TeamViewer GmbH Teamviewer 6 Vollversion -

Tab 1 Programme fuumlr den RCL-Server und fuumlr weiteren Computer zur Prgrammie-rung des Mikrocontrollers Webseitenerstellung und Fernwartung ( optio-nale Programme Links fuumlhren auf Webseite zum Download Stand Juni 2011)

Fuumlr den RCL-Server wird als stabiles Betriebssystem Windows XP Professional einge-setzt Microsoft vertreibt seit Dezember 2008 Windows XP nicht mehr Sicherheitspatches werden noch bis April 2014 bereitgestellt ein Bezug ist z B uumlber Ebay8 moumlglich Das Hy-perterminal-Programm zur Kommunikation mit dem Interface ist Teil von Windows XP Professional Vom Open-Source-Paket XAMPP wird der Apache Webserver und der PHP-Interpreter eingesetzt Da in der Regel bei RCLs zwei Webcambilder uumlber das Inter-net uumlbertragen werden muumlssen ist der Videoserver webcamXP 5 nicht kostenlos Im RCL-Ordner htdocs befindet sich die Basissoftware die noch an das zu realisierende RCL anzupassen ist Ein kostenloser Virenscanner wie z B Antivir Personal ist erfahrungsge-maumlszlig ausreichend Als Fernwartungssoftware fuumlr den RCL-Server wird Teamviewer emp-fohlen Es genuumlgt der Teamviewer Host weil vom RCL-Server kein Remote-Zugriff auf den Computer erfolgen muss Fuumlr kleinere Arbeiten an der RCL-Software oder der Stan-dard-Lernumgebung waumlhrend der Fernwartung sollte ein kostenloser Webeditor wie z B Notepad++ installiert werden Auf einem weiteren Computer kann zur Programmierung des Mikrocontroller eine Ent-wicklungsumgebung fuumlr folgende Programmiersprachen installiert werden Mit dem AVR-Studio kann in Assembler und nach der Installation von WinAVR in C bzw C++ program-miert werden Fuumlr Einsteiger wird eine Programmierung in Basic mit BASCOM-AVR emp-fohlen Falls der Programmcode groumlszliger als 4 kB ist muss die Vollversion erworben wer-

7 Vgl Adobe Dreamweaver CS55 8 Vgl Ebay Windows XP Professional

10

den Eine Programmierung in Pascal ist fuumlr ungefaumlhr 140 euro mit dem Pascal-Compiler von MikroElektronika moumlglich Mit Notepad++ steht ein kostenloser und guter Webeditor zum Erweitern der PHP-Basissoftware und zum Erstellen von Webseiten der Standard-Lernumgebung bereit Als professionellerer Editor kann z B Dreamweaver verwendet werden Fuumlr die Fernwartung des RCL-Servers muss auf dem zugreifenden Computer die Vollversion von Teamviewer installiert werden

Die gewaumlhlte Hard- und Software fuumlr RCLs bietet folgende Vorteile

Geringe Hard- und Softwarekosten Interface mit Erweiterungsschaltungen (asymp 70 euro) USB-ISP-Programmer (asymp 30 euro) AVR-Studio zur Programmierung in C (0 euro) Betriebssystem Windows XP Professional (asymp 20 euro) webcamXP 5 fuumlr ein Webcambild (0 euro) koumlnnen zusammen fuumlr 120 euro erworben werden Mit einem nicht mehr benoumltigtem aumllteren Computer Tastatur und Maus (0 euro) einem ausge-dientem Monitor (0 euro) einer einfachen USB-Webcam (asymp 20 euro) und der Positionierungsme-chanik eines nicht mehr benoumltigten aumllteren Scanners (0 euro) kann ein RCL schon ab 140 euro realisiert werden

Einfache Adaptierbarkeit des Interface und der PHP-Basissoftware an das Experiment Der Mikrocontroller des Interface kann frei programmiert werden Mit der Aufteilung der Schaltung des Interface in eine fuumlr alle RCLs gleiche Basisschaltung und RCL-spezifische Erweiterungsschaltungen (rarr 212) ist das Interface leicht an das Experiment anpassbar Durch die im Mikrocontroller integrierten Peripheriebausteine genuumlgen meist wenige Bau-elemente und die unterschiedlichsten Mess- und Steuergroumlszligen koumlnnen verarbeitet wer-den Die PHP-Basissoftware braucht nur um wenige Programmbloumlcke erweitert zu wer-den

Einfacher Zugang zu Ressourcen der RCL-Technik Die weite Verbreitung des Mikrocontrollers ATmega16 im Hobbybereich korrespondiert mit einem umfangreichen kostenlosen Informationsmaterial zur Hardware und Software des Mikrocontrollers im Internet In Tab 2 sind unter Mikrocontroller Links zu Datenblaumlt-tern Portalen und Foren mit praxisnahen Loumlsungen fuumlr Probleme der Mikrocontroller-Programmierung zusammengestellt Ein staumlrker strukturiertes Erlernen der Funktionen und Programmierung von AVR-Mikrocontrollern ist uumlber die genannten Tutorials im Inter-net und Buumlcher moumlglich

11

Ressource Kurzbeschreibung

Mik

roco

ntro

ller

Mikrocontroller mega16A Mikrocontroller ATmega16A Summary

Ausfuumlhrliches und zusammenfassendes Datenblatt des Mikrocon-trollers ATmega16

wwwmicrocontrollernet Portal fuumlr Mikrocontroller RoboterNETZ Portal fuumlr Robotik Mikrocontroller und Elektronik AVR-Tutorial Tutorial zur AVR-Familie auf microcontrollernet BASCOM-AVR Online-Hilfe zur Entwicklungsumgebung BASCOM-AVR myAVR Mikrocontrollerloumlsungen fuumlr Ausbildung und Selbststudium BASCOM-Forum Forum von MCS BASCOM RoboterNETZ-Forum Forum von RoboterNETZ myAVR-Forum Forum von myAVR AVR-Forum Forum von Atmel Roland Walter AVR Mikrocontroller Lehr-buch Buch zur Programmierung von AVR-Mikrocontrollern mit Basic

Guumlnter Schmitt Mikrocomputertechnik mit Controllern der Atmel AVR-RISC-Familie

Buch zur Programmierung von AVR-Mikrocontrollern in Assemb-ler und C

Claus Kuumlhnel Programmierung der AVR RISC Mikrocontroller mit BASCOM-AVR

Buch zur Programmierung von AVR-Mikrocontrollern in BAS-COM-AVR (Basic)

Frank Sichla Schaltungssammlung Mikro-controller und USB

Buch mit praktischen Anwendungsschaltungen und Einsatzmoumlg-lichkeiten von Mikrocontrollern

HTM

LPH

P

SELFHTML Portal zum Erstellen von Webseiten mit HTML SELTPHP Portal zum Programmieren von Webseiten mit PHP PHP Entwicklerseite von PHP Kleines Tutorial PHP-Tutorial PHP-Handbuch PHP-Handbuch

Elek

tron

ik

reichelt elektronik Elektronikversand Conrad Elektronikversand ELV Elektronik Elektronikversand Datasheet Catalogcom Datenbank fuumlr Datenblaumltter elektronischer Bauelemente Datasheet Archive Datenbank fuumlr Datenblaumltter elektronischer Bauelemente Pegelwandler Max232 fuumlr serielle Schnitt-stelle Datenblatt des ICs Max232 von Texas Instruments

Spannungsregler L7805 Datenblatt des ICs L7805 von STMicroelectronics Schrittmotormodul TMC222 Datenblatt des ICs TMC222 von Trinamic

Schr

ittm

otor

en

Minebea Hybrid Stepping Motors Datenblaumltter von 12 Hybrid-Schrittmotoren Trinamic Stepper Motors Datenblaumltter und Bezugsquellen von 6 Hybrid-Schrittmotoren reichelt elektronik Groszliges Angebot an Schrittmotoren Quality Motors Auf TMC-Module und -ICs abgestimmte Schrittmotoren Nanotec Schrittmotor-Animation Animation von unipolarem und bipolarem Schrittmotor

Nanotec Glossar Glossar mit Erklaumlrungen zu wichtigen Begriffen aus der Schrittmo-tor-Antriebstechnik

Erich Rummich Elektrische Schrittmoto-ren und -antriebe- Funktionsprinzip- Be-triebseigenschaften - Messtechnik

Buch zum Erwerb von Kenntnissen zum Aufbau und zur Funkti-onsweise von Schrittmotoren

Tab 2 Ressourcen zur Realisation eines RCLs

Die seit 1996 zunehmende Bedeutung der kostenlosen Skriptsprache PHP und das Wachstum des Internets korrespondieren mit einer Zunahme an kostenlosem Informati-onsmaterial zur PHPHTML-Programmierung Neben den unter PHPHTML in Tab 2 ge-nannten Ressourcen sind wegen des groszligen Marktes keine Buumlcher zu PHP genannt Die teuren und schnell veraltenden Buumlcher sollten in Bibliotheken geliehen werden Unter Elektronik sind in Tab 2 Links zum Versandhandel elektronischer Bauelemente zu Datenbanken mit Datenblaumlttern elektronischer Bauelemente und zu Datenblaumlttern der wichtigsten ICs des Interface zu finden Unter Schrittmotoren sind Links zu Schrittmotoren

12

wichtiger Anbieter zusammengestellt die uumlber den Elektronikhandel leicht bezogen wer-den koumlnnen Das Buch von Erich Rummich erklaumlrt Zusammenhaumlnge zwischen Bauform und Funktionsweise von Schrittmotoren die uumlber Informationen zu Schrittmotoren im Tu-torial (rarr 231) gegebenen Informationen hinausgehen

Programmierung des Mikrocontrollers in Basic Besonders die Moumlglichkeit der Programmierung des Mikrocontrollers in der Hochsprache Basic (larr 12 Tab 1 Bascom AVR) erleichtert den Einstieg in den Selbstbau von RCLs Daruumlber hinaus besteht analog zur PHP-Programmierung die Mikrocontroller-Programmierung aus einer an das jeweilige RCL lediglich anzupassenden Basispro-grammierung (rarr 431)

Betriebssystemunabhaumlngigkeit Das Interface kommt ohne betriebssystemspezische Treiber aus PHP und HTML sind be-triebsystemunabhaumlngige Sprachen Der Apache Webserver XAMPP ist auszliger fuumlr Windows fuumlr die Betriebssysteme Linux Mac OS X und Solaris9 erhaumlltlich

Wartung von Programmierung und Interface Aumlnderungen der PHPHTML-Programmierung koumlnnen leicht uumlber einen Fernzugriff auf den RCL-Server vorgenommen werden Da der PHPHTML-Quellcode im RCL-Betrieb stets in einer lauffaumlhigen Form vorliegt fuumlhren Wechsel von Personen die Zugriff auf die Programmierung haben nicht zu Ausfaumlllen des RCLs Aumlnderungen und Reparaturen an den Ergaumlnzungsschaltungen des Interface koumlnnen aufgrund des Lochrasteranteils der Platine (rarr 412) leicht durchgefuumlhrt werden

Zerstoumlrungssichere Versuchskomponenten Versuchskomponenten sind durch die Programmierung des Mikrocontrollers vor Fehlbe-dienungen des RCLs geschuumltzt Da der Mikrocontroller die Zulaumlssigkeit von Parameter-werten uumlberwacht ist kein Missbrauch des Experiments durch Dritte moumlglich Abstuumlrze des RCL-Servers fuumlhren nicht zu undefinierten Zustaumlnden des Experiments weil der Mik-rocontroller das Experiment steuert In der Lebensdauer staumlrker begrenzte Versuchskom-ponenten wie z B die Elektronenbeugungsroumlhre beim RCL Elektronenbeugung (larr 11 Abb 2) koumlnnen durch eine programmierte Standby-Funktion des Mikrocontrollers bei Nichtgebrauch ausgeschaltet werden

Keine Installation von Zusatzsoftware Besucher benoumltigen zum Experimentieren mit RCLs lediglich einen kostenlos verfuumlgbaren Webbrowser wie z B die auf Funktionsfaumlhigkeit fuumlr die RCLs getesteten Internet Explo-rer Opera Firefox Safari oder Konquerer mit aktivierter Javaskript-Funktion Es muss keine weitere Zusatzsoftware installiert werden

Eine alternative technische Loumlsung fuumlr RCLs ist LabVIEW (Laboratory Virtual Instrument En-gineering Workbench) von National Instruments (NI)10 LabVIEW ist eine sehr umfangreiche

9 Apache friends XAMPP

13

mittlerweile als Industriestandard geltende grafische Programmierumgebung zum Messen Steuern und Regeln von Systemen Uumlber umfangreiche Treiber-Bibliotheken lassen sich fast alle gaumlngigen mit einer entsprechenden Schnittstelle ausgestatteten Geraumlte in LabVIEW ein-binden LabVIEW wurde als technische Loumlsung im RCL-Projekt aus mehreren Gruumlnden nicht eingesetzt

Besucher muumlssen einmalig vor dem Experimentieren mit RCLs die LabVIEW Run-Time Engine11 installieren

Es existieren nur wenige Schulgeraumlte mit den erforderlichen Schnittstellen

Die Kosten von ungefaumlhr 1300 euro fuumlr die Basisversion und ungefaumlhr 2800 euro fuumlr die Vollver-sion sind zu hoch

LabVIEW ist fuumlr die zu entwickelnden RCLs bzw die Zielgruppe aus Schuumllern und Studie-rende uumlberdimensioniert Der Nachbau von RCLs durch interessierte Schuumller und Studie-rende waumlre aus Kosten und Anforderungsgruumlnden nur schwer moumlglich

Trotz der graphischen Programmieroberflaumlche von LabVIEW muumlssen im Programmcode immer noch Anpassungen in der speziell fuumlr LabVIEW entwickelten Programmiersprache G vorgenommen werden

Die Einarbeitung in LabVIEW ist vom Zeitaufwand und den Anforderungen her mindes-tens genauso hoch wie die fuumlr Mikrocontroller- und PHP-Programmierung

Eine mit fertigen LabVIEW-Elementen gestaltete Laborseite ist nicht unbedingt nutzer-freundlicher als eine mit PHPHTML erstellte Laborseite

2 Lokal gesteuertes RCL 21 Interface 211 Mikrocontroller Zentrales Bauelement des Interface ist ein ATMEL AVR 8-bit RISC Mikrocontroller ATme-ga16 Dieser enthaumllt im Vergleich zu einem Mikroprozessor auszliger dem Prozessor auch peri-phere Module wie z B Speicher digitale und analoge Ein- und Ausgaumlnge oder Timer fuumlr Zu-satzfunktionen Dadurch kommen Anwendungen von Mikrocontrollern wie z B RCLs meist mit wenigen zusaumltzlichen Bauelementen aus Tab 3 enthaumllt eine Uumlbersicht der wichtigsten Features des Mikrocontrollers zum Prozessor zur Programmierung und Datenspeicherung zu peripheren Modulen und erlaumlutert einige Fachbegriffe

10 Vgl National Instruments 11 Vgl National Instruments LabVIEW Run-Time Engine

14

Feature Erlaumluterung

Proz

esso

r

ATMEL AVR 8 bit RISC Mik-rocontroller ATmega16

ATMEL US-amerikanischer Hersteller von Mikrocontrollern AVR Familie von Mikrocontrollern 8 bit Breite des internen Datenbusses des Mikrocontrollers RISC steht fuumlr Reduced Instruction Set Computer (Rechner mit reduziertem Befehls-

satz) Designphilosophie von Mikrocontrollern mit Befehlssatz aus moumlglichst einfa-chen Befehlen und houmlherer Effizienz des Prozessors

ATmega Eine der Mikrocontroller-Serien von ATMEL 16 steht fuumlr 16 kB Flash-ROM Groumlszlige des Programmspeichers des Mikrocontrollers

131 Befehle mit 1-2 Taktzyk-lenBefehl

Die ATmega-Serie besitzt unter den Mikrocontroller-Serien von ATMEL den groumlszligten Befehlssatz Die meisten Befehle benoumltigen zur Ausfuumlhrung nur einen Taktzyklus

Variabel waumlhlbare Taktfre-quenzen bis zu 16 MHz

Ein externer Schwingquarz legt die Schwingungsfrequenz einer Oszillatorschaltung und damit die Taktfrequenz des Mikrocontrollers fest

Prog

ram

mie

rung

und

Dat

ensp

eich

erun

g

ISP uumlber SPI-Bus in 16 kB Flash-ROM Programm-Speicher

ISP steht fuumlr In System Programming Der Mikrocontroller kann ohne aus der Schal-tung entfernt zu werden programmiert werden Es wird kein teures Programmierge-raumlt sondern nur ein Programmieradapter benoumltigt

SPI steht fuumlr Serial Peripheral Interface (Serielles Peripheres Interface) Nach dem Master-Slave-Prinzip arbeitender synchroner serieller Datenbus zur Kommunikation zwischen digitalen Schaltungen

Flash-ROM Kann zur Speicherung des Programmcodes ca 1000-mal neu be-schriebengeloumlscht - geflashed - werden aber beliebig oft gelesen werden Daten bleiben auch ohne Versorgungsspannung erhalten

512 B EEPROM 1 kB internes SRAM

EEPROM steht fuumlr Electrically Erasable Programmable Read Only Memory (Elektrisch loumlschbarer und programmierbarer Nur-Lese-Speicher) Nichtfluumlchtiger Speicher der beliebig oft gelesen und mindestens 100000 mal beschrieben werden kann Kann z B zum Speichern von Messwerten und Konfigurationsdaten verwen-det und uumlber ISP programmiert werden

SRAM steht fuumlr Static Random Access Memory Fluumlchtiger Speicher der beliebig oft gelesen und beschrieben werden kann Wird z B zur Speicherung von Variablen und des Stacks verwendet

Perip

here

Mod

ule

32 programmierbare Ein- und Ausgaumlnge

Der Mikrocontroller ist 40-polig Davon koumlnnen 32 Pole entweder als Ein- oder Aus-gang programmiert werden

Zwei 8-bit- und ein 16-bit-Timer mit Vorteilern und Ver-gleichs-Modus

Die vom Quarzoszillator gesteuerten Timer erlauben z B praumlzise Zeitmessungen oder Interrupts bei bestimmten Zaumlhlerstaumlnden Die maximalen Zaumlhlerstaumlnde sind bei 8 bit 255 und bei 16 bit 1023 Vorteiler erlauben eine Verringerung der Zaumlhlrate

Programmierbare USART USART steht fuumlr Universal SynchronousAsynchronous Receiver Transmitter Seriel-

le Schnittstelle die zur Datenuumlbertragung zwischen Mikrocontroller und Computer benutzt wird

I2C Interface

I2C ist ein synchroner serieller Zweidraht-Bus mit einer Daten- und einer Taktleitung zur Kommunikation zwischen ICs Nach dem Master-Slave-Prinzip kann ein Master bis zu 128 Slaves ansprechen Die Uumlbertragungsrate liegt im Standard-Mode bei 100 kbits

Externe und interne Interrupts

Interrupts unterbrechen das Hauptprogramm des Mikrocontrollers um kurzfristige und zeitkritische Verarbeitungen durchzufuumlhren Externe Interrupts werden durch am Mikrocontroller angeschlossene Hardware gesteuert interne Interrupts durch die Programmierung des Mikrocontrollers

4 PWM-Ausgaumlnge PWM steht fuumlr Pulse Width Modulation (Pulsweitenmodulation) Timer stellen an 4

Ausgaumlngen Rechteckimpulse der Dauer t und Unterbrechungsdauer T-t mit variab-lem Tastverhaumlltnis tT zur Verfuumlgung

8 10-bit ADC

ADC steht fuumlr Analog to Digital Converter (AD-Wandler) Integrierte Schaltung die analoge Eingangsspannung Ue in digitale Ausgangsspannung (Zahl) umwandelt

10-bit Aufloumlsungsvermoumlgen des AD-Wandlers Kleinster aufloumlsbarer Spannungsun-terschied ist (Uemax - Uemin)210

Tab 3 Features des Mikrocontrollers ATmega16

15

212 Basisschaltung und Erweiterungsschaltungen Abb 5 zeigt am Beispiel des RCLs Elektronenbeugung die Platine des Interface mit den Funktionsgruppen 1 - 5 der Basisschaltung und den Funktionsgruppen 6 und 7 der Erweite-rungsschaltungen (larr 11 Abb 4)

Abb 5 Platine des Interface des RCLs Elektronenbeugung

Abb 6 zeigt den dazugehoumlrigen Schaltplan mit den Nummern der Funktionsgruppen und die Pinbelegung des Mikrocontrollers ATmega16

Abb 6 Schaltplan des Interface des RCLs Elektronenbeugung (links) und Pinbelegung

des Mikrocontrollers ATmega16 (rechts)

16

Basisschaltung Die Spannungsversorgung (1) des Interface erfolgt uumlber ein Universal-Steckernetzteil mit der Betriebsspannung Ub = 12 V Eine Diode SB140 schuumltzt die Elektronik des Interface vor falscher Polung der Spannungsversorgung Der Spannungsregler L7805 wandelt die Betriebsspannung am Hohlstecker in eine Gleichspannung von 5 V fuumlr die Spannungs-versorgung der elektronischen Bauelemente des Interface um Die Betriebsspannung kann im Interface auch direkt zur Ansteuerung von Relais oder zur Spannungsversorgung kleinerer Motoren verwendet werden Bei Bedarf kann unter Beachtung der Kuumlhlung des L7805 das Interface mit houmlheren Betriebsspannungen z B fuumlr staumlrkere Schrittmotoren betrieben werden Die nicht hinreichend stabile und temperaturabhaumlngige Frequenz des internen RC-Oszillators im Mikrocontroller (2) kann bei Verwendung der USART zu Problemen fuumlhren Daher wird ein externer 110592 MHz Schwingquarz (3) eingesetzt Der IC MAX232 ist ein Pegelwandler der die 0V+5 V-Signale der seriellen Schnittstelle (4) des Mikrocontrol-lers an die plusmn12 V-Signale der seriellen Schnittstelle des Computers anpasst Uumlber den ISP-Stecker kann der Mikrocontroller programmiert werden (5) Das Interface in der Ba-sisschaltung kann im Selbstbau angefertigt werden (rarr 41)

Erweiterungsschaltungen Nur die wenigsten Aktoren Sensoren gesteuerte Geraumlte und Bauelemente eines RCLs lassen sich direkt vom Mikrocontroller ansteuern Beim RCL Elektronenbeugung wird die Heizspannung der Elektronenkanone mit einem Relais zum Schalten der Netzspannung des Hochspannungsnetzgeraumltes ein- und ausgeschaltet (6) Liefert der Mikrocontroller am Port PA0 die Spannung 5 V (high) so wird die Kollektor-Emitter-Strecke des Transistors BC 337 niederohmig fast die gesamte Betriebsspannung Ub = 12 V faumlllt uumlber dem Relais ab und es flieszligt ein Strom durch das Relais Die Diode 1N4001 schuumltzt den Transistor vor Induktionsspannungsspitzen beim Ein- und Ausschalten der Spule im Relais Am Steuereingang des Hochspannungsnetzgeraumlts kann durch Anlegen einer Steuer-spannung US zwischen 0 V und 5 V die Beschleunigungsspannung der Elektronenkanone zwischen 0 und 43 kV im belasteten Zustand bei eingeschalteter Gluumlhkathode variiert werden Die analoge Steuerspannung US erzeugt ein 8-bit Digital-Analog-Wandler PCF8591 der uumlber den I2C-Bus des Mikrocontrollers (Ports PC0 und PC1) mit Binaumlr-codes zwischen 0 und 255 angesteuert wird (7) Die Ausgangsspannung des DA-Wandlers liegt in 256 Stufen zwischen 370 mV und 497 V Dieser Schaltung wurde der Vorzug gegenuumlber der Erzeugung einer Steuerspannung mit Hilfe eines der Pulsweiten-modulationsausgaumlnge des Mikrocontrollers gegeben weil der Programmieraufwand ge-ringer und die Steuerspannung keine Restwelligkeit aufweist

Eine Uumlbersicht zu Erweiterungsschaltungen fuumlr Sensoren und Aktoren (rarr 421) zeigt die Anpassungsfaumlhigkeit des Interface an die unterschiedlichsten Experimente

17

213 Programmierung des Mikrocontrollers Im Folgenden wird die Programmstruktur des Mikrocontroller-Programms und die Uumlbertra-gung des Programmcodes in den Mikrocontroller beschrieben

Programmstruktur Der Mikrocontroller ist mit einem Programm (Firmware) ausgestattet um die Aufgaben des Interfaces abzuarbeiten Hierzu zaumlhlen im Wesentlichen Programmteile zur Kommu-nikation mit dem RCL-Server und zur Steuerung des Experiments da das Interface eine Schnittstelle zwischen Experiment und RCL-Server darstellt Weitere Programmteile sind beispielsweise zur Initialisierung des Versuchsaufbaus und der Steuerparameter sowie zur Konfiguration des Interfaces realisiert Abb 7 zeigt ein Flussdiagramm der Programm-teile zur Kommunikation mit dem RCL-Server und zur Steuerung des Experiments

Abb 7 Flussdiagramm der Programmierung des Mikrocontrollers

Der Programmteil zur Kommunikation mit dem RCL-Server besteht im Wesentlichen aus einer Schleife die unablaumlssig auf Steuerzeichen des RCL-Servers wartet diese gegebe-nenfalls empfaumlngt und auswertet Soll mittels eines empfangenen Steuerzeichens der Versuchsaufbau angesteuert werden wird vom Kommunikations-Programmteil eine ent-sprechende Anweisung fuumlr den Steuerungs-Programmteil generiert In der Schleife wer-den auch Antworten wie z B Messergebnisse des Steuerungs-Programmteils entgegen-genommen und an den RCL-Server ausgegeben Der Kommunikations-Programmteil kann Kommandos mit und ohne Parameter entgegen-nehmen und verarbeiten So lassen sich einfache Befehle wie Start und Stopp eines Mo-tors aber auch speziellere Anweisungen wie Messe uumlber den Bereich von a nach b mit einer Schrittweite c ausfuumlhren Auch Messergebnisse oder Statusinformationen in Form einzelner Daten wie Zahlen oder Listen koumlnnen vom Kommunikations-Programmteil an den RCL-Server uumlbertragen werden Ferner uumlbernimmt der Kommunikations-Programmteil auch den Austausch von Konfigurationsdaten fuumlr das Interface beispiels-

18

weise Motorparameter oder Zeitvorgaben fuumlr eine Standby-Funktion Schlieszliglich gibt der Kommunikations-Programmteil auch Fehlermeldungen an den RCL-Server aus etwa bei einem Fehlerzustand im Experiment oder bei fehlerhaften Anweisungen des Besuchers bzw des RCL-Servers Im Programmteil zur Steuerung des Experiments erfolgt die Ansteuerung von Aktoren und das Auslesen von Sensoren mittels elektronischer Aus- und Eingaumlnge (Ports) des Mikro-controllers Gegebenenfalls sind zwischen den Ports des Mikrocontrollers und dem Expe-riment Erweiterungsschaltungen erforderlich (larr 212 Erweiterungsschaltungen) Der Steuerungs-Programmteil ist als Interrupt-Routine implementiert Interne Zeitgeber des Mikrocontrollers rufen den Programmteil zyklisch z B alle 1 oder 10 Millisekunden auf wobei die zuvor beschriebene Schleife des Kommunikations-Programmteils kurzzeitig fuumlr die Abarbeitung des Steuerungs-Programmteils unterbrochen wird Hierdurch wird die Steuerung als Real-Time-Prozess12 ausgefuumlhrt und es koumlnnen insbesondere zeitkritische Steueraufgaben mit einer Aufloumlsung von ungefaumlhr 1 - 10 ms zuverlaumlssig erledigt werden Ferner ist im Mikrocontroller und dem Programm ein sogenannter Watchdog installiert der das Programm bei einem Programmabsturz automatisch neu startet Der Watchdog als elektronische Baugruppe im Mikrocontroller fuumlhrt einen Neustart des Mikrocontrollers (Reset) durch sofern er nicht mehr uumlber das Programm in vorgegebenen Zeitintervallen angesteuert wird Je nach RCL gibt es noch weitere Interrupt-Routinen die unabhaumlngig vom Zeittakt des Mikrocontrollers auf externe Ereignisse wie z B Ausgangsspannungsaumlnderungen eines Sensors reagieren Damit kann besonders schnell auf Erfordernisse des Experiments re-agiert oder es koumlnnen Zeitmessungen mit einer Genauigkeit von ungefaumlhr 10-6 s durchge-fuumlhrt werden Im Anhang (rarr 431) ist der Pascal-Quellcode fuumlr den Mikrocontroller des RCLs Elektronenbeugung verfuumlgbar

Programmuumlbertragung Nach der Kompilierung des Assembler- Basic- C+- C++- oder Pascal-Programms liegt eine Hexadezimaldatei vor die vom Computer in den Mikrocontroller uumlbertragen werden muss (Flashen des Programms) Zur Programmuumlbertragung muss das AVR-Studio instal-liert und konfiguriert sein (rarr 441) Abb 8 zeigt wie die Programmuumlbertragung durchge-fuumlhrt wird

12 Real-Time bedeutet hier dass die maximale Dauer eines Vorgangs vorhersehbar und gewaumlhrleistet ist dass eine Steuer-

aufgabe nach einer vorhersehbaren Zeit abgeschlossen ist

19

Abb 8 Programmuumlbertragung zwischen Computer und Mikrocontroller im Inter-

face des RCLs Elektronenbeugung uumlber USB-Seriell-Adapter und ISP-Programmer

Das Interface braucht nicht mit dem Experiment verbunden zu sein Auch Erweiterungs-schaltungen innerhalb oder auszligerhalb des Interface muumlssen nicht mit dem Mikrocontroller verbunden sein Das Interface ermoumlglicht uumlber die ISP-Schnittstelle die Programmierung mit einem preisguumlnstigen ISP-Programmer ohne ein teureres Experimentierboard13 Zur Uumlbertragung des Programms muss in folgenden Schritten vorgegangen werden

(1) Spannungsversorgung des Interface zur Sicherheit unterbrechen weil beim Verbinden mehrpoliger Steckerverbindungen es zu Kurzschluumlssen kommen kann

(2) 10-poligen ISP-Stecker des ISP-Programmers an die ISP-Schnittstelle des Interface anschlieszligen

(3) ISP-Programmer an die serielle Schnittstelle oder uumlber USB-Seriell-Adapter an die USB-Schnittstelle des Computers anschlieszligen

(4) Spannungsversorgung des Interface wieder herstellen

(5) AVR-Studio unter StartProgramme aufrufen und nach Abb 9 in der Registerkarte Program unter Flash die zu uumlbertragende Hexadezimal-Datei z B Elektronenbeu-gunghex auf der Festplatte auswaumlhlen und Program waumlhlen

13 Vgl ATMEL STK 500 Entwicklerkit bei Reichelt Elektronik

20

Abb 9 Uumlbertragung der Hexadezimaldatei Elekt-

ronenbeugunghex in den Mikrocontroller

(6) Spannungsversorgung des Interface unterbrechen ISP-Programmer vom Interface trennen AVR-Studio beenden und den ISP-Programmer vom Computer trennen

22 Hyperterminal Nach der Programmuumlbertragung kann das Experiment uumlber das konfigurierte Hyperterminal (rarr 454) lokal gesteuert werden Mit dem Hyperterminal koumlnnen als Text eingegebene Be-fehle oder Abfragen an den Mikrocontroller gesendet oder von diesem empfangen werden Der Computer muss wie bei der Programmuumlbertragung mit dem Interface per Null-Modem-Kabel uumlber die serielle Schnittstelle oder einen USB-Seriell-Adapter verbunden sein Das In-terface muss an die Versorgungsspannung anschlossen sein braucht aber nicht mit dem Experiment verbunden zu sein Abb 10 zeigt nach Eingabe von und von param im Hyper-terminal die Befehlsliste des Mikrocontrollers fuumlr das RCL Elektronenbeugung

21

Abb 10 Befehlsliste des Mikrocontrollers im Hyperterminal fuumlr das RCL Elektronenbeugung

Tab 4 gibt Erlaumluterungen zur Befehlsliste

BefehlAbfrage Erlaumluterung

DA x Am Eingang des DA-Wandlers wird die Zahl x (0 - 255) im Binaumlrcode

angelegt und die Ausgangsspannung des Hochspannungsnetzgeraumlts bzw die Beschleunigungsspannung der Elektronenkanone eingestellt

OnOff Hochspannungsnetzgeraumlt und Gluumlhkathode der Elektronenkanone ein-

oder ausschalten Beim Einschalten wird die Steuerspannung des Inter-face am Hochspannungsnetzgeraumlt auf asymp 0 V einstellt

Standby Ausgabe der eingestellten Standbyzeit von 300 s setSB x Standbyzeit einstellen

next Standby in Ausgabe der verbleibenden Standbyzeit (254 s) bis das Experiment

ausgeschaltet wird Eine negative Standbyzeit gibt die Zeit seit dem Ab-lauf der Standbyzeit an

Power On Delay Ausgabe der Verzoumlgerungszeit (2 s) bis das Hochspannungsnetzge-

raumltElektronenbeugungsroumlhre nach dem Ausschalten oder nach Ablauf der Standbyzeit erneut eingeschaltet werden kann

setPOD x Verzoumlgerungszeit einstellen

power on enabled in Ausgabe wie lange Hochspannungsnetzgeraumlt nicht eingeschaltet wer-

den kann Zeiten unter 0 bedeuten dass Power-On-Delay-Zeit ablaufen ist

Tab 4 Erlaumluterung der Befehle in Abb 10

23 Positionieren von Objekten In fast allen RCLs des RCL-Portals auszliger den RCLs Elektronenbeugung und Oszilloskop muumlssen Objekte rotatorisch oder translatorisch positioniert werden Eingesetzt werden Hyb-rid-Schrittmotoren als Aktoren eine Schrittmotorsteuerung von Trinamic als Erweiterungs-schaltung (TMC222-Modul) die Positionierungseinheit ausgedienter Flachbrett-Scanner und ein Referenz-Taster als Sensor

231 Hybrid-Schrittmotoren Abb 11 zeigt den vereinfachten schematischen Aufbau eines zweiphasigen Schrittmotors mit getrennten magnetischen Kreisen des Stators und einem permanent magnetisierten zweipoligen Rotor (Polpaarzahl 1)

22

Abb 11 Funktionsprinzip von Schrittmotoren Unipolare (links) und bipolare Schaltung (rechts)

von Schrittmotoren mit Bestromungstabellen fuumlr Voll- und Halbschrittbetrieb Darge-stellt ist der Schritt 0

Der Rotor verfuumlgt bei der dargestellten Polreihenfolge S-S-N-N des Stators uumlber eine stabile Stellung bei einer hypothetischen (magnetische Monopole) Polreihenfolge N-S-N-S gaumlbe es mit diesem Aufbau des Stators nur instabile Stellungen des Rotors Um den Rotor in Bewe-gung zu setzen muss die Polreihenfolge S-S-N-N im oder entgegen den Uhrzeigersinn (Rechts- oder Linksdrehung) weitergeschaltet und der Rotor vom magnetischen Schrittfeld mitgenommen werden

Die magnetische Polaritaumlt eines magnetischen Kreises laumlsst sich entweder durch zwei Spu-len konstanter elektrischer Polaritaumlt mit unterschiedlichem Wicklungssinn (herstellungstech-nisch zu aufwendig) durch eine Spule mit Mittelanzapfung und konstanter elektrischer Pola-ritaumlt der beiden Teilspulen (unipolare Schaltung) oder durch eine Spule mit wechselnder elektrischer Polaritaumlt (bipolare Schaltung) realisieren In Abb 11 sind dazu die elektrischen Beschaltungen und die Bestromungstabellen fuumlr eine Rechtsdrehung des Rotors dargestellt Fuumlr eine Linksdrehung des Rotors muss die Schrittfolge in umgekehrter Reihenfolge durch-laufen werden

Es wird zwischen Vollschrittbetrieb (graue Zeilen der Tabellen) mit Schrittwinkel 90deg bzw Schrittzahl 4 und Halbschrittbetrieb (alle Zeilen der Tabellen) mit Schrittwinkel 45deg bzw Schrittzahl 8 unterschieden Beim Vollschrittbetrieb werden immer beide magnetische Kreise bestromt und die N-S-Polachse des Rotors nimmt nur Stellungen zwischen den Statorpolen

23

an Beim Halbschrittbetrieb wird zwischen den Vollschritten nur einer der magnetischen Krei-se bestromt und die N-S-Polachse des Rotors kann zusaumltzlich 4 Stellungen in Richtung der Statorpole einnehmen Der Hybrid-Schrittmotor ist die am haumlufigsten vertretene Bauform von Schrittmotoren Abb 12 zeigt den Aufbau eines Hybrid-Schrittmotors

Abb 12 Aufbau eines Hybrid-Schrittmotors fuumlr unipolare und

bipolare Schaltung Daten Schrittwinkel 18deg max Drehmoment 155 Ncm

Der Stator besteht aus zwei Straumlngen mit je 4 in Reihe geschalteten Spulen Der Wick-lungssinn der Spulen ist in beiden Straumlngen so dass sich die Polfolge N-S-N-S uumlber den Umfang ergibt Beide Straumlnge zusammen ergeben unabhaumlngig von der Stromrichtung ei-ne Polfolge N-N-S-S-N-N-S-S uumlber den Umfang Ein zweipoliger Rotor (Polpaarzahl 1) kann im Vollschrittbetrieb 4 Stellungen annehmen Der Rotor des Hybridschrittmotors be-steht aber aus axial magnetisierten Permanentmagneten deren Polpaarzahl durch axial versetzte weichmagnetische Zahnscheiben auf 50 erhoumlht wurde Dadurch erhoumlht sich die Schrittzahl auf 4 sdot 50 = 200 und der Schrittwinkel verkleinert sich auf 360deg200 = 18deg Um stabile Rotorstellungen zu erhalten muumlssen die Statorsegmente ebenfalls gezahnt ausge-fuumlhrt werden

Ein solcher Hybrid-Schrittmotor vereint die Vorteile des Reluktanz- und des permanenter-regten Schrittmotors Ein kleiner Schrittwinkel wird durch das von Reluktanzschrittmotoren bekannte Prinzip der Erzeugung einer Vielzahl von Polen des Rotors durch Zahnscheiben erzielt Ein hohes Drehmoment wird durch das von permanenterregten Schrittmotoren be-kannte Prinzip der Ausfuumlhrung des Rotors als Permanentmagnet erzielt Aufgrund der bi-filaren Wicklung besteht jede Statorwicklung aus zwei Teilspulen und der Schrittmotor kann in unipolarer (alle 6 Anschluumlsse verwendet) und bipolarer Schaltung (nur 4 An-schluumlsse verwendet gemeinsamer Anschluss der Teilspulen bleibt unverwendet) wie in Abb 12 dargestellt verwendet werden

24

Schrittmotoren erlauben nicht nur das Bewegen sondern innerhalb der Leistungsgrenzen (keine Schrittverluste) auch ein genaues Positionieren von Objekten Bei bekannter Schrittzahl auf einer gemessenen Strecke oder Schrittzahl fuumlr den Vollwinkel koumlnnen aus-gehend von einer Referenzstellung Objekte translatorisch oder rotatorisch positioniert werden

232 Schrittmotorsteuerung und Positionierungsmechanik Im Folgenden wird die bei allen RCLs mit Schrittmotoren eingesetzte Schrittmotorsteuerung die Mechanik zur translatorischen Positionierung von Objekten und die Funktionsweise eines Referenztasters beschrieben

Schrittmotorsteuerung Abb 13 zeigt das Blockschaltbild und das im Selbstbau herstellbare TMC222-Modul (rarr 4221 rarr 4222) mit dem IC TMC222 von Trinamic zur Steuerung bipolarer 2-phasiger Hybrid-Schrittmotoren

Abb 13 Blockschaltbild (links) und Platine des TMC222-Moduls (rechts) mit IC TMC 222 auf

der Loumltseite der Platine

Der IC TMC222 enthaumllt ein I2C-Interface zum Anschluss an den I2C-Bus des Mikrocon-trollers (Ports PC0 und PC1) Die 10 kΩ-Pull-up-Widerstaumlnde heben die Takt- (SCL clock) und Datenleitung (SDA data) auf ein Potential von 5 V Der IC TMC222 enthaumllt ei-nen Motortreiber fuumlr Spulenstroumlme bis zu 800 mA und einen Motor-Controller zur Steue-rung der Spulenstroumlme Ein Vorteil des TMC-Moduls ist der relativ geringe Programmier-aufwand fuumlr den Mikrocontroller (rarr 4223) da der IC TMC222 nach Uumlbergabe der Steu-erungsparameter (Drehrichtung Drehzahl hellip) vom Mikrocontroller die Ansteuerung des Schrittmotors uumlbernimmt Der IC TMC222 unterstuumltzt das Beschleunigen und Abbremsen des Schrittmotors enthaumllt einen Schrittpositionszaumlhler und unterstuumltzt Mikrostepping (va-riable Spulenstroumlme zur elektronischen Verkleinerung des Schrittwinkels und groumlszligerer Laufruhe)

25

Falls in RCLs Gleichstrommotoren mit houmlheren Drehzahlen als Schrittmotoren benoumltigt werden kann eine andere Erweiterungsschaltung (rarr 424) eingesetzt werden

Positionierungsmechanik und Referenz-Taster Die Mechanik zur rotatorischen Positionierung von Objekten kann meist kostenguumlnstig selbst oder durch Personal in einer Werkstatt angefertigt werden Abb 14 zeigt eine kos-tenguumlnstige Loumlsung zur translatorischen Positionierung von Objekten

Abb 14 Positionierungseinheit eines Flachbrett-

Scanners Schrittmotor (1) Getriebe (2) Li-nearfuumlhrung (3) Antriebsriemen (4) und er-gaumlnzter Referenz-Taster (5)

Falls der geometrische Aufbau und die geforderte Positionierungsgenauigkeit des RCLs es zulassen kann die Schrittmotor-Positionierungs-Einheit ausgedienter Flachbrett-Scanner zur translatorischen Positionierung von Objekten verwendet werden In Einzelfaumll-len wie dem RCL Weltpendel kann die Positionierungsmechanik auch selbst angefertigt werden Der Referenz-Taster in Abb 14 wird eingesetzt um abzufragen ob ein vom Schrittmotor bewegtes Objekt die Position des Tasters erreicht hat und um diese Position zu referenzieren Ohne eine solche Referenzierung kann die Positionierung eines Objekts langfristig ungenau werden So kann z B beim RCL Weltpendel das Auftreffen der Kugel auf den Magneten zum Uumlberspringen von Schrittmotorstellungen fuumlhren Der Zustand des Referenz-Tasters in Abb 15 wird z B uumlber den Port PA0 des Mikrocontrollers abgefragt

Abb 15 Referenz-Taster zum referenzieren der

Position des bewegten Objekts

26

Zu Problemen koumlnnen undefinierte Zustaumlnde der Eingaumlnge des Mikrocontrollers fuumlhren wie sie beim Prellen dem zeitlich begrenzten schwingen eines Tasters beim Oumlffnen oder Schlieszligen entstehen Abhilfe schafft ein passend dimensionierter parallel zum Taster ge-schalteter Kondensator Bei geoumlffnetem Taster ist der Kondensator aufgeladen Beim Schlieszligen haumllt der Kondensator die Spannung uumlber die Schwingphase trotz kurzzeitig wieder geoumlffnetem Schalter noch aufrecht Analoges gilt fuumlr den Uumlbergang vom geschlos-senen zum geoumlffneten Taster

3 Ferngesteuertes RCL 31 RCL-Server Fuumlr den Betrieb eines RCLs wird ein RCL-Server benoumltigt (larr 11) Vorausgesetzt wird dass bei einem neuen Computer alle notwendigen Treiber (Ethernet Video Audio hellip) zum Be-trieb der Hardware des Computers und Windows XP Professional mit Service Pack 3 instal-liert sind Ein Benutzerkonto braucht nicht angelegt zu werden

Der RCL-Server benoumltigt einen Internetzugang mit statischer IP-Adresse und Uploaddatenra-te von mindestens 200 kbits (DSL 2000) fuumlr die fluumlssige Wiedergabe von Bewegungen in Webcambildern Die statische IP-Adresse wird von der Institution am Standort des RCLs vergeben oder kann von Privatpersonen bei einem Provider beantragt werden Mit folgenden Schritten wird der RCL-Server eingerichtet

Internetzugang einrichten (rarr 451) und im Browser testen

Checken ob die Windows Firewall aktiviert ist

Virenschutzproramm Avira Antivir Personal herunterladen (larr Tab 1) installieren und ak-tualisieren

Uumlber Windows Update alle Updates von Windows XP Professional installieren

Fernwartungssoftware TeamViewer 6 Vollversion (larr Tab 1) herunterladen und auf dem RCL-Server und dem eigenen Computer installieren (rarr 455)

Webeditor Notepad++ herunterladen installieren und aktualisieren (larr Tab 1)

Videoserver WebcamXP 5 herunterladen und installieren (rarr 453)

Paket XAMPP herunterladen und installieren (rarr 452) Verknuumlpfungen mit den Dateien xampphtdocsapache_startbat und xampphtdocsapache_stopbat auf dem Desktop oder in der Schnellstartleiste erstellen und Webserver mit erstgenannter Verknuumlpfung starten Webserver durch Eingabe von 127001 oder localhost ins Adressfeld des Brow-sers testen Bei erfolgreichem Test werden die im Ordner xampphtdocs abgelegten Webseiten von XAMPP dargestellt Statische IP-Adresse des RCL-Servers im Browser eines anderen Computers mit Internetzugang eingegeben Bei erfolgreichem Test werden die Webseiten von XAMPP dargestellt In der Datei xamppphpphpini unter Resource Limits die max_execution_time mit dem Windows-Editor von 60 auf 300 erhoumlhen und die

27

Datei speichern damit PHP bei Befehlen mit laumlngerer Ausfuumlhrungsdauer keine Fehler-meldung liefert

Ordner xampphtdocs mit den Webseiten von XAMPP in xampphtdocs_xampp um-benennen und fuumlr spaumltere Testzwecke nicht loumlschen RCL-Ordner htdocs herunterladen (larr Tab 1) extrahieren und in das Verzeichnis xampp verschieben

Abb 16 zeigt die Struktur des RCL-Ordners htdocs

Abb 16 Struktur des RCL-Ordners htdocs RCL-spezifisch anzupassende Dateien sind grau

hinterlegt

Der geoumlffnete Ordner Labor enthaumllt alle PHP- und HTML-Dateien bzw Programmierungen fuumlr die Funktionalitaumlt des Bedienfelds der Laborseite (larr 11 Abb 3) An das RCL anzupas-sen sind die portalsprachenunabhaumlngigen Dateien configphp und experimentphp sowie fuumlr jede Portalsprache die Dateien defaultconf und experimenttpl in den Ordnern eng fra ger und ita

Datei configphp Zeit bis zum automatischen Logout beim Experimentieren mit dem RCL eintragen

Datei experimentphp PHP-Basisprogrammierung um die RCL-spezifische PHP-Programmierung erweitern (rarr 432)

Datei defaultconf Name des RCLs (z B Elektronenbeugung) in jeder Portalsprache ein-getragen

Datei experimenttpl HTML-Basisprogrammierung um RCL-spezifische Ein- und Ausga-befelder erweitern (rarr 433)

28

32 Laborseite 321 Steuerung des RCLs uumlber das Bedienfeld Das Bedienfeld der Laborseite (larr 11 Abb 3) wird von der Dateien indexphp und experi-menttpl erzeugt Befehle wie das Anklicken von Buttons Eingaben und Auswahl aus Listen werden in ein HTML-Formular mit Formularfeldern in der Datei experimenttpl geschrieben Die Daten werden von der PHP-Datei experimentphp ausgewertet und uumlber die serielle Schnittstelle dem Mikrocontroller-Programm zur Steuerung des Experiments uumlbergeben Die Dateien experimentphp und experimenttpl wurden getrennt angelegt um Code und Design zu trennen und nur das Design in der Datei experimenttpl an die Portalsprache anpasst werden muss

Tab 5 enthaumllt Ausschnitte der HTML-Datei experimenttpl (rarr 433) der Datei experi-mentphp (rarr 432) und des Mikrocontroller-Programms (rarr 431) fuumlr das RCL Elektronen-beugung

29

Code mit Erlaumluterung

expe

rimen

ttpl

1821 Tag ltformgtltformgt definiert ein Formular 18 Attribut action legt fest dass Formulardaten in der Datei indexphp verarbeitet werden Uumlbertragen

werden eine Session-ID ($sid) um exklusiven Zugriff des jeweilgen Besuchers zu sichern und ($portal) um die vom Besucher gewaumlhlte Sprache beizubehalten post ist eine Uumlbertragungsmethode zwischen Browser und Webserver und gibt die die vom Besucher gewaumlhlte Aktion zum Ansteuern des Experiments an die Datei experimenttpl weiter

20 Erzeugt im Bedienfeld den Sendebutton (submit) mit der Aufschrift Elektronenroumlhre einschalten (valu-e)

19 Unsichtbares Feld (hidden) mit Variablennamen action und Wert RoumlhreAn Der Variablenname ac-tion stimmt nur zufaumlllig mit action in Zeile 18 uumlberein

expe

rimen

tphp

24 Die Funktion wird als Eventhaumlndler bezeichnet weil je nach uumlbergebener Aktion - siehe Zeile 19 in experi-

menttpl - die entsprechenden Anweisungen (case) ausgefuumlhrt werden 37 Fuumlr den Fall dass die Variable $action den Wert RoumlhreAn hat wird die Funktion power_on() aufgeru-

fen

59 Schreibt in die Logdatei logtxt den Text RoumlhreAn 6061 Oumlffnet den in der Datei configphp zentral gespeicherten Com-Port an den das Interface angeschlossen ist

oder gibt Fehlermeldung Can not access file system im Bedienfeld aus falls der Com-Port sich nicht oumlff-nen laumlsst

62 Sendet die Zeichenfolge On und chr(13) (entspricht der Betaumltigung der Return-Taste im Hyperterminal) an den Mikrocontroller

63 Schlieszligt serielle Schnittstelle

Que

llcod

e M

ikro

cont

rolle

r

166 Wird uumlber die serielle Schnittstelle der Befehl on empfangen und ist das Einschalten zulaumlssig (Zeiten fuumlr

PowerOnDelay und Standby abgelaufen) dann hellip 167 Hochspannungsnetzgeraumlt einschalten 168 Der DA-Wandler PCF8591 wird unter seiner Adresse PCF8591 = 01001000 angesprochen Parameterein-

stellungen mit 01000000 und Ausgangsspannung auf 0 V einstellen 169 Setzt Standby auf vorgegebene Standbyzeit zuruumlck 171 Gibt Meldung aus wie lange PowerOnDelay noch dauert

Tab 5 Uumlbertragung des Befehls Elektronenroumlhre einschalten vom Bedienfeld zum Experi-ment

30

Anhand der Erlaumluterungen der Programmcodes koumlnnen die Ablaumlufe zwischen dem Druumlcken des Buttons Elektronenroumlhre einschalten und dem Einschalten der Elektronenbeugungs-roumlhre oder der Eingabe einer Beschleunigungsspannung und dem Anlegen einer Beschleu-nigungsspannung verfolgt werden Uumlber das Bedienfeld koumlnnen nur die von der Datei expe-rimenttpl bereitgestellten Befehle on und da der insgesamt implementierten Befehle (rarr 22 Abb 10) aufgerufen werden

322 Videouumlbertragung im Webcamfeld Zur Aufnahme von Livebildern des Experiments koumlnnen USB-Webcams und IP-Kameras (Netzwerkkameras) eingesetzt werden Teurere IP-Kameras muumlssen eingesetzt werden wenn die Kamera wie z B beim RCL Roboter im Labyrinth zu weit vom Computer entfernt ist oder eine besonders lichtempfindliche Kamera aus der Uumlberwachungstechnik wie z B beim RCL Millikan-Versuch benoumltigt wird W-LAN-Kameras kommen zum Einsatz wenn Bil-der von einem beweglichen Objekt aus wie z B beim RCL Roboter im Labyrinth uumlbertra-gen werden sollen

Das Videoserverprogramm webcamXP 5 erkennt beim Aufrufen automatisch an den RCL-Server angeschlossenen USB-Webcams Vor dem Kauf einer IP-Kamera ist zu pruumlfen ob das Modell unterstuumltzt wird14 IP-Kameras muumlssen im Kontextmenuuml der Videoquelle konfigu-riert werden Abb 17 zeigt das Webcambild einer USB-Webcam vom Szintillationsschirm der Elektronenbeugungsroumlhre

Abb 17 Webcambild des Szintillationsschirms der Elektro-

nenbeugungsroumlhre einer USB-Webcam in webcamXP 5 beim RCL Elektronenbeugung

14 Vgl Moonware Studios webcamXP IP-cameras for webcamXP

31

Zum Einbinden des Webcambilds in die Laborseite des RCLs wird die laborsprachenabhaumln-gige Datei videohtm (rarr 434) in den Ordnern eng fra ger und ita verwendet Standardmauml-szligig werden zwei Webcambilder und Screenshots unterstuumltzt der Code fuumlr weitere Webcam-bilder kann durch copy and paste hinzugefuumlgt werden

Unter den Technologien Java Javaskript Flash und Windows Media fuumlr die Wiedergabe ei-nes Livestreams auf eine Webseite wurde Javaskript gewaumlhlt weil die anderen Technologien die Installation des Java Runtime Environments (JRE) des Flash- oder Windows Media Players durch den Besucher eines RCLs voraussetzen Die Wiedergabe des Livestreams mit einem Java-Applet startet zudem erst verzoumlgert nachdem das Applet geladen ist und verfuumlgt uumlber eine zu geringe Wiedergabegeschwindigkeit

33 Standard-Lernumgebung Bestandteil der Entwicklung eines RCLs ist die Erstellung einer Standard-Lernumgebung zum RCL Abb 18 zeigt exemplarisch fuumlr die deutschen Webseiten im Ordner ger das Menuuml (larr 11 Abb 3) und die Dateistruktur der Standard-Lernumgebung

Abb 18 Deutschsprachiges Menuuml und Dateistruktur der Standard-Lernumgebung

RCL-spezifisch anzupassende Dateien sind grau hinterlegt

Die englischen Dateinamen introductionhtm setuphtm hellip im Ordner ger korrespondieren mit den deutschen Menuumlpunkten Wird das RCL unter dem Menuumlpunkt RCLs des RCL-Portals aufgerufen dann ruft die Frameset-Datei indexhtm die Dateien menuumlhtm und intro-ductionhtm auf und das Menuuml wird zusammen mit der Webseite Einstieg dargestellt Die Wahl weiterer Menuumlpunkte ruft jeweils die korrespondiere Datei im Ordner auf Bei Wahl des Menuumlpunkts Labor werden mit der Frameset-Datei laboratoryhtm die Dateien videohtm fuumlr das Webcamfeld und die Datei laborindexphp fuumlr das Bedienfeld aufgerufen

32

Im Ordner docsmaterial werden alle Dokumente fuumlr die Webseite Material im Ordner docsothers die Dokumente anderer Webseiten abgelegt Im Ordner docsoriginals sind die Originale von Dokumenten wie z B Word-Dateien und der verwendeten Bilder abgelegt Grafikdateien der Webseiten Einstieg hellip Auswertung hellip Betreuung werden in gleichnami-gen Ordnern wie z B imagesanalysis abgelegt Bei sprachenunabhaumlngigen Grafikdateien wird unter dem Dateinamen abbx bei sprachenabhaumlngigen unter dem Dateinamen abbx_lan mit lan = eng fra ger und ita gespeichert Analoges gilt fuumlr die als gif-Grafiken forxgif oder forx_langif zu speichernden Formeln Originale von Bildern werden im Ordner imagesoriginals abgelegt Die Webseite zur Datei htdocsindexhtm enthaumllt zum lokalen Aufrufen der Standard-Lernumgebung Links zu den vier Index-Dateien in den Ordnern eng fra ger und ita Die Stylesheet-Datei htdocsrcl_stylecss enthaumllt die Styles der Webseiten

In der Regel werden Standard-Lernumgebungen der RCLs des RCL-Portals von verschiede-nen Personen erstellt Fehlende Gestaltungs- und Formatierungsregeln fuumlhren zu einem un-einheitlichen inattraktivem Erscheinungsbild des RCL-Portals Tab 6 gibt einen Uumlberblick der wichtigsten Gestaltungs- und Formatierungsregeln

Element Richtlinien

Gliederung

Die Webseiten Einstieg Aufbau Aufgaben Diskussion Material und Support enthalten vorgegebene Gliederungspunkte teilweise mit ausgefuumlhrten Uumlberschriften

Die umfangreicheren Webseiten Theorie und Auswertung enthalten ein Inhaltsverzeichnis mit internen Links zu Gliederungspunkten Zwischen Punkten der ersten Gliederungsebene (1 2 hellip) ist ein zwei-zeiliger Abstand (ltpgtampnbspltpgtltpgtampnbspltpgt) zwischen Punkten der zweiten (11 12 hellip) und Punkten der nur falls unbedingt notwendig dritten 111 112 hellip) Gliederungsebene ein einzeiliger Abstand zu waumlhlen Nach Abbildungen und Tabellen folgt ein einzeiliger Abstand zum nachfolgenden Text

Links Keine internen Links zwischen den Webseiten der Lernumgebung Externe Links werden prinzipiell in einem neuen Browserfenster geoumlffnet (blank)

Abbildung

Alle Abbildungen erhalten fortlaufend beginnend mit 1 nummerierte Abbildungsunterschriften der Form Abb x hellip

Abbildungen sind moumlglichst spachenunabhaumlngig d h ohne Texte in der Abbildung zu erstellen Zur Beschriftung koumlnnen z B Zahlen verwendet werden die in der Abbildungsunterschrift oder im Text er-laumlutert werden

Tabellen Tabellen werden in jeder Webseite fortlaufend beginnend mit 1 nummeriert Tabellen sind zu zentrieren Rahmenstaumlrke 1

Formeln

Formeln sind nicht als Textzeichen oder Grafik im laufenden Text einzufuumlgen sondern stets zentriert in einer eigenen Zeile als gif-Grafik

Zum Erstellen der Formel-Grafiken eignet sich z B der Formel-Editor MathType15 mit der Aufloumlsungs-Einstellung 120 dpi fuumlr InternetGif

Formeln brauchen im Rahmen des begrenzten Umfangs der Webseiten nicht nummeriert zu werden Groumlszligen-symbole

Griechische Groumlszligensymbole und mathematische Symbole sind nicht als Grafiken im laufenden Text sondern als HTML-Code einzufuumlgen Eine Zeichenreferenz findet sich bei Selfhtml16

Styles Zur Formatierung der Webseiten werden aus der Stylesheet-Datei nur die drei Styles Uumlberschrift fuumlr

die Uumlberschriften Bildunterschrift fuumlr Abbildungs- und Tabellenunterschriften und Tabellentext fuumlr Tex-te in Tabellen benoumltigt

Tab 6 Richtlinien zur Gestaltung und Formatierung der Standard-Lernumgebung

Detailliertere Informationen zum Layout der Standard-Lernumgebung koumlnnen dem RCL-Ordner und dem Erscheinungsbild der Webseiten von RCLs in Browsern entnommen wer-den

15 Vgl Design Science MathType 16 Vgl Selfhtml HTML-Zeichreferenz

33

4 ANHANG

34

41 Interface in Basisschaltung 411 Schaltplan und Bauteilliste Abb 19 zeigt den Schaltplan der Basisschaltung des Interface und Tab 7 die dazugehoumlrige Bauteilliste

Abb 19 Basisschaltung des Interface

Nr Anzahl Kurzbeschreibung des Bauteils Best-Nr bei Reichelt electronic

Einzelpreis in euro

0 1 Epoxyd-Platine (190x112 mm) mit Anteil Loumltpunktraster (Spezi-

alanfertigung) - asymp 10

1 1

Epoxyd-Fotoplatine einseitig 160x100 mm 15 mm 35 microm Epoxyd-Lochrasterplatine 160x100 mm 15 mm 35 microm

BEL 160x100-1 UP 832EP

170 420

1 1 Hohlstecker-Einbaubuchse gewinkelt Loumltfahnen 21 mm HEBW 21 018 2 1 D-SUB-Stecker 9-polig gewinkelt RM 94 D-SUB ST 09EU 029 3 1 Schottky Diode DO41 40 V 1 A SB 140 008 4 1 Draht von abgeschnittenem Beinchen aus Pos-Nr 3 - - 5 1 IC-Sockel 16-polig superflach gedreht vergoldet GS 16P 029 6 1 IC-Sockel 40-polig superflach gedreht vergoldet GS 40P 061 7 1 2x10-pol-Stiftleiste gerade RM 254 SL 2X10G 254 007 8 1 Metallschichtwiderstand 100 kΩ Metall 100k 0082 9 1 Elektrolytkondensator 10x16 mm 470 microF RM 50 mm RAD 47025 006 10 1 Elektrolytkondensator 63x11 mm 100 microF RM 25 mm RAD 10016 004 11 5 Elektrolytkondensator 5x11 mm 10 microF RM 20 mm RAD 1035 004 12 2 Keramik-Kondensator 33 pF Kerko 33p 006 13 3 Vielschicht-Keramikkondensator 100 nF 20 Z5U-25 100n 004

35

14 1 Standardquarz Grundton 110592 MHz 110592-HC49U-S 018 15 1 Spannungsregler 1 A positiv TO-220 microA 7805 028 16 1 Kuumlhlkoumlrper fuumlr Gehaumluse TO-220 99KW V FI356 066 17 1 Zylinderkopfschraube Schlitz M3 10 mm fuumlr Kuumlhlkoumlrper M3x10mm 160 18 2 Sechskantmutter M3 fuumlr Kuumlhlkoumlrper SK M3 001 19 1 Stecker-Schaltnetzteil 12 V 2250 mA MW 3IP25GS 1150 20 1 RS232-Driver DIL-16 MAX 232 CPE 041 21 1 ATmega AVR-RISC-Controller DIL-40 ATmega16-16 DIP 420 22 3 10-poliger Wannenstecker RM 254 stehend (optional) WSL 10G 009 23 1 14-poliger Wannenstecker RM 254 stehend (optional) WSL 14G 014 24 1 40-polige Stiftleiste 1-reihig gerade RM254 (optional) SL 1x40G 254 023 25 1 Kunststoffgehaumluse 1982x1124x760 mm (Serientyp 202) - asymp 10 euro 26 1 D-SUB Nullmodem-Kabel 9-pol BUBU 3 m AK 143 155 27 x DIN-Einbaubuchse 5-pol Schraubver 360deg (optional) DIO-50W EMS 185 28 x DIN-Einbaubuchse 8-polig Schraubversch 270deg (optional) DIO-80SN EMS 180 29 x Pfostenstecker 10-polig mit Verrieglung gew (optional) PSL 10W 028 30 x Klemmleiste RM 254 Oumlffnungshebel 8-polig (optional) Wago 233 220

Tab 7 Bauteilliste mit Bestellnummer und Einzelpreisen der Bauelemente bei Reichelt electronic (Stand 23102010)

Anhand der Bauteilliste in koumlnnen die elektronischen Bauelemente der Basisschaltung (larr Tab 7 Nr 0 ndash 21 optional Nr 22 - 24) bei Reichelt electronic bestellt werden Das Gehaumluse des Interface (larr Tab 7 Nr 25) sollte vom Hersteller HAGOTECH GmbH bezogen werden Weiterhin wird ein Nullmodemkabel (larr Tab 7 Nr 26) zur Verbindung des Interface mit dem Computer benoumltigt Sensoren und Aktoren des Experiments koumlnnen mit optionalen Steck-verbindern (larr Tab 7 Nr 27 - 30) und entsprechende Kabelverbindungen an das Interface angeschlossen werden Die Nummern 0 - 25 stimmen mit der angegebenen Bestuumlckungs-reihenfolge auf der Platine uumlberein Das Interface kostet in der Basisschaltung ca 50 euro

412 Bestuumlckung der Platine Abb 20 zeigt zur Bestuumlckung der Platine benoumltigte Werkzeuge

Abb 20 Werkzeuge zur Bestuumlckung der Platine des Interface

36

Loumltkolben mit feiner Spitze in Meisselform 2 mm oder Loumltstation (1) Loumltzinnabsauger zum Entfernen von Loumltzinn (2) Nasser Schwamm zum Reinigen der Spitze des Loumltkolbens (3) Loumltzinn mit Durchmesser 08 - 10 mm (4) Flachspitzzange zum Biegen von Anschluumlssen der Bauelemente (5) Seitenschneider zum Kuumlrzen der Beinchen von Bauelementen (6) Multimeter zum Pruumlfen der Funktionsfaumlhigkeit der Schaltung (7) Sekundenkleber zur Befestigung von Bauelementen Kleine Bohrmaschine z B von Dremel und 08 mm Bohrer oder duumlnne Rundfeile zum

Weiten von Loumlchern auf der Platine des Interface

Abb 21 zeigt die Platine des Interface von der Loumltseite in der Spezialanfertigung der Elekt-ronik-Werkstatt an der Technischen Universitaumlt Kaiserslautern und in der Selbstbauvariante (larr Tab 7 Nr 0) Abb 22 zeigt das Platinenlayout

Abb 21 Platine des Interface von der Loumltseite als Spezialanfertigung (links) und der Selbstbauvariante

(rechts)

Abb 22 Layout zur Herstellung des geaumltzten Teils der

Platine in der Selbstbauvariante

37

In der Selbstbauvariante kann anhand des Platinenlayouts eine selbst geaumltzte Platine fuumlr die Basisschaltung auf einer Platine im Europakartenformat hergestellt und diese in der Laumlnge gekuumlrzt werden Eine gekuumlrzte Lochrasterplatine bildet den zweiten Teil der Platine Mit den optionalen vier Wannensteckern (larr Tab 7 Nr 22 - 23) oder den vier Stiftleisten (larr Tab 7 Nr 24) an den Ports des Mikrocontrollers koumlnnen leicht elektrische Verbindungen zum Rasterteil der Platine herstellt werden Abb 23 zeigt die fertig bestuumlckte Platine mit den Nummern aus Tab 7

Abb 23 Bestuumlckte Platine des Interface mit nummerierten Bauelementen

Tab 8 beschreibt das Einloumlten der elektronischen Bauelemente anhand der Nummern aus Tab 7 und in der angegebenen Reihenfolge

Nr Bauelement Beschreibung des Einbaus

0 Spezialanfertigung und Selbst-bauvariante der Epoxydharz-

Platine

1

Stromversorgungsbuchse ndash Hohlstecker 21 mm

Wenn die Loumltbeine nicht durch die Loumlcher der Platine passen die Loumlcher mit einer runden Schluumlsselfeile aufweiten

Stromversorgungsbuchse mit Sekundenkleber vor dem Festloumlten auf der Pla-tine fixieren da diese mechanischen Belastungen durch das Einstecken und Herausziehen des 12 V -Steckers ausgesetzt ist

Wahlweise kann die 25 mm-Version der Buchse verwendet werden

2

RS232 Datenstecker

RS232 Datenstecker mit Sekundenkleber vor dem Festloumlten auf der Platine fixieren da dieser mechanischen Belastungen durch das Einstecken und Herausziehen des Null-Modem-Kabels ausgesetzt ist

Alle Beinchen und Befestigungsstifte zur houmlheren Stabilitaumlt anloumlten

3

Ein Ring an einer Seite der Diode (hier links weiszlig) zeigt die Durchlass- bzw Sperrrichtung der Diode an Die Position des Ringes entspricht der Position des Balkens im Schaltungssymbol

38

Diode ndash SB140 Auf der Platine muss der Ring auf der von der Stromversorgungsbuchse ab-

gewandten Seite liegen

4 Drahtbruumlcke

Vor dem Einloumlten des 40-poligen IC-Sockels (Nr 5) muss eine Drahtbruumlcke unter diesem eingeloumltet werden Dazu koumlnnen die abgeschnittenen Beinchen der bereits eingeloumlteten Diode (Nr 3) verwendet werden

5 6

IC-Fassungen

Die 16-polige und 40-polige IC-Fassungen besitzen eventuell eine Markie-rung fuumlr Pin1 (z B Kerbe in der Stirnseite Punkt Pfeilhellip) als Hilfe fuumlr das richtige Einstecken der ICs Die Markierungen muumlssen bei beiden Fassungen nach oben also zum naumlchstliegenden Rand der Platine zeigen

Die ICs unbedingt noch nicht einstecken

7

ISP-Stiftleiste

Die doppelreihige ISP-Stiftleiste dient der Programmierung des Mikrocontrol-lers mit dem AVR-ISP-Programmer (ISP steht fuumlr In System Programming)

ISP-Stiftleiste auf 2 x 5 Stifte kuumlrzen und mit den kurzen Beinchen einloumlten so dass auf die langen Stifte der AVR-ISP-Programmer gesteckt werden kann

8

Widerstand 100 kΩ

Den 100 kΩ-Widerstand rechts neben der ISP-Stiftleiste einloumlten

9

10

11

Elkos

Bei den verwendeten Elektrolyt-Kondensatoren ist die Polung zu beachten (langes Beinchen = Plus-Pol) Weiterhin ist auf den Kondensatoren ein wei-szliger Streifen mit Minus-Zeichen aufgedruckt Die Kondensatoren sollten eine Spannungsfestigkeit von mindestens 16 V besser 25V besitzen

Auf der Kupferseite der Platine zeigt die Form der Loumltaugen die Polung an Rundes Loumltauge = Plus quadratisches Loumltauge = Minus

Der 470 microF Kondensator wird mit dem weiszligen Streifen in Richtung Stromver-sorgungsbuchse direkt unter diese montiert

Der 100 microF Kondensator sitzt direkt unter der 16-poligen IC-Fassung Sein weiszliger Streifen (Minus-Pol) zeigt in Richtung der Stromversorgungsbuchse

Vier der 10 microF Kondensatoren werden links neben der 16-poligen IC-Fassung montiert Deren Polung ist wie folgt Unterster Kondensator Minus nach oben naumlchster Kondensator Minus nach unten die beiden oberen Kondensatoren mit Minus nach oben

Ein weiterer 10 microF Kondensator wird rechts neben die 16-polige IC-Fassung geloumltet Sein Minus-Streifen zeigt nach unten

12

13

Keramik-Kondensatoren

Die Beschriftung 104 bedeutet 10e4 pF = 100 nF Die beiden 33 pF-Kerkos (Keramik-Kondensatoren) werden direkt nebenei-

nander rechts neben die 16-polige IC-Fassung geloumltet Zwei 100 nF-Kondensatoren werden unter dem 470 microF-Elko eingeloumltet ein

weiterer mittig an der linken Seite der 40-poligen IC-Fassung

14

Quarz

Als Quarz wird ein 110592 MHz-Typ verwendet Bei dieser Frequenz ist eine fehlerfreie Kommunikation uumlber RS232 mit 9600 Baud moumlglich Fuumlr den AT-mega16 koumlnnen Quarze bis 16 MHz eingesetzt werden Details siehe Daten-blatt

Der Quarz wird direkt rechts neben die beiden 33 pF-Kerkos geloumltet Die Ori-entierung des Quarz spielt keine Rolle

15

16

17

18

Der Spannungsregler L7805 erzeugt eine stabilisierte Spannung von 5 V Es muss ein Kuumlhlkoumlrper zur Waumlrmeabfuhr vom Spannungsregler verwendet werden

Vor dem Einloumlten zwischen Spannungsregler und Kuumlhlkoumlrper etwas Waumlrme-leitpaste aufgetragen Beide Bauteile fest mit einer Schraube M3x10 und ei-ner 1 Mutter verschrauben

Dann den Spannungsregler einloumlten um 90deg abzubiegen das uumlberstehende Gewinde durch das vorgesehene Loch stecken und alles mit einer 2 Mutter auf der Platine befestigen

1 Mutter

2 Mutter

Schr

aube

L7805

Platine

KuumlhlkoumlrperWaumlrmeleitpaste

Beinchen

Loumlten

39

Spannungsregler L7805 Kuumlhl-koumlrper und Montage

19

Steckernetzteil

Funktionskontrolle vor dem Einsetzen des Mikrocontrollers Polung der Elektrolyt-Kondensatoren (Elkos) pruumlfen Sind alle Beinchen angeloumltet Hat das Loumltzinn an den Beinchen und der Pla-

tine guten Kontakt Sind eventuell zwei benachbarte Beinchen unbeabsichtigt durch Loumltzinn verbunden Alle Loumltverbindungen nochmals genau z B mit ei-ner Lupe pruumlfen

Probeweise das Stecker-Netzteil an die Buchse anschlieszligen Am 100 nF-Kondensator links mittig der 40-poligen IC-Fassung muumlssen 5 V anliegen

Versorgungsspannung unbedingt wieder von der Platine trennen

20

21

ICs MAX232 und ATmega16

Die Nuten auf den ICs am linken Rand muumlssen nach oben zeigen d h Pin1 ist bei beiden ICs in der Abbildung links unten und auf der Platine oben links

Manchmal passen die Beinchen der ICs nicht in die Fassung weil die Fas-sung scheinbar zu schmal ist Dann den IC seitlich mit einer Beinchen-Reihe flach auf den Tisch legen den IC-Koumlrper links und rechts greifen und Bein-chen durch leichten Druck biegen Einzelne verbogene Beinchen vorsichtig mit einer kleinen Flachzange richten

22

23

Wannenstecker 10- und 14-polig

Wannenstecker an den vorgesehe-nen Stellen mit der Nut gegen Ver-polung in Richtung des naumlherliegen-den Platinenrands einloumlten

Die Abbildung rechts zeigt die Pin-Belegung der Wannenstecker

24

Stiftleiste 8-polig 40-pol Stiftleiste in 4 jeweils 8-polige Stuumlcke zerteilen und einloumlten

25

Kunststoffgehaumluse

In der Selbstbauvariante der Platine (Nr 0) vor dem Einsetzten der Platine in das Gehaumluse passend positionierte Kunststoffstege am Gehaumluseboden fest-kleben

Tab 8 Bestuumlckung der Platine des Interface mit Bauelementen

42 Erweiterungsschaltungen 421 Uumlbersicht In Tab 3 sind von RCLs des RCL-Portals Sensoren und Aktoren mit den dazugehoumlrigen Er-weiterungsschaltungen zusammengestellt Da alle RCLs obligatorisch uumlber mindestens eine Webcam verfuumlgen sind diese unter den Sensoren nicht aufgefuumlhrt Die wenigen Erweite-rungsschaltungen fuumlr Sensoren sind unter Sensoren in Klammern aufgelistet Unter Aktoren werden auszliger elektro-mechanischen Wandlern auch gesteuerte Geraumlte oder Bauelemente verstanden Anzeigeinstrumente sind unter Aktoren nur aufgefuumlhrt wenn sie direkt vom In-terface gesteuert werden Mit gekennzeichnete Erweiterungsschaltungen befinden sich au-szligerhalb des Interface

40

RCL Sensoren Aktoren Erweiterungsschaltungen fuumlr Aktoren

Beugung und Interferenz I Referenz-Taster

Schrittmotor (Rotation) Schrittmotorsteuerung Laser-Modul Geschaltete Spannungsversorgung

Beugung und Interferenz II

4 Referenz-Taster Lichtsensor

4 Schrittmotoren (Translation) 4 Schrittmotorsteuerungen 5 Laser-Module Geschaltete Spannungsversorgung LED fuumlr Position des

Lichtsensors Geschaltete Spannungsversorgung

LED fuumlr Linealbeleuchtung Geschaltete Spannungsversorgung

Elektronen-beugung

Hochspannungsnetzgeraumlt Geschaltete Spannungsversorgung Hochspannungsnetzgeraumlt Steuerung der Hochspannung

Fotoeffekt 2 Referenz-Taster Photozelle

2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen

Quecksilberdampflampe Geschaltete Spannungsversorgung

der Drossel fuumlr Quecksilberdampf-lampe

Halbleiter-kennlinien

und Halbleiterkennli-nien - Schuumller-

projekt

Referenz-Taster

Schrittmotor (Rotation) Schrittmotorsteuerung Oszilloskop Geschaltete Spannungsversorgung

Oszilloskop Instrumentenverstaumlrker fuumlr X- und Y-Ablenkung

Multimeter Steuerung Spannungs- oder Strom-anzeige

Heiszliger Draht 4 Endtaster 4 Drehgeber Kurzschlusssensor

4 Gleichstrommotoren 4 Treiber

Zweifarbige LED Steuerung der LED-Farbe

Lichtgeschwin-digkeit

Drehimpulsgeber 2 Taster an Enden

der Eisenbahnstre-cke

2 Schrittmotoren 2 Schrittmotorsteuerungen Oszilloskop Geschaltete Spannungsversorgung

Motor der Lokomotive Steuerung des Ein- und Ausschal-tens und der Bewegungsrichtung

Maut Infrarot-Sensor Gleichstrommotor Geschaltete Spannungsquelle 2 IR-Fernbedienungen Spannungsregler 2-stellige 7-Segmentanzeige LED-Treiber

Millikan-Versuch 2 Referenz-Taster

2 Schrittmotoren 2 Schrittmotorsteuerungen Lichtquelle (LED) fuumlr Millikan-

Kondensator Geschaltete Spannungsversorgung

Airbrush-Kompressor Geschaltete Spannungsversorgung Magnetventil Geschaltete Spannungsversorgung Millikan-Kondensator Gesteuertes Hochspannungsmodul

Optische Com-putertomogra-

phie

2 Referenz-Taster 2 Lichtsensoren

Schrittmotor (Rotation) Schrittmotorsteuerung Schrittmotor (Translation) Schrittmotorsteuerung

2 Laser-Module 2 geschaltete Spannungsversor-gungen

Optische Fou-rier-

Transformation 2 Referenz-Taster

2 Schrittmotoren (Translation) 2 Schrittmotorsteuerungen

Laser-Modul Geschaltete Spannungsversorgung

Oszilloskop Oszilloskop Geschaltete Spannungsversorgung Signalgenerator Steuerung der Signalart

Radioaktivitaumlt 4 Referenz-Taster Geiger-Muumlller-

Zaumlhlrohr

2 Schrittmotoren (Translation) 2 Schrittmotorsteuerungen 2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen 4-stellige 7-Segment-Anzeige Treiber Elektromagnet Geschaltete Spannungsversorgung

Roboter im Labyrinth Infrarot-Sensor

2 Schrittmotoren 2 Schrittmotorsteuerung Infrarot-Sender Treiber

Rutherfordscher Streuversuch

2 Referenz-Taster Halbleiterdetektor

(Impulsformer)

2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen

4-stellige 7-Segment-Anzeige Treiber

Weltpendel

Referenz-Taster Lichtsensor der

Lichtschranke (Im-pulsformer)

Temperatursensor

Schrittmotor (Translation) Schrittmotorsteuerung Elektromagnet Geschaltete Spannungsversorgung

Laser der Lichtschranke Geschaltete Spannungsversorgung

Windkanal Referenz-Taster Schrittmotor (Translation) Schrittmotorsteuerung

41

Dehnungsmess-streifen (Wheat-stonesche Bruumlcke Messverstaumlrker Multimeter)

Geblaumlsemotor Geschaltete Spannungsversorgung

und Ansteuerung mit Pulsweiten-modulation

Anemometer Geschaltete Spannungsversorgung Multimeter Geschaltete Spannungsversorgung

Tab 9 Sensoren Aktoren und Erweiterungsschaltungen der RCLs des RCL-Portals

422 TMC222-Modul zur Schrittmotorsteuerung 4221 Schaltplan und Bauteilliste Abb 1 zeigt die Beschaltung des TMC222 von Trinamic auf dem TMC222-Modul

Abb 24 Beschaltung des TMC222 von Trinamic

Anhand der Bauteilliste in Tab 10 koumlnnen die elektronischen Bauelemente des TMC222-Moduls bei Reichelt electronic bestellt werden Ein TMC222-Modul kostet ungefaumlhr 10 euro

Nr Anzahl Kurzbeschreibung des Bauteils Best-Nr bei Reichelt electronic

Einzelpreis in euro

0 1 Epoxyd-Fotoplatine einseitig 75x100 mm 15 mm 35 microm BEL75X100-1 096 1 1 Integrierter TMC-Schrittmotor-Controller TMC 222 SI asymp 7 2 1 Elektrolytkondensator 8x11 mm Rm 35 mm 100 microF35 V RAD 10035 004 3 1 Tantal-Kondensator Rm 25 10 microF35 V Tantal 1035 014 4 2 Vielschicht-Keramikkondensator 220 nF 20 Z5U-25 220N 011 5 3 Vielschicht-Keramikkondensator 100 nF 20 Z5U-25 100N 004 6 2 Metallschichtwiderstand 100 kΩ Metall 100K 0082 7 1 1x36pol Stiftleiste gewinkelt Rm 254 SL 1X36W 027 8 1 1x36pol Buchsenleiste gerade Rm 254 BL 1X36G 025

Tab 10 Bauteilliste mit Bestellnummer und Einzelpreisen der Bauelemente bei Reichelt electronic (Stand 23102010)

4222 Bestuumlckung der Platine

42

Abb 25 zeigt die fertig bestuumlckte Platine mit den Nummern aus Tab 10

Abb 25 Bestuumlckte Platine des TMC222-Moduls

mit nummerierten Bauelementen

Die Platine (35 mm x 30 mm) kann anhand des Layouts in Abb 26 hergestellt werden Der IC TMC222 wird auf der Loumltseite der Platine aufgeloumltet Das TMC222-Modul kann mit der Stiftleiste (larr Tab 10 Nr 7) in eine Buchsenleiste (larr Tab 10 Nr 8) auf die Platine des In-terface gesteckt werden

Abb 26 Platine des TMC222-Moduls von der Loumltseite (links) und Layout

4223 Quellcode des Mikrocontroller-Programms Im Folgenden ist ein mit Bascom (larr 12 Tab 1 Entwicklungsumgebungen) erstelltes Bei-spiel-Programm zur Ansteuerung des Schrittmotormoduls TMC222 durch den Mikrocontroller ATmega16 angegeben $regfile = m16DEFdat $crystal = 11059200 $baud = 9600 Definitionen Config Scl = Portc0 Taktleitung Config Sda = Portc1 Datenleitung Const Adress = ampB11000000 I2C Adresse des TMC222 Const GetFullstatus1 = ampB10000001 Kommando des TMC222 Const Resetpos = ampB10000110 Kommando des TMC222 Const Motorparameter = ampB10001001 Kommando des TMC222 Const Setposition = ampB10001011 Dim Puffer(10) As Byte

43

Programm I2csend Adress GetFullstatus1 GetFullstatus1 (Initialisierung des TMC222) I2creceive Adress 7 Ack Daten in Puffer auslesen Puffer(1) = Motorparameter puffer auffuumlllen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB11110011 1111irun 0011ihold Puffer(5) = ampB01110001 0111vmax 0001vmin Puffer(6) = ampB00010000 000securepos(bit10-8) 1shaft 0000acceleration Puffer(7) = 0 securepos(bit7-0) Puffer(8) = ampB00001100 000nicht belegt 0accshape 11stepmode 00nicht belegt I2csend Adress Puffer(1) 8 I2csend Adress Resetpos aktuelle Position auf 0 setzen Puffer(1) = Setposition Motor bewegen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB01111111 position(bit 15-8) Puffer(5) = ampB11111111 position(bit 7-0)acute I2csend Adress Puffer(1) 5 End

423 Geschaltete Spannungsquellen und Verbraucher Die Ausgaumlnge des Mikrocontrollers duumlrfen nur mit Stroumlmen kleiner als ungefaumlhr 20 mA belas-tet werden Verbraucher mit einer Stromlast groumlszliger als 20 mA koumlnnen daher nicht direkt an den Mikrocontroller angeschlossen werden Abb 27 zeigt links eine Schaltung zum Schalten eines Verbrauchers wie z B des Relais und rechts eine Schaltung mit dem IC ULN2803A zum Schalten mehrerer Verbraucher wie z B Gluumlhlampen

Abb 27 Erweiterungsschaltungen zum Schalten eines (links) oder

mehrerer Verbraucher (rechts)

Zu beachten ist dass der Transistor BC337 maximal 800 mA schalten kann und fuumlr groumlszligere Stroumlme andere Transistoren verwendet werden muumlssen

424 Steuerung von Gleichstrommotoren

44

Sollen Gleichstrommotoren zum Bewegen von Objekten mit dem Mikrocontroller gesteuert werden dann eignet sich dazu der in Abb 28 dargestellte beschaltete IC L293D

Abb 28 Beschaltung des L293D zum

Steuern zweier Gleichstrom-motoren

Mit Pin 1 = Pin 9 = 1 (High) koumlnnen zwei Gleichstrommotoren M1 und M2 (Versorgungs-spannung UM lt 36 V Spulendauerstrom IM lt 600 mA) unabhaumlngig voneinander ein- und ausgeschaltet sowie in der Drehrichtung uumlber die Ports PA0 und PA1 fuumlr M1 und PA2 und PA3 fuumlr M2 gesteuert werden Z B gilt mit PA0 = PA1 = 0 (M1 ausgeschaltet) PA0 = 1 und PA1 = 0 (M1 dreht sich) PA0 = 0 und PA1 = 1 (M1 dreht sich in Gegenrichtung)

45

43 Quellcodes zum RCL Elektronenbeugung 431 Mikrocontroller-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

46

47

48

49

432 PHP-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

50

51

433 Bedienfeld der Laborseite

Tab 11 erlaumlutert die Funktion der Bloumlcke im Quellcode

Zeilen Funktion 1 Datei defaultconf einbinden 2 Datei headtpl einbinden

5 - 11 Ausgabe der verbleibenden Experimentierzeit 18 - 21 Button zum Einschalten der Elektronenbeugungsroumlhre 28 - 30 Eingabefeld fuumlr die Beschleunigungsspannung

37 Ruumlckmeldung zur eingegebenen Beschleunigungsspannung 42 Datei foottpl einbinden

Tab 11 Funktion der Programmbloumlcke in der Datei experi-menttpl

52

434 Webcamfeld der Laborseite

In Tab 12 ist die Funktion der Programmbloumlcke und die Anpassungen der Vorlage an das RCL Elektronenbeugung beschrieben

Zeilen Funktion Anpassung RCL Elektronenbeugung

5 Titelangabe erscheint als Tabulatorbeschriftung in Browsern

Name des RCLs eintragen

11 - 15 16 - 20

Zwei Javascripts zum getrennten Aufrufen zweier Po-pup-Fenster mit dargestelltem Webcambildern 1 und 2

Javascript 1 die IP-Adresse eintragen Javascript 2 auskommentiert weil nicht benoumltigt

24 - 40 42 - 60

Zwei Javascripts zum Aktualisieren der Webcambilder 1 und 2

Javascript 2 auskommentiert weil nicht benoumltigt

67 - 71 79 - 83

Aufrufen des ersten Webcambilds der Webcams 1 und 2 beim Aufrufen der Datei

Webcambild 2 auskommentiert weil nicht benoumltigt

72 - 78 84 - 90

Buttons zum Aufrufen der Screenshots der Webcam-bilder 1 und 2

Button 2 auskommentiert weil nicht benoumltigt

91 - 95 Zeile der Tabelle zum Eintragen von Informationen die sich auf die Webcambilder oder den Versuch beziehen

Text in Zeile der Tabelle geschrieben

Tab 12 Funktionen der Codeabschnitte in der Datei videohtm und Anpassung der Vor-lage an das RCL Elektronenbeugung

53

44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung Im Folgenden wird die Installation und Konfiguration des AVR-Studios 418 und der Bascom 11198 Demoversion beschrieben Alle Anleitungen sind zeilenweise von links nach rechts zu lesen

441 AVR-Studio 418 4411 Installation Auf der Webseite von ATMEL Register AVR Studio 418 (build 684) anklicken und Registrie-rungsformular ausfuumlllen Danach die Datei AvrStudio418Setup herunterladen Durch Dop-pelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen Next waumlhlen

I accept hellip und Next waumlhlen Installationsordner und Next waumlhlen

54

Installupgrade hellip und Next waumlhlen Install waumlhlen Die Installation beginnt

Finish waumlhlen

4412 Konfiguration AVR Studio 418 in Windows XP Professional unter StartProgramme aufrufen

Startfenster mit Cancel schlieszligen Unter ToolsProgram AVR Auto Connect waumlhlen

55

Im eingeblendeten Fenster auf der Registerkarte Main als Device ATmega16 und als Programming Mode ISP mo-de waumlhlen

Optional kann Signatur gelesen werden

In der Registerkarte Fuses alle Haumlkchen und Auswahlfel-der wie angegeben waumlhlen

Dann Program waumlhlen

442 BASCOM 11198 Demoversion 4421 Installation Auf der Webseite von Bascom unter Bascom AVR Demo die Zip-Datei setupdemoexe her-untergeladen Durch Doppelklick auf den Dateinamen die Installation starten

Next waumlhlen I accept the agreement und Next waumlhlen

56

Next waumlhlen Installationsordner eingeben und Next waumlhlen

Eintrag im Start-Menuuml eingeben und Next waumlhlen Next waumlhlen

Yes restart the computer now und Finish waumlhlen

57

4422 Konfiguration Bascom AVR in Windows XP Professional unter StartProgramme zum Einstellen der Para-meter des Mikrocontrollers und des Terminals aufrufen

OptionsCompilerChip waumlhlen Einstellungen wie im Bild vornehmen und OK waumlhlen

Auf der Registerkarte Communications Einstellungen wie im Bild vornehmen und OK waumlhlen

Unter OptionsCommunication Einstellungen wie im Bild

vornehmen und OK waumlhlen FileNew waumlhlen Unter ToolsTerminal emulator das Terminal aufrufen und

eingeben Die Befehlsliste des RCLs Elektronenbeu-gung wird angezeigt

45 Installation und Konfiguration von Programmen auf dem RCL-Server Im Folgenden wird der Download die Installation und die Konfiguration von Programmen auf dem RCL-Server unter Windows XP Professional beschrieben Alle Anleitungen sind zeilen-weise von links nach rechts zu lesen Die Installation der Programme sollte in der angegebe-nen Reihenfolge erfolgen

58

451 Einrichten des Internet-Zugangs LAN-Verbindung unter StartSystemsteuerungNetzwerkverbindungen aufrufen

Internetprotokoll (TCPIP) und Eigenschaften waumlhlen Folgende IP-Adresse verwenden waumlhlen IP-Adressen ein-

geben und OK waumlhlen

452 Paket XAMPP 174 Unter apache friends - xampp fuumlr windows und XAMPP Windows 174 Installer anklicken und Datei xampp-win32-174-VC6-installerexe speichern Durch Doppelklick auf die Datei die Installation starten

Sprache und Ok waumlhlen Ok waumlhlen

59

Weiter waumlhlen Zielverzeichnis mit Durchsuchen waumlhlen oder eingeben

Apache nicht als Dienst installieren Fertig stellen waumlhlen

Ja waumlhlen Zum Starten des Apache Webservers das Control Panel

unter StartProgrammeXAMPP 173 for Windows mit Start starten Anstelle von Start erscheint Running

Zum Beenden des Apache Webservers Stop waumlhlen Zum Beenden des Control Panels Exit waumlhlen

60

453 Videoserver webcamXP 5 Private Auf der Webseite von Moonware Studios unter webcamXP 55xx die Datei wlite550 herun-terladen Durch Doppelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen I Agree waumlhlen

Next waumlhlen Auszliger webcamXP 5 brauchen keine weiteren Komponen-

ten installiert zu werden

Den vorgeschlagenen Ordner und Install waumlhlen Finish waumlhlen

61

WebcamXP unter StartProgramme aufrufen Zugesandte

Lizenz-Daten in das eingeblendete Fenster eingeben und Register waumlhlen

Beim Starten des Programms stellt webcamXP automa-tisch eine Verbindung zu den am Computer angeschlosse-nen Webcams her

Nach dem Start ist Uumlberwachen gewaumlhlt Durch Rechts-klick mit der Maus auf das Videofenster wird zu jeder Vi-deoquelle ein Kontextmenuuml angezeigt Wird kein Videobild dargestellt das Kontextmenuuml aufrufen Art der Videoquelle waumlhlen (hier USB) und unter den erkannten Videoquellen (hier USB-Videogeraumlt) die gewuumlnschte waumlhlen

Das Videoformat muss fuumlr eine passende Darstellung auf

der Laborseite auf 320 x 240 eingestellt sein Ist das nicht der Fall im Kontextmenuuml unter Video Format einstellen

In gleicher Weise kann eine zweite Videoquelle hinzugefuumlgt werden

In der Registerkarte Web Broadcast kann unter

Broadcast (HTTP) der Videoserver mit Ausschalten ge-stoppt und mit Aktivieren gestartet werden

Zur Zielwahl des Webservers (131246237167 - Internet D16W3X3J - Computer 127001 - Local Host) Videoser-ver stoppen und einstellen Videoserver wieder starten

62

454 Terminalprogramm Hyperterminal Hyperterminal in Windows XP Professional unter StartProgrammeZubehoumlrKommunikation aufrufen

Name der neuen Verbindung - z B Interface - eingeben

und OK waumlhlen Die Verbindung zwischen Computer und Interface wurde

uumlber einen USB-Seriell-Adapter hergestellt Dann erschei-nen zwei zusaumltzliche Eintraumlge (Motorola Comp Modem und COM5) in der Liste Prinzipiell muss eine COMx-Verbindung gewaumlhlt werden

Eigenschaften von COM 5 wie im Bild einstellen und OK

waumlhlen DateiEigenschaften aufrufen und ASCII-Konfiguration

waumlhlen

63

Haken bei Eingegebene Zeichen lokal ausgeben (lokales

Echo) setzen um eingegebenen Zeichen im Hyperterminal zu sehen

Bei funktionsfaumlhiger Verbindung erscheint nach Eingabe von Return die Befehlsliste des Interface

Durch Aufrufen von DateiSpeichern die erstellte Verbin-

dung z B auf dem Desktop speichern Dadurch braucht die Verbindung nicht immer wieder von neuem konfiguriert wer-den

Nach Aufrufen von DateiBeenden die bestehende Verbin-dung mit Ja beenden

64

Wurde ein falscher COM-Port gewaumlhlt reagiert das Inter-

face auf die Eingabe Return nicht Hyperterminal dann beenden

Der COM-Port kann dann nicht unter DateiEigenschaften im Hyperterminal aber unter Eigenschaften des Kontext-menuumls der Datei Interfaceht in der Registerkarte Verbin-den mit geaumlndert werden Dann OK waumlhlen und erneut Verbindung testen

65

455 Fernwartungssoftware TeamViewer 6 Host Auf der Webseite von Teamviewer GmbH unter Fuumlr unbeaufsichtigte Server TeamViewer Vollversion die Datei TeamViewer_Setup-wq herunterladen Das Programm muss auf dem RCL-Server und dem Computer der auf den RCL-Server zugreifen soll installiert werden Durch Doppelklick auf die Datei die Installation starten

Ausfuumlhren waumlhlen Weiter waumlhlen

Fuumlr die private nicht kommerzielle Nutzung ist Teamviewer kostenlos

privat nicht-kommerziell und Weiter waumlhlen

Beide Haumlkchen setzen und Weiter waumlhlen

66

Ja un Weiter waumlhlen Weiter

Computername und Kennwort fuumlr den Zugriff auf den RCL-Server oder den eigenen Computer vergeben Kenn wort notie-ren

Ein Teamviewerkonto ist nicht erforderlich Kann auch spaumlter noch eingerichtet werden

ID fuumlr den Computer auf dem das Programm installiert wird fuumlr Zugriff notieren

Das Programm wird gestartet Standardmaumlszligig vorein-gestellt ist der Start des Programms beim Start des Be-trienssystems

67

46 Selbstbau eines elementaren RCLs 461 Hard- und Software Auch ohne gleich ein vielleicht teures physikalisches Experiment zu steuern laumlsst sich mit wenigen Bauelementen ein elementares RCL realisieren Von einer Webseite im Internet sol-len eine Leuchtdiode (LED) ein- oder ausgeschaltet sowie der Zustand der Leuchtdiode und eines Tasters abgefragt werden An Hard- und Software werden benoumltigt

1 Low-Current-LED 5 mm 2 mA 1 Widerstand 18 kΩ 1 Taster und optional zwei 10-polige Wannenstecker mit ungefaumlhr 10 cm passendem Flachbandkabel und Buchsen

Interface in Basisschaltung Null-Modem-Kabel 12 V DC Steckernetzteil (larr 1)

Installierte Bascom-Demo-Version (larr 42)

AVR ISP-Programmer mit 10-poligem Programmierkabel

Installiertes und konfiguriertes AVR Studio 418 (larr 41)

Installiertes Paket XAMPP (larr 52)

Texteditor wie z B Notepad in Windows XP Professional

Konfigurierte Hyperterminalverbindung (larr 54)

462 Bestuumlckung der Platine Abb 29 zeigt zur Orientierung fuumlr das Einloumlten der Bauelemente die fertig bestuumlckte Platine des Interface

Abb 29 Mit elementarem RCL bestuumlckte Platine

des Interface

LED mit Vorwiderstand und der Taster sind rechts neben dem Mikrocontroller im Lochraster-bereich aufgebaut und uumlber Wannenstecker und Flachbandkabel mit dem Port A des Mikro-controllers verbunden (die drei Bauteile rechts neben dem ATmega16 werden nicht benouml-tigt) Tab 13 erlaumlutert die Schritte zur Bestuumlckung der Platine des Interface

68

Nr Schaltung Erlaumluterung

1

Die Leuchtdiode (LED) mit dem Pluspol (langes Beinchen) an PortA0 (PIN40 oben rechts) des Mikrocontrollers anloumlten

An das kurze Beinchen einen 18kΩ Widerstand loumlten dessen anderes Ende mit der Masse (GND) verbinden

2

Den Taster mit PortA1 (PIN39 = 2 Beinchen von oben rechts) und Masse (GND) verbinden

3

Draufsicht

Belegung des 10-poligen Wannensteckers 1 GND (Masse) im Foto oben links 2 +5 V 3 PortA0 4 PortA1 10 PortA7 im Foto unten rechts

Tab 13 Schritte zum Aufbau des elementaren RCLs

463 Lokal gesteuertes RCL Nachfolgend ist der Basic-Programmcode des Mikrocontrollers zur Steuerung und Abfrage der LED und des Tasters angegeben 01 $regfile = m16DEFdat Microcontroller ATmega16 02 $crystal = 11059200 110592MHz Quarz 03 $baud = 9600 Baudrate 04 05 ---[ Variables ]--------------------------------------------------------------- 06 Dim Rs232kommando As String 10 erst Befehlspuffer dann Kommando 07 Dim Parameter As String 10 Parameter 08 Dim Str_pos As Byte Position von Leerzeichen zur Trennung von Kommando und Pa-rameter 09 10 ---[ Initialisierung ]--------------------------------------------------------- 11 Ddra0 = 1 PortA0 als Ausgang fuumlr LED 12 Porta0 = 0 LED aus 13 Ddra1 = 0 PortA1 als Eingang fuumlr Taster 14 Porta1 = 1 Pull-Up aktivieren 15 16 ---[ Main program loop ]------------------------------------------------------- 17 Do Start der Endlos-Schleife 18 19 If Ischarwaiting() = 1 Then Zeichen uumlber RS232 empfangen 20 Input Rs232kommando neues Kommando lesen 21 Parameter = Parameter initialisieren 22 Str_pos = Instr(rs232kommando ) Leerzeichen im Kommando suchen 23 If Str_pos gt 0 Then falls Leerzeichen dann in Kommando+Parameter zerlegen 24 Incr Str_pos Str_pos soll jetzt auf 1Zeichen des Parameters zeigen 25 Parameter = Mid(rs232kommando Str_pos ) Parameter = Teilstring nach Leerzeichen 26 Parameter = Ucase(parameter) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 27 Str_pos = Str_pos - 2 Str_pos soll jetzt auf letztes Zeichen des Kommandos zeigen 28 Rs232kommando = Left(rs232kommando Str_pos)Kommando = Teilstring vor Leerzeichen 29 Rs232kommando = Ucase(rs232kommando) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 30 End If 31 32 Select Case Rs232kommando Eventhandler Interpretation der Kommandos 33 Case Print Hilfe Hilfeseite anzeigen 34 Print LED on - LED einschalten 35 Print LED off - LED ausschalten 36 Print LED - zeigt Status der LED an 37 Print SW - zeigt Status des Schalters an 38

1K8

LED rotmicroC PortA0(PIN40)

Taster

microC PortA1(PIN39)

1

3

2

69

39 Case LED If Parameter = ON Then LED schalten 40 Porta0 = 1 41 End If 42 If Parameter = OFF Then 43 Porta0 = 0 44 End If 45 46 Case LED If Porta0 = 0 Then Status der LED ausgeben 47 Print LED aus 48 Else 49 Print LED an 50 End If 51 52 Case SW If Pina1 = 1 Then Status des Schalters ausgeben 53 Print Taster offen 54 Else 55 Print Taster geschlossen 56 End If 57 58 Case Else Print gt Rs232kommando lt ungueltiger Befehl - weitere Infos mit Info bei unguumlltigen Eingaben 59 End Select 60 61 End If 62 63 Loop Endlos-Schleife Springe zu Do 64 65 End wird nie erreicht

Der erste Teil des Programms (Zeilen 1 - 15) enthaumllt die Systemparameter Variablen und Initialisierung der Ein- und Ausgaumlnge Der zweite Teil enthaumllt ab Zeile 17 das Hauptpro-gramm in dem Benutzereingaben uumlber die serielle Schnittstelle empfangen interpretiert und in entsprechende Anweisungen umgesetzt werden Tab 14 erlaumlutert den Programmcode de-taillierter

Zeilen Erlaumluterung

1 - 3 Diese Angaben teilen dem Compiler (Bascom) mit welcher Prozessor eingesetzt wird wie schnell dieser getaktet (Quarz) ist und mit welcher Uumlbertragungsgeschwindigkeit die Kommunikation uumlber die serielle Schnittstelle (RS232) mit dem PC erfolgen soll

6 - 8 Es werden drei Variablen genutzt Die Eingabe uumlber die serielle Schnittstelle wird in rs232kommando gespeichert Es wird ein Text der Form Kommando ltLeerzeichengt Parameter erwartet so dass die Variable Parameter den-selbigen aufnimmt Die Variable str_pos wird fuumlr die Trennung von Kommando und Parameter benoumltigt

11 - 14

Mit dem Befehl ddrPX (ddr = data direction) wird festgelegt ob ein Beinchen als Ausgang (=1) oder als Eingang (=0) arbeiten soll Der ATmega16 besitzt 32 Ein-Ausgaumlnge die in vier Ports (P=AD) zu je 8 Pins (X=07) unterteilt sind ddrA0 = 1 legt also das 1 Beinchen (Pin 0) von PortA als Ausgang (=1) fest Mit dem Befehl PortA0 =1 kann dieser Pin dann durch Zuweisen von 1 oder 0 an- bzw ausgeschaltet werden Im Datenblatt erfahren Sie welches der 40 Beinchen des Mikrocontrollers wie bezeichnet wird (Pin-Belegung) Wird ein Beinchen als Eingang verwendet (ddrA1 = 0) koumlnnen Sie optional einen so genannten Pull-Up-Widerstand aktivieren (PortA1=1) oder deaktivieren (PortA1=0) Auch hierzu sollten Sie sich unbedingt mit dem Datenblatt vertraut machen

17 63 Das Hauptprogramm besteht aus einer Endlosschleife d h der Mikrocontroller verrichtet ununterbrochen seinen Job so lange er mit Strom versorgt wird

19 - 30 Falls ein Zeichen uumlber die serielle Schnittstelle empfangen wurde wird dieses und alle folgenden gelesen Anschlie-szligend wird gepruumlft ob der empfangene Text von der Form Kommando ltLeerzeichengt Parameter ist so dass er ge-gebenenfalls in ein Kommando und einen Parameter zerlegt werden kann

32 - 59 Dieser Abschnitt wird mit Event-Handler bezeichnet Hier wird auf die Kommandos (Events) reagiert und die ent-sprechenden Schritte ausgefuumlhrt zB schalten LED je nach Wert der Variablen Parameter an- bzw ausschalten

46 52

In beiden Zeilen wird ein Wert eines Ports abgefragt Unterschiedlich ist dass in Zeile 46 der Status eines Ausgangs abgefragt wird (porta0) und in Zeile 52 der Zustand eines Eingangs (pina0) Die Anweisung IF porta0 = 0 THEN pruumlft (hier ist = ein Vergleich und KEINE Zuweisung) ob zuletzt die LED ausgeschaltet (Zuweisung porta0 = 0) wurde Die Anweisung IF pina1= 1 THEN liest den Status eines Eingangs Hier kann festgestellt werden ob der Eingang uumlber den internen Pull-UP-Widerstand auf +5V liegt (pina1 liefert 1) oder ob der Schalter den Eingang mit Masse (0V) verbindet (pina1 liefert 0)

Tab 14 Erlaumluterung des Mikrocontroller-Programmcodes fuumlr elementares RCL

70

In Bascom AVR eine neue Datei erzeugen (FileNew) den Programmcode ohne Kommenta-re eingeben und mit ProgramCompile (F7) eine Hexadezimaldatei erzeugen Die Hexadezi-maldatei mit dem AVR-Studio und dem AVR-ISP-Programmer in den Mikrocontroller schrei-ben (larr 222 Programmuumlbertragung) Nach dem Verbinden von Computer und Interface per Null-Modem-Kabel kann durch Eingabe von in das konfigurierte Hyperterminal die Befehls-liste in Abb 30 aufgerufen werden

Abb 30 Aufgerufene Befehlsliste im Hyperterminal

Durch Eingabe von LED on oder LED off kann die LED ein- und ausgeschaltet LED zeigt den Status der LED und sw den Status des Tasters an Alternativ zum Hyperterminal kann auch das Terminal in BASCOM unter ToolsTerminal Emulator verwendet werden (larr 422)

464 Ferngesteuertes RCL Zum Ansteuern des Interfaces und zum Bedienen des Versuchsaufbaus uumlber das Internet wird eine Webseite benoumltigt die dem Benutzer alle Bedienelemente des Experiments zur Verfuumlgung stellt

Der Benutzer benoumltigt anklickbare Buttons im Webbrowser

Der Webserver muss die Information welcher Button gedruumlckt wurde empfangen und ein entsprechendes Kommando uumlber die serielle Schnittstelle an das Interface senden

Beide Schritte sind im nachfolgenden PHPHTML-Quellcode zusammengefasst 01 ltDOCTYPE HTML PUBLIC -W3CDTD HTML 401 TransitionalEN httpwwww3orgTRhtml4loosedtdgt 02 lthtmlgt 03 ltheadgt 04 ltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1gt 05 lttitlegtelementares RCLlttitlegt 06 ltheadgt 07 08 ltbodygt 09 ltphp 10 if (isset($_POST[Kommando])) wurde bereits Kommando gesendet 11 if( ( $handle = fopen( COM1 w+ ) ) ) Schnittstelle oumlffnen 12

71

13 throw new Exception( Can not access serial port 2 ) ohne Erfolg 14 15 fwrite( $handle $_POST[Kommando] chr( 13 ) ) Befehl an Interface senden 16 switch ( $_POST[Kommando] ) Antwort von Interface auswerten 17 case LED $tmp = fgets( $handle ) Echo von Interface ignorieren 18 $antwort = fgets( $handle ) Antwort des Interfaces 19 echo Antwort $antwort Ausgabe auf Webseite 20 break switch verlassen 21 22 case SW $tmp = fgets( $handle ) Echo von Interface ignorieren 23 $antwort = fgets( $handle ) Antwort des Interfaces 24 echo Antwort $antwort Ausgabe auf Webseite 25 break switch verlassen 26 27 28 29 fclose( $handle ) Schnittstelle schlieszligen 30 31 else 32 `mode com1 BAUD=9600 PARITY=N data=8 stop=1 xon=off` Schnittstellenparameter setzen 33 34 35 gt 36 37 lth3gtBefehl sendenlth3gt 38 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 39 ltinput type=hidden name=Kommando value=LED ON gt 40 ltinput type=submit value=LED anschalten gt 41 ltformgt 42 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 43 ltinput type=hidden name=Kommando value=LED OFF gt 44 ltinput type=submit value=LED ausschalten gt 45 ltformgt 46 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 47 ltinput type=hidden name=Kommando value=LED gt 48 ltinput type=submit value=LED abfragen gt 49 ltformgt 50 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 51 ltinput type=hidden name=Kommando value=SW gt 52 ltinput type=submit value=Taster abfragen gt 53 ltformgt 54 ltbodygt 55 lthtmlgt Den Quellcode in den Texteditor kopieren und im Ordner htdocs von XAMPP z B unter rclphp speichern HTML-Dateien mit PHP-Code (Zeilen 9-35) muumlssen mit der Erweiterung php gespeichert werden damit der Apache Webserver zwischen HTML-Seiten mit und ohne PHP-Code unterscheiden kann Den installierten Apache Webserver starten (larr 452) und im Adressfeld des Webbrowsers die IP-Adresse http127001rclphp aufrufen Das Bedi-enfeld des elementaren RCLs in Abb 31 wird im Browserfenster angezeigt

72

Abb 31 Laborseite des elementaren RCLs

Im Bedienfeld kann die LED an- und ausgeschaltet sowie der Status von LED und Taster abgefragt werden

  • 0 Warum ein Tutorial zur RCL-Technik
  • 1 Technische Konzeption
    • 11 Einfuumlhrung
    • 12 Wahl der RCL-Technik
      • 2 Lokal gesteuertes RCL
        • 21 Interface
          • 211 Mikrocontroller
          • 212 Basisschaltung und Erweiterungsschaltungen
          • 213 Programmierung des Mikrocontrollers
            • 22 Hyperterminal
            • 23 Positionieren von Objekten
              • 231 Hybrid-Schrittmotoren
              • 232 Schrittmotorsteuerung und Positionierungsmechanik
                  • 3 Ferngesteuertes RCL
                    • 31 RCL-Server
                    • 32 Laborseite
                      • 321 Steuerung des RCLs uumlber das Bedienfeld
                      • 322 Videouumlbertragung im Webcamfeld
                        • 33 Standard-Lernumgebung
                          • 4 ANHANG
                            • 41 Interface in Basisschaltung
                              • 411 Schaltplan und Bauteilliste
                              • 412 Bestuumlckung der Platine
                                • 42 Erweiterungsschaltungen
                                  • 421 Uumlbersicht
                                  • 422 TMC222-Modul zur Schrittmotorsteuerung
                                    • 4221 Schaltplan und Bauteilliste
                                    • 4222 Bestuumlckung der Platine
                                    • 4223 Quellcode des Mikrocontroller-Programms
                                      • 423 Geschaltete Spannungsquellen und Verbraucher
                                      • 424 Steuerung von Gleichstrommotoren
                                        • 43 Quellcodes zum RCL Elektronenbeugung
                                          • 431 Mikrocontroller-Programmierung
                                          • 432 PHP-Programmierung
                                          • 433 Bedienfeld der Laborseite
                                          • 434 Webcamfeld der Laborseite
                                            • 44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung
                                              • 441 AVR-Studio 418
                                                • 4411 Installation
                                                • 4412 Konfiguration
                                                  • 442 BASCOM 11198 Demoversion
                                                    • 4421 Installation
                                                    • 4422 Konfiguration
                                                        • 45 Installation und Konfiguration von Programmen auf dem RCL-Server
                                                          • 451 Einrichten des Internet-Zugangs
                                                          • 452 Paket XAMPP 174
                                                          • 453 Videoserver webcamXP 5 Private
                                                          • 454 Terminalprogramm Hyperterminal
                                                          • 455 Fernwartungssoftware TeamViewer 6 Host
                                                            • 46 Selbstbau eines elementaren RCLs
                                                              • 461 Hard- und Software
                                                              • 462 Bestuumlckung der Platine
                                                              • 463 Lokal gesteuertes RCL
                                                              • 464 Ferngesteuertes RCL

5

Ein Besucher an einem quasi beliebigen Ort A kann uumlber das Internet mit einem Experiment an einem quasi beliebigen Ort B experimentieren Dazu stellt ein RCL-Server auf dem Com-puter des Besuchers eine Webseite bereit von der aus der Besucher das Experiment uumlber Aktoren fernsteuern und uumlber Sensoren Fernmessungen durchfuumlhren kann Den Datenaus-tausch zwischen RCL-Server und Experiment und die Steuerung des Experiments uumlber-nimmt ein Interface Per Webcam erhaumllt der Besucher auf der Webseite visuelle Ruumlckmel-dungen zu durchgefuumlhrten Aktionen und Veraumlnderungen im Experiment

Am Beispiel des RCLs Elektronenbeugung wird in die technische Konzeption der RCLs des RCL-Portals eingefuumlhrt Abb 2 zeigt den prinzipiellen Aufbau eines RCLs aus RCL-Server Interface und Experiment

Abb 2 Aufbau eines RCLs am Beispiel des RCLs Elektronenbeugung

Das Experiment Elektronenbeugung ist ein Standardversuch mit Hochspannungsnetzgeraumlt2 und Elektronenbeugungsroumlhre3 Eine Webcam Interface und RCL-Server erweitern den Versuch zum RCL Die nummerierten Kabelverbindungen in Abb 2 haben folgende Funktio-nen Kommunikation zwischen RCL-Server und Interface uumlber serielle Schnittstellen (1) 12 V-Spannungsversorgung des Interface vom Steckernetzteil (2) geschaltete Netzspannung des Hochspannungsnetzgeraumlts (3) Steuerung der Ausgangsspannung des Hochspan-nungsnetzgeraumlts bzw der Beschleunigungsspannung uumlber das Interface (4) Heizspannung fuumlr Gluumlhkathode der Elektronenkanone (5) Beschleunigungsspannung fuumlr die Elektronenka-none (6) USB-Anschluss der Webcam am RCL-Server (7) und Internetanschluss des RCL-Servers (8) Um ohne stoumlrendes Fremdlicht mit der Webcam das Beugungsmuster auf dem Szintillationsschirm beobachten zu koumlnnen befindet sich das gesamte Experiment im Betrieb unter einem Verdunklungskasten

2 Vgl LD Didactic Hochspannungsnetzgeraumlt 10 kV 3 Vgl LD Didactic Elektronenbeugungsroumlhre

6

Das RCL Elektronenbeugung kann auf dem RCL-Portal nach der Wahl des Menuumlpunkts RCLs aufgerufen werden Die Wahl des Menuumlpunkts Labor aus der Standard-Lernumgebung ruft die Laborseite des RCLs in Abb 3 auf

Abb 3 Laborseite des RCLs Elektronenbeugung in einem Webbrowser

Im Bedienfeld kann die Gluumlhkathode der Elektronenkanone mit dem Button Elektronenroumlhre einschalten eingeschaltet werden Durch Eingabe von Werten zwischen 0 und 43 kV kann eine variable Beschleunigungsspannung an die Elektronenkanone angelegt das auf dem Szintillationsschirm entstehende Beugungsmuster im Webcamfeld beobachtet und mit dem Button Screenshot das Webcambild auf dem Computer gespeichert werden

Die Realisation eines RCLs erfolgt in zwei Schritten Als lokal gesteuertes RCL kann das Ex-periment ohne Internetzugang vom RCL-Server aus gesteuert werden als ferngesteuertes RCL kann mit dem RCL zusaumltzlich weltweit uumlber das Internet experimentiert werden Abb 4 zeigt dazu das Blockdiagramm der fuumlr alle RCLs einheitlichen Funktionsgruppen von RCL-Server Interface und Experiment Pfeile zwischen den Funktionsgruppen geben Kommuni-kations- oder Abhaumlngigkeitsrichtungen an

7

Abb 4 Funktionsgruppen von RCL-Server Interface und Experiment eines RCLs

Lokal gesteuertes RCL Damit das Experiment fernbedienbar wird muss der Versuchsaufbau mit Sensoren (z B fuumlr Temperatur) Aktoren (z B Schrittmotor) oder anderen gesteuerten Geraumlten (z B Hochspannungsnetzgeraumlt in Abb 2) ausgestattet werden Das Interface besteht aus einer fuumlr alle RCLs identischen Basisschaltung und aus RCL-spezifischen Erweiterungsschal-tungen (rarr 212) fuumlr die Sensoren Aktoren und gesteuerten Geraumlte Wichtigster elektronischer Baustein der Basisschaltung ist ein programmierbarer Mikro-controller (rarr 211) zur Steuerung des Experiments Fuumlr die Programmentwicklung wird eine Entwicklungsumgebung auf dem RCL-Server oder alternativ auf anderen Computern verwendet (rarr 213) Die Programmuumlbertragung vom RCL-Server auf den Mikrocontroller erfolgt uumlber einen USB-ISP-Programmer und die ISP-Schnittstelle des Mikrocontrollers (rarr 213) Danach werden die in Abb 4 gestrichelt dargestellten Funktionsgruppen und Verbindungen nicht weiter benoumltigt und das RCL kann lokal uumlber ein Terminal (rarr 22) ge-steuert werden werden

Ferngesteuertes RCL Um auf das RCL weltweit zugreifen zu koumlnnen wird auf dem RCL-Server ein Webserver installiert und ein Internetzugang benoumltigt (rarr 31) Befehle von der Laborseite wie z B Parametereingaben werden von einem PHP-Programm interpretiert und uumlber die RS232-Schnittstelle (alternativ uumlber USB-Seriell-Adapter) des RCL-Servers an die RS232-Schnittstelle des Mikrocontrollers zur Ausfuumlhrung an das Experiment uumlbermittelt In umge-kehrter Richtung werden uumlber das PHP-Programm vom Mikrocontroller Zustaumlnde des Ex-periments oder Messergebnisse an die Laborseite uumlbermittelt (rarr 321) Zur Uumlbertragung von Videobildern einer oder mehrerer Webcams die visuelle Ruumlckmeldungen uumlber den Zustand des Experiments geben wird ein Videoserver eingesetzt (rarr 322) Der RCL-Server stellt Besuchern auszliger der dynamisch generierten Laborseite auch die statischen Webseiten der Standard-Lernumgebung (larr 11 Abb 2) des RCLs bereit (rarr 33)

8

12 Wahl der RCL-Technik Es existiert eine nur schwer im Detail zu uumlberblickende und zu beherrschende Vielzahl von Hard- und Softwaretechnologien (Interfaces und Programmiersprachen) um ein Experiment uumlber das Internet fernbedienbar zu machen Im Folgenden wird die Wahl der Technik von RCLs des RCL-Portals begruumlndet

Interface Zu Beginn des RCL-Projekts war es naheliegend auf vorhandene technische Loumlsungen zum Interface zuruumlckzugreifen Das RCL Elektronenbeugung wurde zunaumlchst mit dem Power-Cassy4 und dem Sensor-Cassy5 von Leybold zur Steuerung und Messung der Be-schleunigungsspannung betrieben Der heutige Preis fuumlr beide Komponenten zusammen liegt bei ungefaumlhr 1700 euro Ein Datenaustausch zwischen dem RCL-Server und dem Sen-sor-Cassy wurde uumlber das Common Gate Interface (CGI) realisiert Bei den nicht mehr existierenden Versionen der RCLs Beugung und Interferenz und Computertomographie wurde das Intelligent Interface6 von Fischertechnik eingesetzt Fuumlr 130 euro wurden 4 umpolbare kurzschlussfeste digitale Ausgaumlnge mit 025 A Dauerbelast-barkeit fuumlr Gleichstrommotoren Elektromagneten oder Lampen geboten Digitale Senso-ren wie z B Taster konnten an 8 digitale Eingaumlnge angeschlossen werden Fuumlr Potenti-ometer Temperatur- oder Helligkeitssensoren mit variablem Widerstand als Ausgangs-groumlszlige waren 2 analoge Eingaumlnge mit Eingangswiderstand zwischen 0 und 5 kΩ und einer Abtastrate von 50 Hz verfuumlgbar Programmiert werden konnte das Interface mit C++ Vi-sual Basic oder als Einstieg in die Technik des Programmierens mit der graphisch orien-tierten Programmiersprache LLWin Ein nutzerspezifisches im RAM des Interface gespei-chertes Programm ging ohne Spannungsversorgung verloren Die Nachteile dieser Interfaces wie zu hohe Kosten zu geringe Flexibilitaumlt beim Anschluss von Sensoren und Aktoren - insbesondere von Schrittmotoren - und zu geringe Messraten wurden erst durch das programmierbare Eigenbau-Interface (rarr 21) fuumlr ungefaumlhr 50 euro (rarr 41) und eine modular gestaltete an das jeweilige RCL anzupassende PHP-Basisprogrammierung (rarr 432) geloumlst Zur Programmierung des Interface wird ein USB-ISP-Programmer fuumlr ungefaumlhr 30 euro benoumltigt

Software fuumlr RCL-Server Mikrocontroller und Standard-Lernumgebung Tab 1 enthaumllt eine Uumlbersicht der Programme fuumlr den RCL-Server und einem weiteren Computer Die Links fuumlhren auf die Webseite zum Download des Programms und Preise sind angegeben Auf Installation und Konfiguration von Programmen wird in den einzel-nen Abschnitten des Tutorials eingegangen

4 Vgl LD Didactic Power-Cassy 5 Vgl LD Didactic Sensor-Cassy 6 Vgl Fischertechnik Intelligent Interface nicht mehr lieferbare Art-Nr 30402 bei Knobloch GmbH

9

Typ Hersteller Name und Version Preis

RC

L-Se

rver

Betriebssystem und Terminal

Microsoft Windows XP Professional mit Service Pack 3 Microsoft Hyperterminal in Windows XP Professional unter

StartProgrammeKommunikationHyperterminal asymp 20 euro

Webserver und PHP Apache Friends XAMPP 174 fuumlr Windows Installer-Version The PHP Group PHP 531 (enthalten in XAMPP 174)

-

Videoserver Moonware Studios webcamXP 5 Free (eine Videoquelle) Moonware Studios webcamXP 5 Private (bis zu 5 Videoquellen)

- 4495 euro

RCL-Software Technische Universitaumlt Kaiserslautern RCL-Ordner htdocs -

Fernwartung- und Desktop-Sharing TeamViewer GmbH TeamViewer 6 Vollversion -

Virenscanner Avira AntiVir Personal Webeditor Notepad++ team Notepad++ 59 -

Com

pute

r

Entwicklungsumgebungen fuumlr Mikrocontroller ATmega16

ATMEL AVR-Studio 418 - Sourceforge WinAVR - MCS Electronics BASCOM-AVR Demoversion (maximal 4 kB

Programmcode) MCS Electronics BASCOM-AVR Vollversion

-

89 euro MikroElektronika MikroPascal Pro for AVR asymp 140 euro

Webeditor Notepad++ team Notepad++ 59 Adobe Dreamweaver CS557

- asymp 115 euro

Fernwartung- und Desktop-Sharing TeamViewer GmbH Teamviewer 6 Vollversion -

Tab 1 Programme fuumlr den RCL-Server und fuumlr weiteren Computer zur Prgrammie-rung des Mikrocontrollers Webseitenerstellung und Fernwartung ( optio-nale Programme Links fuumlhren auf Webseite zum Download Stand Juni 2011)

Fuumlr den RCL-Server wird als stabiles Betriebssystem Windows XP Professional einge-setzt Microsoft vertreibt seit Dezember 2008 Windows XP nicht mehr Sicherheitspatches werden noch bis April 2014 bereitgestellt ein Bezug ist z B uumlber Ebay8 moumlglich Das Hy-perterminal-Programm zur Kommunikation mit dem Interface ist Teil von Windows XP Professional Vom Open-Source-Paket XAMPP wird der Apache Webserver und der PHP-Interpreter eingesetzt Da in der Regel bei RCLs zwei Webcambilder uumlber das Inter-net uumlbertragen werden muumlssen ist der Videoserver webcamXP 5 nicht kostenlos Im RCL-Ordner htdocs befindet sich die Basissoftware die noch an das zu realisierende RCL anzupassen ist Ein kostenloser Virenscanner wie z B Antivir Personal ist erfahrungsge-maumlszlig ausreichend Als Fernwartungssoftware fuumlr den RCL-Server wird Teamviewer emp-fohlen Es genuumlgt der Teamviewer Host weil vom RCL-Server kein Remote-Zugriff auf den Computer erfolgen muss Fuumlr kleinere Arbeiten an der RCL-Software oder der Stan-dard-Lernumgebung waumlhrend der Fernwartung sollte ein kostenloser Webeditor wie z B Notepad++ installiert werden Auf einem weiteren Computer kann zur Programmierung des Mikrocontroller eine Ent-wicklungsumgebung fuumlr folgende Programmiersprachen installiert werden Mit dem AVR-Studio kann in Assembler und nach der Installation von WinAVR in C bzw C++ program-miert werden Fuumlr Einsteiger wird eine Programmierung in Basic mit BASCOM-AVR emp-fohlen Falls der Programmcode groumlszliger als 4 kB ist muss die Vollversion erworben wer-

7 Vgl Adobe Dreamweaver CS55 8 Vgl Ebay Windows XP Professional

10

den Eine Programmierung in Pascal ist fuumlr ungefaumlhr 140 euro mit dem Pascal-Compiler von MikroElektronika moumlglich Mit Notepad++ steht ein kostenloser und guter Webeditor zum Erweitern der PHP-Basissoftware und zum Erstellen von Webseiten der Standard-Lernumgebung bereit Als professionellerer Editor kann z B Dreamweaver verwendet werden Fuumlr die Fernwartung des RCL-Servers muss auf dem zugreifenden Computer die Vollversion von Teamviewer installiert werden

Die gewaumlhlte Hard- und Software fuumlr RCLs bietet folgende Vorteile

Geringe Hard- und Softwarekosten Interface mit Erweiterungsschaltungen (asymp 70 euro) USB-ISP-Programmer (asymp 30 euro) AVR-Studio zur Programmierung in C (0 euro) Betriebssystem Windows XP Professional (asymp 20 euro) webcamXP 5 fuumlr ein Webcambild (0 euro) koumlnnen zusammen fuumlr 120 euro erworben werden Mit einem nicht mehr benoumltigtem aumllteren Computer Tastatur und Maus (0 euro) einem ausge-dientem Monitor (0 euro) einer einfachen USB-Webcam (asymp 20 euro) und der Positionierungsme-chanik eines nicht mehr benoumltigten aumllteren Scanners (0 euro) kann ein RCL schon ab 140 euro realisiert werden

Einfache Adaptierbarkeit des Interface und der PHP-Basissoftware an das Experiment Der Mikrocontroller des Interface kann frei programmiert werden Mit der Aufteilung der Schaltung des Interface in eine fuumlr alle RCLs gleiche Basisschaltung und RCL-spezifische Erweiterungsschaltungen (rarr 212) ist das Interface leicht an das Experiment anpassbar Durch die im Mikrocontroller integrierten Peripheriebausteine genuumlgen meist wenige Bau-elemente und die unterschiedlichsten Mess- und Steuergroumlszligen koumlnnen verarbeitet wer-den Die PHP-Basissoftware braucht nur um wenige Programmbloumlcke erweitert zu wer-den

Einfacher Zugang zu Ressourcen der RCL-Technik Die weite Verbreitung des Mikrocontrollers ATmega16 im Hobbybereich korrespondiert mit einem umfangreichen kostenlosen Informationsmaterial zur Hardware und Software des Mikrocontrollers im Internet In Tab 2 sind unter Mikrocontroller Links zu Datenblaumlt-tern Portalen und Foren mit praxisnahen Loumlsungen fuumlr Probleme der Mikrocontroller-Programmierung zusammengestellt Ein staumlrker strukturiertes Erlernen der Funktionen und Programmierung von AVR-Mikrocontrollern ist uumlber die genannten Tutorials im Inter-net und Buumlcher moumlglich

11

Ressource Kurzbeschreibung

Mik

roco

ntro

ller

Mikrocontroller mega16A Mikrocontroller ATmega16A Summary

Ausfuumlhrliches und zusammenfassendes Datenblatt des Mikrocon-trollers ATmega16

wwwmicrocontrollernet Portal fuumlr Mikrocontroller RoboterNETZ Portal fuumlr Robotik Mikrocontroller und Elektronik AVR-Tutorial Tutorial zur AVR-Familie auf microcontrollernet BASCOM-AVR Online-Hilfe zur Entwicklungsumgebung BASCOM-AVR myAVR Mikrocontrollerloumlsungen fuumlr Ausbildung und Selbststudium BASCOM-Forum Forum von MCS BASCOM RoboterNETZ-Forum Forum von RoboterNETZ myAVR-Forum Forum von myAVR AVR-Forum Forum von Atmel Roland Walter AVR Mikrocontroller Lehr-buch Buch zur Programmierung von AVR-Mikrocontrollern mit Basic

Guumlnter Schmitt Mikrocomputertechnik mit Controllern der Atmel AVR-RISC-Familie

Buch zur Programmierung von AVR-Mikrocontrollern in Assemb-ler und C

Claus Kuumlhnel Programmierung der AVR RISC Mikrocontroller mit BASCOM-AVR

Buch zur Programmierung von AVR-Mikrocontrollern in BAS-COM-AVR (Basic)

Frank Sichla Schaltungssammlung Mikro-controller und USB

Buch mit praktischen Anwendungsschaltungen und Einsatzmoumlg-lichkeiten von Mikrocontrollern

HTM

LPH

P

SELFHTML Portal zum Erstellen von Webseiten mit HTML SELTPHP Portal zum Programmieren von Webseiten mit PHP PHP Entwicklerseite von PHP Kleines Tutorial PHP-Tutorial PHP-Handbuch PHP-Handbuch

Elek

tron

ik

reichelt elektronik Elektronikversand Conrad Elektronikversand ELV Elektronik Elektronikversand Datasheet Catalogcom Datenbank fuumlr Datenblaumltter elektronischer Bauelemente Datasheet Archive Datenbank fuumlr Datenblaumltter elektronischer Bauelemente Pegelwandler Max232 fuumlr serielle Schnitt-stelle Datenblatt des ICs Max232 von Texas Instruments

Spannungsregler L7805 Datenblatt des ICs L7805 von STMicroelectronics Schrittmotormodul TMC222 Datenblatt des ICs TMC222 von Trinamic

Schr

ittm

otor

en

Minebea Hybrid Stepping Motors Datenblaumltter von 12 Hybrid-Schrittmotoren Trinamic Stepper Motors Datenblaumltter und Bezugsquellen von 6 Hybrid-Schrittmotoren reichelt elektronik Groszliges Angebot an Schrittmotoren Quality Motors Auf TMC-Module und -ICs abgestimmte Schrittmotoren Nanotec Schrittmotor-Animation Animation von unipolarem und bipolarem Schrittmotor

Nanotec Glossar Glossar mit Erklaumlrungen zu wichtigen Begriffen aus der Schrittmo-tor-Antriebstechnik

Erich Rummich Elektrische Schrittmoto-ren und -antriebe- Funktionsprinzip- Be-triebseigenschaften - Messtechnik

Buch zum Erwerb von Kenntnissen zum Aufbau und zur Funkti-onsweise von Schrittmotoren

Tab 2 Ressourcen zur Realisation eines RCLs

Die seit 1996 zunehmende Bedeutung der kostenlosen Skriptsprache PHP und das Wachstum des Internets korrespondieren mit einer Zunahme an kostenlosem Informati-onsmaterial zur PHPHTML-Programmierung Neben den unter PHPHTML in Tab 2 ge-nannten Ressourcen sind wegen des groszligen Marktes keine Buumlcher zu PHP genannt Die teuren und schnell veraltenden Buumlcher sollten in Bibliotheken geliehen werden Unter Elektronik sind in Tab 2 Links zum Versandhandel elektronischer Bauelemente zu Datenbanken mit Datenblaumlttern elektronischer Bauelemente und zu Datenblaumlttern der wichtigsten ICs des Interface zu finden Unter Schrittmotoren sind Links zu Schrittmotoren

12

wichtiger Anbieter zusammengestellt die uumlber den Elektronikhandel leicht bezogen wer-den koumlnnen Das Buch von Erich Rummich erklaumlrt Zusammenhaumlnge zwischen Bauform und Funktionsweise von Schrittmotoren die uumlber Informationen zu Schrittmotoren im Tu-torial (rarr 231) gegebenen Informationen hinausgehen

Programmierung des Mikrocontrollers in Basic Besonders die Moumlglichkeit der Programmierung des Mikrocontrollers in der Hochsprache Basic (larr 12 Tab 1 Bascom AVR) erleichtert den Einstieg in den Selbstbau von RCLs Daruumlber hinaus besteht analog zur PHP-Programmierung die Mikrocontroller-Programmierung aus einer an das jeweilige RCL lediglich anzupassenden Basispro-grammierung (rarr 431)

Betriebssystemunabhaumlngigkeit Das Interface kommt ohne betriebssystemspezische Treiber aus PHP und HTML sind be-triebsystemunabhaumlngige Sprachen Der Apache Webserver XAMPP ist auszliger fuumlr Windows fuumlr die Betriebssysteme Linux Mac OS X und Solaris9 erhaumlltlich

Wartung von Programmierung und Interface Aumlnderungen der PHPHTML-Programmierung koumlnnen leicht uumlber einen Fernzugriff auf den RCL-Server vorgenommen werden Da der PHPHTML-Quellcode im RCL-Betrieb stets in einer lauffaumlhigen Form vorliegt fuumlhren Wechsel von Personen die Zugriff auf die Programmierung haben nicht zu Ausfaumlllen des RCLs Aumlnderungen und Reparaturen an den Ergaumlnzungsschaltungen des Interface koumlnnen aufgrund des Lochrasteranteils der Platine (rarr 412) leicht durchgefuumlhrt werden

Zerstoumlrungssichere Versuchskomponenten Versuchskomponenten sind durch die Programmierung des Mikrocontrollers vor Fehlbe-dienungen des RCLs geschuumltzt Da der Mikrocontroller die Zulaumlssigkeit von Parameter-werten uumlberwacht ist kein Missbrauch des Experiments durch Dritte moumlglich Abstuumlrze des RCL-Servers fuumlhren nicht zu undefinierten Zustaumlnden des Experiments weil der Mik-rocontroller das Experiment steuert In der Lebensdauer staumlrker begrenzte Versuchskom-ponenten wie z B die Elektronenbeugungsroumlhre beim RCL Elektronenbeugung (larr 11 Abb 2) koumlnnen durch eine programmierte Standby-Funktion des Mikrocontrollers bei Nichtgebrauch ausgeschaltet werden

Keine Installation von Zusatzsoftware Besucher benoumltigen zum Experimentieren mit RCLs lediglich einen kostenlos verfuumlgbaren Webbrowser wie z B die auf Funktionsfaumlhigkeit fuumlr die RCLs getesteten Internet Explo-rer Opera Firefox Safari oder Konquerer mit aktivierter Javaskript-Funktion Es muss keine weitere Zusatzsoftware installiert werden

Eine alternative technische Loumlsung fuumlr RCLs ist LabVIEW (Laboratory Virtual Instrument En-gineering Workbench) von National Instruments (NI)10 LabVIEW ist eine sehr umfangreiche

9 Apache friends XAMPP

13

mittlerweile als Industriestandard geltende grafische Programmierumgebung zum Messen Steuern und Regeln von Systemen Uumlber umfangreiche Treiber-Bibliotheken lassen sich fast alle gaumlngigen mit einer entsprechenden Schnittstelle ausgestatteten Geraumlte in LabVIEW ein-binden LabVIEW wurde als technische Loumlsung im RCL-Projekt aus mehreren Gruumlnden nicht eingesetzt

Besucher muumlssen einmalig vor dem Experimentieren mit RCLs die LabVIEW Run-Time Engine11 installieren

Es existieren nur wenige Schulgeraumlte mit den erforderlichen Schnittstellen

Die Kosten von ungefaumlhr 1300 euro fuumlr die Basisversion und ungefaumlhr 2800 euro fuumlr die Vollver-sion sind zu hoch

LabVIEW ist fuumlr die zu entwickelnden RCLs bzw die Zielgruppe aus Schuumllern und Studie-rende uumlberdimensioniert Der Nachbau von RCLs durch interessierte Schuumller und Studie-rende waumlre aus Kosten und Anforderungsgruumlnden nur schwer moumlglich

Trotz der graphischen Programmieroberflaumlche von LabVIEW muumlssen im Programmcode immer noch Anpassungen in der speziell fuumlr LabVIEW entwickelten Programmiersprache G vorgenommen werden

Die Einarbeitung in LabVIEW ist vom Zeitaufwand und den Anforderungen her mindes-tens genauso hoch wie die fuumlr Mikrocontroller- und PHP-Programmierung

Eine mit fertigen LabVIEW-Elementen gestaltete Laborseite ist nicht unbedingt nutzer-freundlicher als eine mit PHPHTML erstellte Laborseite

2 Lokal gesteuertes RCL 21 Interface 211 Mikrocontroller Zentrales Bauelement des Interface ist ein ATMEL AVR 8-bit RISC Mikrocontroller ATme-ga16 Dieser enthaumllt im Vergleich zu einem Mikroprozessor auszliger dem Prozessor auch peri-phere Module wie z B Speicher digitale und analoge Ein- und Ausgaumlnge oder Timer fuumlr Zu-satzfunktionen Dadurch kommen Anwendungen von Mikrocontrollern wie z B RCLs meist mit wenigen zusaumltzlichen Bauelementen aus Tab 3 enthaumllt eine Uumlbersicht der wichtigsten Features des Mikrocontrollers zum Prozessor zur Programmierung und Datenspeicherung zu peripheren Modulen und erlaumlutert einige Fachbegriffe

10 Vgl National Instruments 11 Vgl National Instruments LabVIEW Run-Time Engine

14

Feature Erlaumluterung

Proz

esso

r

ATMEL AVR 8 bit RISC Mik-rocontroller ATmega16

ATMEL US-amerikanischer Hersteller von Mikrocontrollern AVR Familie von Mikrocontrollern 8 bit Breite des internen Datenbusses des Mikrocontrollers RISC steht fuumlr Reduced Instruction Set Computer (Rechner mit reduziertem Befehls-

satz) Designphilosophie von Mikrocontrollern mit Befehlssatz aus moumlglichst einfa-chen Befehlen und houmlherer Effizienz des Prozessors

ATmega Eine der Mikrocontroller-Serien von ATMEL 16 steht fuumlr 16 kB Flash-ROM Groumlszlige des Programmspeichers des Mikrocontrollers

131 Befehle mit 1-2 Taktzyk-lenBefehl

Die ATmega-Serie besitzt unter den Mikrocontroller-Serien von ATMEL den groumlszligten Befehlssatz Die meisten Befehle benoumltigen zur Ausfuumlhrung nur einen Taktzyklus

Variabel waumlhlbare Taktfre-quenzen bis zu 16 MHz

Ein externer Schwingquarz legt die Schwingungsfrequenz einer Oszillatorschaltung und damit die Taktfrequenz des Mikrocontrollers fest

Prog

ram

mie

rung

und

Dat

ensp

eich

erun

g

ISP uumlber SPI-Bus in 16 kB Flash-ROM Programm-Speicher

ISP steht fuumlr In System Programming Der Mikrocontroller kann ohne aus der Schal-tung entfernt zu werden programmiert werden Es wird kein teures Programmierge-raumlt sondern nur ein Programmieradapter benoumltigt

SPI steht fuumlr Serial Peripheral Interface (Serielles Peripheres Interface) Nach dem Master-Slave-Prinzip arbeitender synchroner serieller Datenbus zur Kommunikation zwischen digitalen Schaltungen

Flash-ROM Kann zur Speicherung des Programmcodes ca 1000-mal neu be-schriebengeloumlscht - geflashed - werden aber beliebig oft gelesen werden Daten bleiben auch ohne Versorgungsspannung erhalten

512 B EEPROM 1 kB internes SRAM

EEPROM steht fuumlr Electrically Erasable Programmable Read Only Memory (Elektrisch loumlschbarer und programmierbarer Nur-Lese-Speicher) Nichtfluumlchtiger Speicher der beliebig oft gelesen und mindestens 100000 mal beschrieben werden kann Kann z B zum Speichern von Messwerten und Konfigurationsdaten verwen-det und uumlber ISP programmiert werden

SRAM steht fuumlr Static Random Access Memory Fluumlchtiger Speicher der beliebig oft gelesen und beschrieben werden kann Wird z B zur Speicherung von Variablen und des Stacks verwendet

Perip

here

Mod

ule

32 programmierbare Ein- und Ausgaumlnge

Der Mikrocontroller ist 40-polig Davon koumlnnen 32 Pole entweder als Ein- oder Aus-gang programmiert werden

Zwei 8-bit- und ein 16-bit-Timer mit Vorteilern und Ver-gleichs-Modus

Die vom Quarzoszillator gesteuerten Timer erlauben z B praumlzise Zeitmessungen oder Interrupts bei bestimmten Zaumlhlerstaumlnden Die maximalen Zaumlhlerstaumlnde sind bei 8 bit 255 und bei 16 bit 1023 Vorteiler erlauben eine Verringerung der Zaumlhlrate

Programmierbare USART USART steht fuumlr Universal SynchronousAsynchronous Receiver Transmitter Seriel-

le Schnittstelle die zur Datenuumlbertragung zwischen Mikrocontroller und Computer benutzt wird

I2C Interface

I2C ist ein synchroner serieller Zweidraht-Bus mit einer Daten- und einer Taktleitung zur Kommunikation zwischen ICs Nach dem Master-Slave-Prinzip kann ein Master bis zu 128 Slaves ansprechen Die Uumlbertragungsrate liegt im Standard-Mode bei 100 kbits

Externe und interne Interrupts

Interrupts unterbrechen das Hauptprogramm des Mikrocontrollers um kurzfristige und zeitkritische Verarbeitungen durchzufuumlhren Externe Interrupts werden durch am Mikrocontroller angeschlossene Hardware gesteuert interne Interrupts durch die Programmierung des Mikrocontrollers

4 PWM-Ausgaumlnge PWM steht fuumlr Pulse Width Modulation (Pulsweitenmodulation) Timer stellen an 4

Ausgaumlngen Rechteckimpulse der Dauer t und Unterbrechungsdauer T-t mit variab-lem Tastverhaumlltnis tT zur Verfuumlgung

8 10-bit ADC

ADC steht fuumlr Analog to Digital Converter (AD-Wandler) Integrierte Schaltung die analoge Eingangsspannung Ue in digitale Ausgangsspannung (Zahl) umwandelt

10-bit Aufloumlsungsvermoumlgen des AD-Wandlers Kleinster aufloumlsbarer Spannungsun-terschied ist (Uemax - Uemin)210

Tab 3 Features des Mikrocontrollers ATmega16

15

212 Basisschaltung und Erweiterungsschaltungen Abb 5 zeigt am Beispiel des RCLs Elektronenbeugung die Platine des Interface mit den Funktionsgruppen 1 - 5 der Basisschaltung und den Funktionsgruppen 6 und 7 der Erweite-rungsschaltungen (larr 11 Abb 4)

Abb 5 Platine des Interface des RCLs Elektronenbeugung

Abb 6 zeigt den dazugehoumlrigen Schaltplan mit den Nummern der Funktionsgruppen und die Pinbelegung des Mikrocontrollers ATmega16

Abb 6 Schaltplan des Interface des RCLs Elektronenbeugung (links) und Pinbelegung

des Mikrocontrollers ATmega16 (rechts)

16

Basisschaltung Die Spannungsversorgung (1) des Interface erfolgt uumlber ein Universal-Steckernetzteil mit der Betriebsspannung Ub = 12 V Eine Diode SB140 schuumltzt die Elektronik des Interface vor falscher Polung der Spannungsversorgung Der Spannungsregler L7805 wandelt die Betriebsspannung am Hohlstecker in eine Gleichspannung von 5 V fuumlr die Spannungs-versorgung der elektronischen Bauelemente des Interface um Die Betriebsspannung kann im Interface auch direkt zur Ansteuerung von Relais oder zur Spannungsversorgung kleinerer Motoren verwendet werden Bei Bedarf kann unter Beachtung der Kuumlhlung des L7805 das Interface mit houmlheren Betriebsspannungen z B fuumlr staumlrkere Schrittmotoren betrieben werden Die nicht hinreichend stabile und temperaturabhaumlngige Frequenz des internen RC-Oszillators im Mikrocontroller (2) kann bei Verwendung der USART zu Problemen fuumlhren Daher wird ein externer 110592 MHz Schwingquarz (3) eingesetzt Der IC MAX232 ist ein Pegelwandler der die 0V+5 V-Signale der seriellen Schnittstelle (4) des Mikrocontrol-lers an die plusmn12 V-Signale der seriellen Schnittstelle des Computers anpasst Uumlber den ISP-Stecker kann der Mikrocontroller programmiert werden (5) Das Interface in der Ba-sisschaltung kann im Selbstbau angefertigt werden (rarr 41)

Erweiterungsschaltungen Nur die wenigsten Aktoren Sensoren gesteuerte Geraumlte und Bauelemente eines RCLs lassen sich direkt vom Mikrocontroller ansteuern Beim RCL Elektronenbeugung wird die Heizspannung der Elektronenkanone mit einem Relais zum Schalten der Netzspannung des Hochspannungsnetzgeraumltes ein- und ausgeschaltet (6) Liefert der Mikrocontroller am Port PA0 die Spannung 5 V (high) so wird die Kollektor-Emitter-Strecke des Transistors BC 337 niederohmig fast die gesamte Betriebsspannung Ub = 12 V faumlllt uumlber dem Relais ab und es flieszligt ein Strom durch das Relais Die Diode 1N4001 schuumltzt den Transistor vor Induktionsspannungsspitzen beim Ein- und Ausschalten der Spule im Relais Am Steuereingang des Hochspannungsnetzgeraumlts kann durch Anlegen einer Steuer-spannung US zwischen 0 V und 5 V die Beschleunigungsspannung der Elektronenkanone zwischen 0 und 43 kV im belasteten Zustand bei eingeschalteter Gluumlhkathode variiert werden Die analoge Steuerspannung US erzeugt ein 8-bit Digital-Analog-Wandler PCF8591 der uumlber den I2C-Bus des Mikrocontrollers (Ports PC0 und PC1) mit Binaumlr-codes zwischen 0 und 255 angesteuert wird (7) Die Ausgangsspannung des DA-Wandlers liegt in 256 Stufen zwischen 370 mV und 497 V Dieser Schaltung wurde der Vorzug gegenuumlber der Erzeugung einer Steuerspannung mit Hilfe eines der Pulsweiten-modulationsausgaumlnge des Mikrocontrollers gegeben weil der Programmieraufwand ge-ringer und die Steuerspannung keine Restwelligkeit aufweist

Eine Uumlbersicht zu Erweiterungsschaltungen fuumlr Sensoren und Aktoren (rarr 421) zeigt die Anpassungsfaumlhigkeit des Interface an die unterschiedlichsten Experimente

17

213 Programmierung des Mikrocontrollers Im Folgenden wird die Programmstruktur des Mikrocontroller-Programms und die Uumlbertra-gung des Programmcodes in den Mikrocontroller beschrieben

Programmstruktur Der Mikrocontroller ist mit einem Programm (Firmware) ausgestattet um die Aufgaben des Interfaces abzuarbeiten Hierzu zaumlhlen im Wesentlichen Programmteile zur Kommu-nikation mit dem RCL-Server und zur Steuerung des Experiments da das Interface eine Schnittstelle zwischen Experiment und RCL-Server darstellt Weitere Programmteile sind beispielsweise zur Initialisierung des Versuchsaufbaus und der Steuerparameter sowie zur Konfiguration des Interfaces realisiert Abb 7 zeigt ein Flussdiagramm der Programm-teile zur Kommunikation mit dem RCL-Server und zur Steuerung des Experiments

Abb 7 Flussdiagramm der Programmierung des Mikrocontrollers

Der Programmteil zur Kommunikation mit dem RCL-Server besteht im Wesentlichen aus einer Schleife die unablaumlssig auf Steuerzeichen des RCL-Servers wartet diese gegebe-nenfalls empfaumlngt und auswertet Soll mittels eines empfangenen Steuerzeichens der Versuchsaufbau angesteuert werden wird vom Kommunikations-Programmteil eine ent-sprechende Anweisung fuumlr den Steuerungs-Programmteil generiert In der Schleife wer-den auch Antworten wie z B Messergebnisse des Steuerungs-Programmteils entgegen-genommen und an den RCL-Server ausgegeben Der Kommunikations-Programmteil kann Kommandos mit und ohne Parameter entgegen-nehmen und verarbeiten So lassen sich einfache Befehle wie Start und Stopp eines Mo-tors aber auch speziellere Anweisungen wie Messe uumlber den Bereich von a nach b mit einer Schrittweite c ausfuumlhren Auch Messergebnisse oder Statusinformationen in Form einzelner Daten wie Zahlen oder Listen koumlnnen vom Kommunikations-Programmteil an den RCL-Server uumlbertragen werden Ferner uumlbernimmt der Kommunikations-Programmteil auch den Austausch von Konfigurationsdaten fuumlr das Interface beispiels-

18

weise Motorparameter oder Zeitvorgaben fuumlr eine Standby-Funktion Schlieszliglich gibt der Kommunikations-Programmteil auch Fehlermeldungen an den RCL-Server aus etwa bei einem Fehlerzustand im Experiment oder bei fehlerhaften Anweisungen des Besuchers bzw des RCL-Servers Im Programmteil zur Steuerung des Experiments erfolgt die Ansteuerung von Aktoren und das Auslesen von Sensoren mittels elektronischer Aus- und Eingaumlnge (Ports) des Mikro-controllers Gegebenenfalls sind zwischen den Ports des Mikrocontrollers und dem Expe-riment Erweiterungsschaltungen erforderlich (larr 212 Erweiterungsschaltungen) Der Steuerungs-Programmteil ist als Interrupt-Routine implementiert Interne Zeitgeber des Mikrocontrollers rufen den Programmteil zyklisch z B alle 1 oder 10 Millisekunden auf wobei die zuvor beschriebene Schleife des Kommunikations-Programmteils kurzzeitig fuumlr die Abarbeitung des Steuerungs-Programmteils unterbrochen wird Hierdurch wird die Steuerung als Real-Time-Prozess12 ausgefuumlhrt und es koumlnnen insbesondere zeitkritische Steueraufgaben mit einer Aufloumlsung von ungefaumlhr 1 - 10 ms zuverlaumlssig erledigt werden Ferner ist im Mikrocontroller und dem Programm ein sogenannter Watchdog installiert der das Programm bei einem Programmabsturz automatisch neu startet Der Watchdog als elektronische Baugruppe im Mikrocontroller fuumlhrt einen Neustart des Mikrocontrollers (Reset) durch sofern er nicht mehr uumlber das Programm in vorgegebenen Zeitintervallen angesteuert wird Je nach RCL gibt es noch weitere Interrupt-Routinen die unabhaumlngig vom Zeittakt des Mikrocontrollers auf externe Ereignisse wie z B Ausgangsspannungsaumlnderungen eines Sensors reagieren Damit kann besonders schnell auf Erfordernisse des Experiments re-agiert oder es koumlnnen Zeitmessungen mit einer Genauigkeit von ungefaumlhr 10-6 s durchge-fuumlhrt werden Im Anhang (rarr 431) ist der Pascal-Quellcode fuumlr den Mikrocontroller des RCLs Elektronenbeugung verfuumlgbar

Programmuumlbertragung Nach der Kompilierung des Assembler- Basic- C+- C++- oder Pascal-Programms liegt eine Hexadezimaldatei vor die vom Computer in den Mikrocontroller uumlbertragen werden muss (Flashen des Programms) Zur Programmuumlbertragung muss das AVR-Studio instal-liert und konfiguriert sein (rarr 441) Abb 8 zeigt wie die Programmuumlbertragung durchge-fuumlhrt wird

12 Real-Time bedeutet hier dass die maximale Dauer eines Vorgangs vorhersehbar und gewaumlhrleistet ist dass eine Steuer-

aufgabe nach einer vorhersehbaren Zeit abgeschlossen ist

19

Abb 8 Programmuumlbertragung zwischen Computer und Mikrocontroller im Inter-

face des RCLs Elektronenbeugung uumlber USB-Seriell-Adapter und ISP-Programmer

Das Interface braucht nicht mit dem Experiment verbunden zu sein Auch Erweiterungs-schaltungen innerhalb oder auszligerhalb des Interface muumlssen nicht mit dem Mikrocontroller verbunden sein Das Interface ermoumlglicht uumlber die ISP-Schnittstelle die Programmierung mit einem preisguumlnstigen ISP-Programmer ohne ein teureres Experimentierboard13 Zur Uumlbertragung des Programms muss in folgenden Schritten vorgegangen werden

(1) Spannungsversorgung des Interface zur Sicherheit unterbrechen weil beim Verbinden mehrpoliger Steckerverbindungen es zu Kurzschluumlssen kommen kann

(2) 10-poligen ISP-Stecker des ISP-Programmers an die ISP-Schnittstelle des Interface anschlieszligen

(3) ISP-Programmer an die serielle Schnittstelle oder uumlber USB-Seriell-Adapter an die USB-Schnittstelle des Computers anschlieszligen

(4) Spannungsversorgung des Interface wieder herstellen

(5) AVR-Studio unter StartProgramme aufrufen und nach Abb 9 in der Registerkarte Program unter Flash die zu uumlbertragende Hexadezimal-Datei z B Elektronenbeu-gunghex auf der Festplatte auswaumlhlen und Program waumlhlen

13 Vgl ATMEL STK 500 Entwicklerkit bei Reichelt Elektronik

20

Abb 9 Uumlbertragung der Hexadezimaldatei Elekt-

ronenbeugunghex in den Mikrocontroller

(6) Spannungsversorgung des Interface unterbrechen ISP-Programmer vom Interface trennen AVR-Studio beenden und den ISP-Programmer vom Computer trennen

22 Hyperterminal Nach der Programmuumlbertragung kann das Experiment uumlber das konfigurierte Hyperterminal (rarr 454) lokal gesteuert werden Mit dem Hyperterminal koumlnnen als Text eingegebene Be-fehle oder Abfragen an den Mikrocontroller gesendet oder von diesem empfangen werden Der Computer muss wie bei der Programmuumlbertragung mit dem Interface per Null-Modem-Kabel uumlber die serielle Schnittstelle oder einen USB-Seriell-Adapter verbunden sein Das In-terface muss an die Versorgungsspannung anschlossen sein braucht aber nicht mit dem Experiment verbunden zu sein Abb 10 zeigt nach Eingabe von und von param im Hyper-terminal die Befehlsliste des Mikrocontrollers fuumlr das RCL Elektronenbeugung

21

Abb 10 Befehlsliste des Mikrocontrollers im Hyperterminal fuumlr das RCL Elektronenbeugung

Tab 4 gibt Erlaumluterungen zur Befehlsliste

BefehlAbfrage Erlaumluterung

DA x Am Eingang des DA-Wandlers wird die Zahl x (0 - 255) im Binaumlrcode

angelegt und die Ausgangsspannung des Hochspannungsnetzgeraumlts bzw die Beschleunigungsspannung der Elektronenkanone eingestellt

OnOff Hochspannungsnetzgeraumlt und Gluumlhkathode der Elektronenkanone ein-

oder ausschalten Beim Einschalten wird die Steuerspannung des Inter-face am Hochspannungsnetzgeraumlt auf asymp 0 V einstellt

Standby Ausgabe der eingestellten Standbyzeit von 300 s setSB x Standbyzeit einstellen

next Standby in Ausgabe der verbleibenden Standbyzeit (254 s) bis das Experiment

ausgeschaltet wird Eine negative Standbyzeit gibt die Zeit seit dem Ab-lauf der Standbyzeit an

Power On Delay Ausgabe der Verzoumlgerungszeit (2 s) bis das Hochspannungsnetzge-

raumltElektronenbeugungsroumlhre nach dem Ausschalten oder nach Ablauf der Standbyzeit erneut eingeschaltet werden kann

setPOD x Verzoumlgerungszeit einstellen

power on enabled in Ausgabe wie lange Hochspannungsnetzgeraumlt nicht eingeschaltet wer-

den kann Zeiten unter 0 bedeuten dass Power-On-Delay-Zeit ablaufen ist

Tab 4 Erlaumluterung der Befehle in Abb 10

23 Positionieren von Objekten In fast allen RCLs des RCL-Portals auszliger den RCLs Elektronenbeugung und Oszilloskop muumlssen Objekte rotatorisch oder translatorisch positioniert werden Eingesetzt werden Hyb-rid-Schrittmotoren als Aktoren eine Schrittmotorsteuerung von Trinamic als Erweiterungs-schaltung (TMC222-Modul) die Positionierungseinheit ausgedienter Flachbrett-Scanner und ein Referenz-Taster als Sensor

231 Hybrid-Schrittmotoren Abb 11 zeigt den vereinfachten schematischen Aufbau eines zweiphasigen Schrittmotors mit getrennten magnetischen Kreisen des Stators und einem permanent magnetisierten zweipoligen Rotor (Polpaarzahl 1)

22

Abb 11 Funktionsprinzip von Schrittmotoren Unipolare (links) und bipolare Schaltung (rechts)

von Schrittmotoren mit Bestromungstabellen fuumlr Voll- und Halbschrittbetrieb Darge-stellt ist der Schritt 0

Der Rotor verfuumlgt bei der dargestellten Polreihenfolge S-S-N-N des Stators uumlber eine stabile Stellung bei einer hypothetischen (magnetische Monopole) Polreihenfolge N-S-N-S gaumlbe es mit diesem Aufbau des Stators nur instabile Stellungen des Rotors Um den Rotor in Bewe-gung zu setzen muss die Polreihenfolge S-S-N-N im oder entgegen den Uhrzeigersinn (Rechts- oder Linksdrehung) weitergeschaltet und der Rotor vom magnetischen Schrittfeld mitgenommen werden

Die magnetische Polaritaumlt eines magnetischen Kreises laumlsst sich entweder durch zwei Spu-len konstanter elektrischer Polaritaumlt mit unterschiedlichem Wicklungssinn (herstellungstech-nisch zu aufwendig) durch eine Spule mit Mittelanzapfung und konstanter elektrischer Pola-ritaumlt der beiden Teilspulen (unipolare Schaltung) oder durch eine Spule mit wechselnder elektrischer Polaritaumlt (bipolare Schaltung) realisieren In Abb 11 sind dazu die elektrischen Beschaltungen und die Bestromungstabellen fuumlr eine Rechtsdrehung des Rotors dargestellt Fuumlr eine Linksdrehung des Rotors muss die Schrittfolge in umgekehrter Reihenfolge durch-laufen werden

Es wird zwischen Vollschrittbetrieb (graue Zeilen der Tabellen) mit Schrittwinkel 90deg bzw Schrittzahl 4 und Halbschrittbetrieb (alle Zeilen der Tabellen) mit Schrittwinkel 45deg bzw Schrittzahl 8 unterschieden Beim Vollschrittbetrieb werden immer beide magnetische Kreise bestromt und die N-S-Polachse des Rotors nimmt nur Stellungen zwischen den Statorpolen

23

an Beim Halbschrittbetrieb wird zwischen den Vollschritten nur einer der magnetischen Krei-se bestromt und die N-S-Polachse des Rotors kann zusaumltzlich 4 Stellungen in Richtung der Statorpole einnehmen Der Hybrid-Schrittmotor ist die am haumlufigsten vertretene Bauform von Schrittmotoren Abb 12 zeigt den Aufbau eines Hybrid-Schrittmotors

Abb 12 Aufbau eines Hybrid-Schrittmotors fuumlr unipolare und

bipolare Schaltung Daten Schrittwinkel 18deg max Drehmoment 155 Ncm

Der Stator besteht aus zwei Straumlngen mit je 4 in Reihe geschalteten Spulen Der Wick-lungssinn der Spulen ist in beiden Straumlngen so dass sich die Polfolge N-S-N-S uumlber den Umfang ergibt Beide Straumlnge zusammen ergeben unabhaumlngig von der Stromrichtung ei-ne Polfolge N-N-S-S-N-N-S-S uumlber den Umfang Ein zweipoliger Rotor (Polpaarzahl 1) kann im Vollschrittbetrieb 4 Stellungen annehmen Der Rotor des Hybridschrittmotors be-steht aber aus axial magnetisierten Permanentmagneten deren Polpaarzahl durch axial versetzte weichmagnetische Zahnscheiben auf 50 erhoumlht wurde Dadurch erhoumlht sich die Schrittzahl auf 4 sdot 50 = 200 und der Schrittwinkel verkleinert sich auf 360deg200 = 18deg Um stabile Rotorstellungen zu erhalten muumlssen die Statorsegmente ebenfalls gezahnt ausge-fuumlhrt werden

Ein solcher Hybrid-Schrittmotor vereint die Vorteile des Reluktanz- und des permanenter-regten Schrittmotors Ein kleiner Schrittwinkel wird durch das von Reluktanzschrittmotoren bekannte Prinzip der Erzeugung einer Vielzahl von Polen des Rotors durch Zahnscheiben erzielt Ein hohes Drehmoment wird durch das von permanenterregten Schrittmotoren be-kannte Prinzip der Ausfuumlhrung des Rotors als Permanentmagnet erzielt Aufgrund der bi-filaren Wicklung besteht jede Statorwicklung aus zwei Teilspulen und der Schrittmotor kann in unipolarer (alle 6 Anschluumlsse verwendet) und bipolarer Schaltung (nur 4 An-schluumlsse verwendet gemeinsamer Anschluss der Teilspulen bleibt unverwendet) wie in Abb 12 dargestellt verwendet werden

24

Schrittmotoren erlauben nicht nur das Bewegen sondern innerhalb der Leistungsgrenzen (keine Schrittverluste) auch ein genaues Positionieren von Objekten Bei bekannter Schrittzahl auf einer gemessenen Strecke oder Schrittzahl fuumlr den Vollwinkel koumlnnen aus-gehend von einer Referenzstellung Objekte translatorisch oder rotatorisch positioniert werden

232 Schrittmotorsteuerung und Positionierungsmechanik Im Folgenden wird die bei allen RCLs mit Schrittmotoren eingesetzte Schrittmotorsteuerung die Mechanik zur translatorischen Positionierung von Objekten und die Funktionsweise eines Referenztasters beschrieben

Schrittmotorsteuerung Abb 13 zeigt das Blockschaltbild und das im Selbstbau herstellbare TMC222-Modul (rarr 4221 rarr 4222) mit dem IC TMC222 von Trinamic zur Steuerung bipolarer 2-phasiger Hybrid-Schrittmotoren

Abb 13 Blockschaltbild (links) und Platine des TMC222-Moduls (rechts) mit IC TMC 222 auf

der Loumltseite der Platine

Der IC TMC222 enthaumllt ein I2C-Interface zum Anschluss an den I2C-Bus des Mikrocon-trollers (Ports PC0 und PC1) Die 10 kΩ-Pull-up-Widerstaumlnde heben die Takt- (SCL clock) und Datenleitung (SDA data) auf ein Potential von 5 V Der IC TMC222 enthaumllt ei-nen Motortreiber fuumlr Spulenstroumlme bis zu 800 mA und einen Motor-Controller zur Steue-rung der Spulenstroumlme Ein Vorteil des TMC-Moduls ist der relativ geringe Programmier-aufwand fuumlr den Mikrocontroller (rarr 4223) da der IC TMC222 nach Uumlbergabe der Steu-erungsparameter (Drehrichtung Drehzahl hellip) vom Mikrocontroller die Ansteuerung des Schrittmotors uumlbernimmt Der IC TMC222 unterstuumltzt das Beschleunigen und Abbremsen des Schrittmotors enthaumllt einen Schrittpositionszaumlhler und unterstuumltzt Mikrostepping (va-riable Spulenstroumlme zur elektronischen Verkleinerung des Schrittwinkels und groumlszligerer Laufruhe)

25

Falls in RCLs Gleichstrommotoren mit houmlheren Drehzahlen als Schrittmotoren benoumltigt werden kann eine andere Erweiterungsschaltung (rarr 424) eingesetzt werden

Positionierungsmechanik und Referenz-Taster Die Mechanik zur rotatorischen Positionierung von Objekten kann meist kostenguumlnstig selbst oder durch Personal in einer Werkstatt angefertigt werden Abb 14 zeigt eine kos-tenguumlnstige Loumlsung zur translatorischen Positionierung von Objekten

Abb 14 Positionierungseinheit eines Flachbrett-

Scanners Schrittmotor (1) Getriebe (2) Li-nearfuumlhrung (3) Antriebsriemen (4) und er-gaumlnzter Referenz-Taster (5)

Falls der geometrische Aufbau und die geforderte Positionierungsgenauigkeit des RCLs es zulassen kann die Schrittmotor-Positionierungs-Einheit ausgedienter Flachbrett-Scanner zur translatorischen Positionierung von Objekten verwendet werden In Einzelfaumll-len wie dem RCL Weltpendel kann die Positionierungsmechanik auch selbst angefertigt werden Der Referenz-Taster in Abb 14 wird eingesetzt um abzufragen ob ein vom Schrittmotor bewegtes Objekt die Position des Tasters erreicht hat und um diese Position zu referenzieren Ohne eine solche Referenzierung kann die Positionierung eines Objekts langfristig ungenau werden So kann z B beim RCL Weltpendel das Auftreffen der Kugel auf den Magneten zum Uumlberspringen von Schrittmotorstellungen fuumlhren Der Zustand des Referenz-Tasters in Abb 15 wird z B uumlber den Port PA0 des Mikrocontrollers abgefragt

Abb 15 Referenz-Taster zum referenzieren der

Position des bewegten Objekts

26

Zu Problemen koumlnnen undefinierte Zustaumlnde der Eingaumlnge des Mikrocontrollers fuumlhren wie sie beim Prellen dem zeitlich begrenzten schwingen eines Tasters beim Oumlffnen oder Schlieszligen entstehen Abhilfe schafft ein passend dimensionierter parallel zum Taster ge-schalteter Kondensator Bei geoumlffnetem Taster ist der Kondensator aufgeladen Beim Schlieszligen haumllt der Kondensator die Spannung uumlber die Schwingphase trotz kurzzeitig wieder geoumlffnetem Schalter noch aufrecht Analoges gilt fuumlr den Uumlbergang vom geschlos-senen zum geoumlffneten Taster

3 Ferngesteuertes RCL 31 RCL-Server Fuumlr den Betrieb eines RCLs wird ein RCL-Server benoumltigt (larr 11) Vorausgesetzt wird dass bei einem neuen Computer alle notwendigen Treiber (Ethernet Video Audio hellip) zum Be-trieb der Hardware des Computers und Windows XP Professional mit Service Pack 3 instal-liert sind Ein Benutzerkonto braucht nicht angelegt zu werden

Der RCL-Server benoumltigt einen Internetzugang mit statischer IP-Adresse und Uploaddatenra-te von mindestens 200 kbits (DSL 2000) fuumlr die fluumlssige Wiedergabe von Bewegungen in Webcambildern Die statische IP-Adresse wird von der Institution am Standort des RCLs vergeben oder kann von Privatpersonen bei einem Provider beantragt werden Mit folgenden Schritten wird der RCL-Server eingerichtet

Internetzugang einrichten (rarr 451) und im Browser testen

Checken ob die Windows Firewall aktiviert ist

Virenschutzproramm Avira Antivir Personal herunterladen (larr Tab 1) installieren und ak-tualisieren

Uumlber Windows Update alle Updates von Windows XP Professional installieren

Fernwartungssoftware TeamViewer 6 Vollversion (larr Tab 1) herunterladen und auf dem RCL-Server und dem eigenen Computer installieren (rarr 455)

Webeditor Notepad++ herunterladen installieren und aktualisieren (larr Tab 1)

Videoserver WebcamXP 5 herunterladen und installieren (rarr 453)

Paket XAMPP herunterladen und installieren (rarr 452) Verknuumlpfungen mit den Dateien xampphtdocsapache_startbat und xampphtdocsapache_stopbat auf dem Desktop oder in der Schnellstartleiste erstellen und Webserver mit erstgenannter Verknuumlpfung starten Webserver durch Eingabe von 127001 oder localhost ins Adressfeld des Brow-sers testen Bei erfolgreichem Test werden die im Ordner xampphtdocs abgelegten Webseiten von XAMPP dargestellt Statische IP-Adresse des RCL-Servers im Browser eines anderen Computers mit Internetzugang eingegeben Bei erfolgreichem Test werden die Webseiten von XAMPP dargestellt In der Datei xamppphpphpini unter Resource Limits die max_execution_time mit dem Windows-Editor von 60 auf 300 erhoumlhen und die

27

Datei speichern damit PHP bei Befehlen mit laumlngerer Ausfuumlhrungsdauer keine Fehler-meldung liefert

Ordner xampphtdocs mit den Webseiten von XAMPP in xampphtdocs_xampp um-benennen und fuumlr spaumltere Testzwecke nicht loumlschen RCL-Ordner htdocs herunterladen (larr Tab 1) extrahieren und in das Verzeichnis xampp verschieben

Abb 16 zeigt die Struktur des RCL-Ordners htdocs

Abb 16 Struktur des RCL-Ordners htdocs RCL-spezifisch anzupassende Dateien sind grau

hinterlegt

Der geoumlffnete Ordner Labor enthaumllt alle PHP- und HTML-Dateien bzw Programmierungen fuumlr die Funktionalitaumlt des Bedienfelds der Laborseite (larr 11 Abb 3) An das RCL anzupas-sen sind die portalsprachenunabhaumlngigen Dateien configphp und experimentphp sowie fuumlr jede Portalsprache die Dateien defaultconf und experimenttpl in den Ordnern eng fra ger und ita

Datei configphp Zeit bis zum automatischen Logout beim Experimentieren mit dem RCL eintragen

Datei experimentphp PHP-Basisprogrammierung um die RCL-spezifische PHP-Programmierung erweitern (rarr 432)

Datei defaultconf Name des RCLs (z B Elektronenbeugung) in jeder Portalsprache ein-getragen

Datei experimenttpl HTML-Basisprogrammierung um RCL-spezifische Ein- und Ausga-befelder erweitern (rarr 433)

28

32 Laborseite 321 Steuerung des RCLs uumlber das Bedienfeld Das Bedienfeld der Laborseite (larr 11 Abb 3) wird von der Dateien indexphp und experi-menttpl erzeugt Befehle wie das Anklicken von Buttons Eingaben und Auswahl aus Listen werden in ein HTML-Formular mit Formularfeldern in der Datei experimenttpl geschrieben Die Daten werden von der PHP-Datei experimentphp ausgewertet und uumlber die serielle Schnittstelle dem Mikrocontroller-Programm zur Steuerung des Experiments uumlbergeben Die Dateien experimentphp und experimenttpl wurden getrennt angelegt um Code und Design zu trennen und nur das Design in der Datei experimenttpl an die Portalsprache anpasst werden muss

Tab 5 enthaumllt Ausschnitte der HTML-Datei experimenttpl (rarr 433) der Datei experi-mentphp (rarr 432) und des Mikrocontroller-Programms (rarr 431) fuumlr das RCL Elektronen-beugung

29

Code mit Erlaumluterung

expe

rimen

ttpl

1821 Tag ltformgtltformgt definiert ein Formular 18 Attribut action legt fest dass Formulardaten in der Datei indexphp verarbeitet werden Uumlbertragen

werden eine Session-ID ($sid) um exklusiven Zugriff des jeweilgen Besuchers zu sichern und ($portal) um die vom Besucher gewaumlhlte Sprache beizubehalten post ist eine Uumlbertragungsmethode zwischen Browser und Webserver und gibt die die vom Besucher gewaumlhlte Aktion zum Ansteuern des Experiments an die Datei experimenttpl weiter

20 Erzeugt im Bedienfeld den Sendebutton (submit) mit der Aufschrift Elektronenroumlhre einschalten (valu-e)

19 Unsichtbares Feld (hidden) mit Variablennamen action und Wert RoumlhreAn Der Variablenname ac-tion stimmt nur zufaumlllig mit action in Zeile 18 uumlberein

expe

rimen

tphp

24 Die Funktion wird als Eventhaumlndler bezeichnet weil je nach uumlbergebener Aktion - siehe Zeile 19 in experi-

menttpl - die entsprechenden Anweisungen (case) ausgefuumlhrt werden 37 Fuumlr den Fall dass die Variable $action den Wert RoumlhreAn hat wird die Funktion power_on() aufgeru-

fen

59 Schreibt in die Logdatei logtxt den Text RoumlhreAn 6061 Oumlffnet den in der Datei configphp zentral gespeicherten Com-Port an den das Interface angeschlossen ist

oder gibt Fehlermeldung Can not access file system im Bedienfeld aus falls der Com-Port sich nicht oumlff-nen laumlsst

62 Sendet die Zeichenfolge On und chr(13) (entspricht der Betaumltigung der Return-Taste im Hyperterminal) an den Mikrocontroller

63 Schlieszligt serielle Schnittstelle

Que

llcod

e M

ikro

cont

rolle

r

166 Wird uumlber die serielle Schnittstelle der Befehl on empfangen und ist das Einschalten zulaumlssig (Zeiten fuumlr

PowerOnDelay und Standby abgelaufen) dann hellip 167 Hochspannungsnetzgeraumlt einschalten 168 Der DA-Wandler PCF8591 wird unter seiner Adresse PCF8591 = 01001000 angesprochen Parameterein-

stellungen mit 01000000 und Ausgangsspannung auf 0 V einstellen 169 Setzt Standby auf vorgegebene Standbyzeit zuruumlck 171 Gibt Meldung aus wie lange PowerOnDelay noch dauert

Tab 5 Uumlbertragung des Befehls Elektronenroumlhre einschalten vom Bedienfeld zum Experi-ment

30

Anhand der Erlaumluterungen der Programmcodes koumlnnen die Ablaumlufe zwischen dem Druumlcken des Buttons Elektronenroumlhre einschalten und dem Einschalten der Elektronenbeugungs-roumlhre oder der Eingabe einer Beschleunigungsspannung und dem Anlegen einer Beschleu-nigungsspannung verfolgt werden Uumlber das Bedienfeld koumlnnen nur die von der Datei expe-rimenttpl bereitgestellten Befehle on und da der insgesamt implementierten Befehle (rarr 22 Abb 10) aufgerufen werden

322 Videouumlbertragung im Webcamfeld Zur Aufnahme von Livebildern des Experiments koumlnnen USB-Webcams und IP-Kameras (Netzwerkkameras) eingesetzt werden Teurere IP-Kameras muumlssen eingesetzt werden wenn die Kamera wie z B beim RCL Roboter im Labyrinth zu weit vom Computer entfernt ist oder eine besonders lichtempfindliche Kamera aus der Uumlberwachungstechnik wie z B beim RCL Millikan-Versuch benoumltigt wird W-LAN-Kameras kommen zum Einsatz wenn Bil-der von einem beweglichen Objekt aus wie z B beim RCL Roboter im Labyrinth uumlbertra-gen werden sollen

Das Videoserverprogramm webcamXP 5 erkennt beim Aufrufen automatisch an den RCL-Server angeschlossenen USB-Webcams Vor dem Kauf einer IP-Kamera ist zu pruumlfen ob das Modell unterstuumltzt wird14 IP-Kameras muumlssen im Kontextmenuuml der Videoquelle konfigu-riert werden Abb 17 zeigt das Webcambild einer USB-Webcam vom Szintillationsschirm der Elektronenbeugungsroumlhre

Abb 17 Webcambild des Szintillationsschirms der Elektro-

nenbeugungsroumlhre einer USB-Webcam in webcamXP 5 beim RCL Elektronenbeugung

14 Vgl Moonware Studios webcamXP IP-cameras for webcamXP

31

Zum Einbinden des Webcambilds in die Laborseite des RCLs wird die laborsprachenabhaumln-gige Datei videohtm (rarr 434) in den Ordnern eng fra ger und ita verwendet Standardmauml-szligig werden zwei Webcambilder und Screenshots unterstuumltzt der Code fuumlr weitere Webcam-bilder kann durch copy and paste hinzugefuumlgt werden

Unter den Technologien Java Javaskript Flash und Windows Media fuumlr die Wiedergabe ei-nes Livestreams auf eine Webseite wurde Javaskript gewaumlhlt weil die anderen Technologien die Installation des Java Runtime Environments (JRE) des Flash- oder Windows Media Players durch den Besucher eines RCLs voraussetzen Die Wiedergabe des Livestreams mit einem Java-Applet startet zudem erst verzoumlgert nachdem das Applet geladen ist und verfuumlgt uumlber eine zu geringe Wiedergabegeschwindigkeit

33 Standard-Lernumgebung Bestandteil der Entwicklung eines RCLs ist die Erstellung einer Standard-Lernumgebung zum RCL Abb 18 zeigt exemplarisch fuumlr die deutschen Webseiten im Ordner ger das Menuuml (larr 11 Abb 3) und die Dateistruktur der Standard-Lernumgebung

Abb 18 Deutschsprachiges Menuuml und Dateistruktur der Standard-Lernumgebung

RCL-spezifisch anzupassende Dateien sind grau hinterlegt

Die englischen Dateinamen introductionhtm setuphtm hellip im Ordner ger korrespondieren mit den deutschen Menuumlpunkten Wird das RCL unter dem Menuumlpunkt RCLs des RCL-Portals aufgerufen dann ruft die Frameset-Datei indexhtm die Dateien menuumlhtm und intro-ductionhtm auf und das Menuuml wird zusammen mit der Webseite Einstieg dargestellt Die Wahl weiterer Menuumlpunkte ruft jeweils die korrespondiere Datei im Ordner auf Bei Wahl des Menuumlpunkts Labor werden mit der Frameset-Datei laboratoryhtm die Dateien videohtm fuumlr das Webcamfeld und die Datei laborindexphp fuumlr das Bedienfeld aufgerufen

32

Im Ordner docsmaterial werden alle Dokumente fuumlr die Webseite Material im Ordner docsothers die Dokumente anderer Webseiten abgelegt Im Ordner docsoriginals sind die Originale von Dokumenten wie z B Word-Dateien und der verwendeten Bilder abgelegt Grafikdateien der Webseiten Einstieg hellip Auswertung hellip Betreuung werden in gleichnami-gen Ordnern wie z B imagesanalysis abgelegt Bei sprachenunabhaumlngigen Grafikdateien wird unter dem Dateinamen abbx bei sprachenabhaumlngigen unter dem Dateinamen abbx_lan mit lan = eng fra ger und ita gespeichert Analoges gilt fuumlr die als gif-Grafiken forxgif oder forx_langif zu speichernden Formeln Originale von Bildern werden im Ordner imagesoriginals abgelegt Die Webseite zur Datei htdocsindexhtm enthaumllt zum lokalen Aufrufen der Standard-Lernumgebung Links zu den vier Index-Dateien in den Ordnern eng fra ger und ita Die Stylesheet-Datei htdocsrcl_stylecss enthaumllt die Styles der Webseiten

In der Regel werden Standard-Lernumgebungen der RCLs des RCL-Portals von verschiede-nen Personen erstellt Fehlende Gestaltungs- und Formatierungsregeln fuumlhren zu einem un-einheitlichen inattraktivem Erscheinungsbild des RCL-Portals Tab 6 gibt einen Uumlberblick der wichtigsten Gestaltungs- und Formatierungsregeln

Element Richtlinien

Gliederung

Die Webseiten Einstieg Aufbau Aufgaben Diskussion Material und Support enthalten vorgegebene Gliederungspunkte teilweise mit ausgefuumlhrten Uumlberschriften

Die umfangreicheren Webseiten Theorie und Auswertung enthalten ein Inhaltsverzeichnis mit internen Links zu Gliederungspunkten Zwischen Punkten der ersten Gliederungsebene (1 2 hellip) ist ein zwei-zeiliger Abstand (ltpgtampnbspltpgtltpgtampnbspltpgt) zwischen Punkten der zweiten (11 12 hellip) und Punkten der nur falls unbedingt notwendig dritten 111 112 hellip) Gliederungsebene ein einzeiliger Abstand zu waumlhlen Nach Abbildungen und Tabellen folgt ein einzeiliger Abstand zum nachfolgenden Text

Links Keine internen Links zwischen den Webseiten der Lernumgebung Externe Links werden prinzipiell in einem neuen Browserfenster geoumlffnet (blank)

Abbildung

Alle Abbildungen erhalten fortlaufend beginnend mit 1 nummerierte Abbildungsunterschriften der Form Abb x hellip

Abbildungen sind moumlglichst spachenunabhaumlngig d h ohne Texte in der Abbildung zu erstellen Zur Beschriftung koumlnnen z B Zahlen verwendet werden die in der Abbildungsunterschrift oder im Text er-laumlutert werden

Tabellen Tabellen werden in jeder Webseite fortlaufend beginnend mit 1 nummeriert Tabellen sind zu zentrieren Rahmenstaumlrke 1

Formeln

Formeln sind nicht als Textzeichen oder Grafik im laufenden Text einzufuumlgen sondern stets zentriert in einer eigenen Zeile als gif-Grafik

Zum Erstellen der Formel-Grafiken eignet sich z B der Formel-Editor MathType15 mit der Aufloumlsungs-Einstellung 120 dpi fuumlr InternetGif

Formeln brauchen im Rahmen des begrenzten Umfangs der Webseiten nicht nummeriert zu werden Groumlszligen-symbole

Griechische Groumlszligensymbole und mathematische Symbole sind nicht als Grafiken im laufenden Text sondern als HTML-Code einzufuumlgen Eine Zeichenreferenz findet sich bei Selfhtml16

Styles Zur Formatierung der Webseiten werden aus der Stylesheet-Datei nur die drei Styles Uumlberschrift fuumlr

die Uumlberschriften Bildunterschrift fuumlr Abbildungs- und Tabellenunterschriften und Tabellentext fuumlr Tex-te in Tabellen benoumltigt

Tab 6 Richtlinien zur Gestaltung und Formatierung der Standard-Lernumgebung

Detailliertere Informationen zum Layout der Standard-Lernumgebung koumlnnen dem RCL-Ordner und dem Erscheinungsbild der Webseiten von RCLs in Browsern entnommen wer-den

15 Vgl Design Science MathType 16 Vgl Selfhtml HTML-Zeichreferenz

33

4 ANHANG

34

41 Interface in Basisschaltung 411 Schaltplan und Bauteilliste Abb 19 zeigt den Schaltplan der Basisschaltung des Interface und Tab 7 die dazugehoumlrige Bauteilliste

Abb 19 Basisschaltung des Interface

Nr Anzahl Kurzbeschreibung des Bauteils Best-Nr bei Reichelt electronic

Einzelpreis in euro

0 1 Epoxyd-Platine (190x112 mm) mit Anteil Loumltpunktraster (Spezi-

alanfertigung) - asymp 10

1 1

Epoxyd-Fotoplatine einseitig 160x100 mm 15 mm 35 microm Epoxyd-Lochrasterplatine 160x100 mm 15 mm 35 microm

BEL 160x100-1 UP 832EP

170 420

1 1 Hohlstecker-Einbaubuchse gewinkelt Loumltfahnen 21 mm HEBW 21 018 2 1 D-SUB-Stecker 9-polig gewinkelt RM 94 D-SUB ST 09EU 029 3 1 Schottky Diode DO41 40 V 1 A SB 140 008 4 1 Draht von abgeschnittenem Beinchen aus Pos-Nr 3 - - 5 1 IC-Sockel 16-polig superflach gedreht vergoldet GS 16P 029 6 1 IC-Sockel 40-polig superflach gedreht vergoldet GS 40P 061 7 1 2x10-pol-Stiftleiste gerade RM 254 SL 2X10G 254 007 8 1 Metallschichtwiderstand 100 kΩ Metall 100k 0082 9 1 Elektrolytkondensator 10x16 mm 470 microF RM 50 mm RAD 47025 006 10 1 Elektrolytkondensator 63x11 mm 100 microF RM 25 mm RAD 10016 004 11 5 Elektrolytkondensator 5x11 mm 10 microF RM 20 mm RAD 1035 004 12 2 Keramik-Kondensator 33 pF Kerko 33p 006 13 3 Vielschicht-Keramikkondensator 100 nF 20 Z5U-25 100n 004

35

14 1 Standardquarz Grundton 110592 MHz 110592-HC49U-S 018 15 1 Spannungsregler 1 A positiv TO-220 microA 7805 028 16 1 Kuumlhlkoumlrper fuumlr Gehaumluse TO-220 99KW V FI356 066 17 1 Zylinderkopfschraube Schlitz M3 10 mm fuumlr Kuumlhlkoumlrper M3x10mm 160 18 2 Sechskantmutter M3 fuumlr Kuumlhlkoumlrper SK M3 001 19 1 Stecker-Schaltnetzteil 12 V 2250 mA MW 3IP25GS 1150 20 1 RS232-Driver DIL-16 MAX 232 CPE 041 21 1 ATmega AVR-RISC-Controller DIL-40 ATmega16-16 DIP 420 22 3 10-poliger Wannenstecker RM 254 stehend (optional) WSL 10G 009 23 1 14-poliger Wannenstecker RM 254 stehend (optional) WSL 14G 014 24 1 40-polige Stiftleiste 1-reihig gerade RM254 (optional) SL 1x40G 254 023 25 1 Kunststoffgehaumluse 1982x1124x760 mm (Serientyp 202) - asymp 10 euro 26 1 D-SUB Nullmodem-Kabel 9-pol BUBU 3 m AK 143 155 27 x DIN-Einbaubuchse 5-pol Schraubver 360deg (optional) DIO-50W EMS 185 28 x DIN-Einbaubuchse 8-polig Schraubversch 270deg (optional) DIO-80SN EMS 180 29 x Pfostenstecker 10-polig mit Verrieglung gew (optional) PSL 10W 028 30 x Klemmleiste RM 254 Oumlffnungshebel 8-polig (optional) Wago 233 220

Tab 7 Bauteilliste mit Bestellnummer und Einzelpreisen der Bauelemente bei Reichelt electronic (Stand 23102010)

Anhand der Bauteilliste in koumlnnen die elektronischen Bauelemente der Basisschaltung (larr Tab 7 Nr 0 ndash 21 optional Nr 22 - 24) bei Reichelt electronic bestellt werden Das Gehaumluse des Interface (larr Tab 7 Nr 25) sollte vom Hersteller HAGOTECH GmbH bezogen werden Weiterhin wird ein Nullmodemkabel (larr Tab 7 Nr 26) zur Verbindung des Interface mit dem Computer benoumltigt Sensoren und Aktoren des Experiments koumlnnen mit optionalen Steck-verbindern (larr Tab 7 Nr 27 - 30) und entsprechende Kabelverbindungen an das Interface angeschlossen werden Die Nummern 0 - 25 stimmen mit der angegebenen Bestuumlckungs-reihenfolge auf der Platine uumlberein Das Interface kostet in der Basisschaltung ca 50 euro

412 Bestuumlckung der Platine Abb 20 zeigt zur Bestuumlckung der Platine benoumltigte Werkzeuge

Abb 20 Werkzeuge zur Bestuumlckung der Platine des Interface

36

Loumltkolben mit feiner Spitze in Meisselform 2 mm oder Loumltstation (1) Loumltzinnabsauger zum Entfernen von Loumltzinn (2) Nasser Schwamm zum Reinigen der Spitze des Loumltkolbens (3) Loumltzinn mit Durchmesser 08 - 10 mm (4) Flachspitzzange zum Biegen von Anschluumlssen der Bauelemente (5) Seitenschneider zum Kuumlrzen der Beinchen von Bauelementen (6) Multimeter zum Pruumlfen der Funktionsfaumlhigkeit der Schaltung (7) Sekundenkleber zur Befestigung von Bauelementen Kleine Bohrmaschine z B von Dremel und 08 mm Bohrer oder duumlnne Rundfeile zum

Weiten von Loumlchern auf der Platine des Interface

Abb 21 zeigt die Platine des Interface von der Loumltseite in der Spezialanfertigung der Elekt-ronik-Werkstatt an der Technischen Universitaumlt Kaiserslautern und in der Selbstbauvariante (larr Tab 7 Nr 0) Abb 22 zeigt das Platinenlayout

Abb 21 Platine des Interface von der Loumltseite als Spezialanfertigung (links) und der Selbstbauvariante

(rechts)

Abb 22 Layout zur Herstellung des geaumltzten Teils der

Platine in der Selbstbauvariante

37

In der Selbstbauvariante kann anhand des Platinenlayouts eine selbst geaumltzte Platine fuumlr die Basisschaltung auf einer Platine im Europakartenformat hergestellt und diese in der Laumlnge gekuumlrzt werden Eine gekuumlrzte Lochrasterplatine bildet den zweiten Teil der Platine Mit den optionalen vier Wannensteckern (larr Tab 7 Nr 22 - 23) oder den vier Stiftleisten (larr Tab 7 Nr 24) an den Ports des Mikrocontrollers koumlnnen leicht elektrische Verbindungen zum Rasterteil der Platine herstellt werden Abb 23 zeigt die fertig bestuumlckte Platine mit den Nummern aus Tab 7

Abb 23 Bestuumlckte Platine des Interface mit nummerierten Bauelementen

Tab 8 beschreibt das Einloumlten der elektronischen Bauelemente anhand der Nummern aus Tab 7 und in der angegebenen Reihenfolge

Nr Bauelement Beschreibung des Einbaus

0 Spezialanfertigung und Selbst-bauvariante der Epoxydharz-

Platine

1

Stromversorgungsbuchse ndash Hohlstecker 21 mm

Wenn die Loumltbeine nicht durch die Loumlcher der Platine passen die Loumlcher mit einer runden Schluumlsselfeile aufweiten

Stromversorgungsbuchse mit Sekundenkleber vor dem Festloumlten auf der Pla-tine fixieren da diese mechanischen Belastungen durch das Einstecken und Herausziehen des 12 V -Steckers ausgesetzt ist

Wahlweise kann die 25 mm-Version der Buchse verwendet werden

2

RS232 Datenstecker

RS232 Datenstecker mit Sekundenkleber vor dem Festloumlten auf der Platine fixieren da dieser mechanischen Belastungen durch das Einstecken und Herausziehen des Null-Modem-Kabels ausgesetzt ist

Alle Beinchen und Befestigungsstifte zur houmlheren Stabilitaumlt anloumlten

3

Ein Ring an einer Seite der Diode (hier links weiszlig) zeigt die Durchlass- bzw Sperrrichtung der Diode an Die Position des Ringes entspricht der Position des Balkens im Schaltungssymbol

38

Diode ndash SB140 Auf der Platine muss der Ring auf der von der Stromversorgungsbuchse ab-

gewandten Seite liegen

4 Drahtbruumlcke

Vor dem Einloumlten des 40-poligen IC-Sockels (Nr 5) muss eine Drahtbruumlcke unter diesem eingeloumltet werden Dazu koumlnnen die abgeschnittenen Beinchen der bereits eingeloumlteten Diode (Nr 3) verwendet werden

5 6

IC-Fassungen

Die 16-polige und 40-polige IC-Fassungen besitzen eventuell eine Markie-rung fuumlr Pin1 (z B Kerbe in der Stirnseite Punkt Pfeilhellip) als Hilfe fuumlr das richtige Einstecken der ICs Die Markierungen muumlssen bei beiden Fassungen nach oben also zum naumlchstliegenden Rand der Platine zeigen

Die ICs unbedingt noch nicht einstecken

7

ISP-Stiftleiste

Die doppelreihige ISP-Stiftleiste dient der Programmierung des Mikrocontrol-lers mit dem AVR-ISP-Programmer (ISP steht fuumlr In System Programming)

ISP-Stiftleiste auf 2 x 5 Stifte kuumlrzen und mit den kurzen Beinchen einloumlten so dass auf die langen Stifte der AVR-ISP-Programmer gesteckt werden kann

8

Widerstand 100 kΩ

Den 100 kΩ-Widerstand rechts neben der ISP-Stiftleiste einloumlten

9

10

11

Elkos

Bei den verwendeten Elektrolyt-Kondensatoren ist die Polung zu beachten (langes Beinchen = Plus-Pol) Weiterhin ist auf den Kondensatoren ein wei-szliger Streifen mit Minus-Zeichen aufgedruckt Die Kondensatoren sollten eine Spannungsfestigkeit von mindestens 16 V besser 25V besitzen

Auf der Kupferseite der Platine zeigt die Form der Loumltaugen die Polung an Rundes Loumltauge = Plus quadratisches Loumltauge = Minus

Der 470 microF Kondensator wird mit dem weiszligen Streifen in Richtung Stromver-sorgungsbuchse direkt unter diese montiert

Der 100 microF Kondensator sitzt direkt unter der 16-poligen IC-Fassung Sein weiszliger Streifen (Minus-Pol) zeigt in Richtung der Stromversorgungsbuchse

Vier der 10 microF Kondensatoren werden links neben der 16-poligen IC-Fassung montiert Deren Polung ist wie folgt Unterster Kondensator Minus nach oben naumlchster Kondensator Minus nach unten die beiden oberen Kondensatoren mit Minus nach oben

Ein weiterer 10 microF Kondensator wird rechts neben die 16-polige IC-Fassung geloumltet Sein Minus-Streifen zeigt nach unten

12

13

Keramik-Kondensatoren

Die Beschriftung 104 bedeutet 10e4 pF = 100 nF Die beiden 33 pF-Kerkos (Keramik-Kondensatoren) werden direkt nebenei-

nander rechts neben die 16-polige IC-Fassung geloumltet Zwei 100 nF-Kondensatoren werden unter dem 470 microF-Elko eingeloumltet ein

weiterer mittig an der linken Seite der 40-poligen IC-Fassung

14

Quarz

Als Quarz wird ein 110592 MHz-Typ verwendet Bei dieser Frequenz ist eine fehlerfreie Kommunikation uumlber RS232 mit 9600 Baud moumlglich Fuumlr den AT-mega16 koumlnnen Quarze bis 16 MHz eingesetzt werden Details siehe Daten-blatt

Der Quarz wird direkt rechts neben die beiden 33 pF-Kerkos geloumltet Die Ori-entierung des Quarz spielt keine Rolle

15

16

17

18

Der Spannungsregler L7805 erzeugt eine stabilisierte Spannung von 5 V Es muss ein Kuumlhlkoumlrper zur Waumlrmeabfuhr vom Spannungsregler verwendet werden

Vor dem Einloumlten zwischen Spannungsregler und Kuumlhlkoumlrper etwas Waumlrme-leitpaste aufgetragen Beide Bauteile fest mit einer Schraube M3x10 und ei-ner 1 Mutter verschrauben

Dann den Spannungsregler einloumlten um 90deg abzubiegen das uumlberstehende Gewinde durch das vorgesehene Loch stecken und alles mit einer 2 Mutter auf der Platine befestigen

1 Mutter

2 Mutter

Schr

aube

L7805

Platine

KuumlhlkoumlrperWaumlrmeleitpaste

Beinchen

Loumlten

39

Spannungsregler L7805 Kuumlhl-koumlrper und Montage

19

Steckernetzteil

Funktionskontrolle vor dem Einsetzen des Mikrocontrollers Polung der Elektrolyt-Kondensatoren (Elkos) pruumlfen Sind alle Beinchen angeloumltet Hat das Loumltzinn an den Beinchen und der Pla-

tine guten Kontakt Sind eventuell zwei benachbarte Beinchen unbeabsichtigt durch Loumltzinn verbunden Alle Loumltverbindungen nochmals genau z B mit ei-ner Lupe pruumlfen

Probeweise das Stecker-Netzteil an die Buchse anschlieszligen Am 100 nF-Kondensator links mittig der 40-poligen IC-Fassung muumlssen 5 V anliegen

Versorgungsspannung unbedingt wieder von der Platine trennen

20

21

ICs MAX232 und ATmega16

Die Nuten auf den ICs am linken Rand muumlssen nach oben zeigen d h Pin1 ist bei beiden ICs in der Abbildung links unten und auf der Platine oben links

Manchmal passen die Beinchen der ICs nicht in die Fassung weil die Fas-sung scheinbar zu schmal ist Dann den IC seitlich mit einer Beinchen-Reihe flach auf den Tisch legen den IC-Koumlrper links und rechts greifen und Bein-chen durch leichten Druck biegen Einzelne verbogene Beinchen vorsichtig mit einer kleinen Flachzange richten

22

23

Wannenstecker 10- und 14-polig

Wannenstecker an den vorgesehe-nen Stellen mit der Nut gegen Ver-polung in Richtung des naumlherliegen-den Platinenrands einloumlten

Die Abbildung rechts zeigt die Pin-Belegung der Wannenstecker

24

Stiftleiste 8-polig 40-pol Stiftleiste in 4 jeweils 8-polige Stuumlcke zerteilen und einloumlten

25

Kunststoffgehaumluse

In der Selbstbauvariante der Platine (Nr 0) vor dem Einsetzten der Platine in das Gehaumluse passend positionierte Kunststoffstege am Gehaumluseboden fest-kleben

Tab 8 Bestuumlckung der Platine des Interface mit Bauelementen

42 Erweiterungsschaltungen 421 Uumlbersicht In Tab 3 sind von RCLs des RCL-Portals Sensoren und Aktoren mit den dazugehoumlrigen Er-weiterungsschaltungen zusammengestellt Da alle RCLs obligatorisch uumlber mindestens eine Webcam verfuumlgen sind diese unter den Sensoren nicht aufgefuumlhrt Die wenigen Erweite-rungsschaltungen fuumlr Sensoren sind unter Sensoren in Klammern aufgelistet Unter Aktoren werden auszliger elektro-mechanischen Wandlern auch gesteuerte Geraumlte oder Bauelemente verstanden Anzeigeinstrumente sind unter Aktoren nur aufgefuumlhrt wenn sie direkt vom In-terface gesteuert werden Mit gekennzeichnete Erweiterungsschaltungen befinden sich au-szligerhalb des Interface

40

RCL Sensoren Aktoren Erweiterungsschaltungen fuumlr Aktoren

Beugung und Interferenz I Referenz-Taster

Schrittmotor (Rotation) Schrittmotorsteuerung Laser-Modul Geschaltete Spannungsversorgung

Beugung und Interferenz II

4 Referenz-Taster Lichtsensor

4 Schrittmotoren (Translation) 4 Schrittmotorsteuerungen 5 Laser-Module Geschaltete Spannungsversorgung LED fuumlr Position des

Lichtsensors Geschaltete Spannungsversorgung

LED fuumlr Linealbeleuchtung Geschaltete Spannungsversorgung

Elektronen-beugung

Hochspannungsnetzgeraumlt Geschaltete Spannungsversorgung Hochspannungsnetzgeraumlt Steuerung der Hochspannung

Fotoeffekt 2 Referenz-Taster Photozelle

2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen

Quecksilberdampflampe Geschaltete Spannungsversorgung

der Drossel fuumlr Quecksilberdampf-lampe

Halbleiter-kennlinien

und Halbleiterkennli-nien - Schuumller-

projekt

Referenz-Taster

Schrittmotor (Rotation) Schrittmotorsteuerung Oszilloskop Geschaltete Spannungsversorgung

Oszilloskop Instrumentenverstaumlrker fuumlr X- und Y-Ablenkung

Multimeter Steuerung Spannungs- oder Strom-anzeige

Heiszliger Draht 4 Endtaster 4 Drehgeber Kurzschlusssensor

4 Gleichstrommotoren 4 Treiber

Zweifarbige LED Steuerung der LED-Farbe

Lichtgeschwin-digkeit

Drehimpulsgeber 2 Taster an Enden

der Eisenbahnstre-cke

2 Schrittmotoren 2 Schrittmotorsteuerungen Oszilloskop Geschaltete Spannungsversorgung

Motor der Lokomotive Steuerung des Ein- und Ausschal-tens und der Bewegungsrichtung

Maut Infrarot-Sensor Gleichstrommotor Geschaltete Spannungsquelle 2 IR-Fernbedienungen Spannungsregler 2-stellige 7-Segmentanzeige LED-Treiber

Millikan-Versuch 2 Referenz-Taster

2 Schrittmotoren 2 Schrittmotorsteuerungen Lichtquelle (LED) fuumlr Millikan-

Kondensator Geschaltete Spannungsversorgung

Airbrush-Kompressor Geschaltete Spannungsversorgung Magnetventil Geschaltete Spannungsversorgung Millikan-Kondensator Gesteuertes Hochspannungsmodul

Optische Com-putertomogra-

phie

2 Referenz-Taster 2 Lichtsensoren

Schrittmotor (Rotation) Schrittmotorsteuerung Schrittmotor (Translation) Schrittmotorsteuerung

2 Laser-Module 2 geschaltete Spannungsversor-gungen

Optische Fou-rier-

Transformation 2 Referenz-Taster

2 Schrittmotoren (Translation) 2 Schrittmotorsteuerungen

Laser-Modul Geschaltete Spannungsversorgung

Oszilloskop Oszilloskop Geschaltete Spannungsversorgung Signalgenerator Steuerung der Signalart

Radioaktivitaumlt 4 Referenz-Taster Geiger-Muumlller-

Zaumlhlrohr

2 Schrittmotoren (Translation) 2 Schrittmotorsteuerungen 2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen 4-stellige 7-Segment-Anzeige Treiber Elektromagnet Geschaltete Spannungsversorgung

Roboter im Labyrinth Infrarot-Sensor

2 Schrittmotoren 2 Schrittmotorsteuerung Infrarot-Sender Treiber

Rutherfordscher Streuversuch

2 Referenz-Taster Halbleiterdetektor

(Impulsformer)

2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen

4-stellige 7-Segment-Anzeige Treiber

Weltpendel

Referenz-Taster Lichtsensor der

Lichtschranke (Im-pulsformer)

Temperatursensor

Schrittmotor (Translation) Schrittmotorsteuerung Elektromagnet Geschaltete Spannungsversorgung

Laser der Lichtschranke Geschaltete Spannungsversorgung

Windkanal Referenz-Taster Schrittmotor (Translation) Schrittmotorsteuerung

41

Dehnungsmess-streifen (Wheat-stonesche Bruumlcke Messverstaumlrker Multimeter)

Geblaumlsemotor Geschaltete Spannungsversorgung

und Ansteuerung mit Pulsweiten-modulation

Anemometer Geschaltete Spannungsversorgung Multimeter Geschaltete Spannungsversorgung

Tab 9 Sensoren Aktoren und Erweiterungsschaltungen der RCLs des RCL-Portals

422 TMC222-Modul zur Schrittmotorsteuerung 4221 Schaltplan und Bauteilliste Abb 1 zeigt die Beschaltung des TMC222 von Trinamic auf dem TMC222-Modul

Abb 24 Beschaltung des TMC222 von Trinamic

Anhand der Bauteilliste in Tab 10 koumlnnen die elektronischen Bauelemente des TMC222-Moduls bei Reichelt electronic bestellt werden Ein TMC222-Modul kostet ungefaumlhr 10 euro

Nr Anzahl Kurzbeschreibung des Bauteils Best-Nr bei Reichelt electronic

Einzelpreis in euro

0 1 Epoxyd-Fotoplatine einseitig 75x100 mm 15 mm 35 microm BEL75X100-1 096 1 1 Integrierter TMC-Schrittmotor-Controller TMC 222 SI asymp 7 2 1 Elektrolytkondensator 8x11 mm Rm 35 mm 100 microF35 V RAD 10035 004 3 1 Tantal-Kondensator Rm 25 10 microF35 V Tantal 1035 014 4 2 Vielschicht-Keramikkondensator 220 nF 20 Z5U-25 220N 011 5 3 Vielschicht-Keramikkondensator 100 nF 20 Z5U-25 100N 004 6 2 Metallschichtwiderstand 100 kΩ Metall 100K 0082 7 1 1x36pol Stiftleiste gewinkelt Rm 254 SL 1X36W 027 8 1 1x36pol Buchsenleiste gerade Rm 254 BL 1X36G 025

Tab 10 Bauteilliste mit Bestellnummer und Einzelpreisen der Bauelemente bei Reichelt electronic (Stand 23102010)

4222 Bestuumlckung der Platine

42

Abb 25 zeigt die fertig bestuumlckte Platine mit den Nummern aus Tab 10

Abb 25 Bestuumlckte Platine des TMC222-Moduls

mit nummerierten Bauelementen

Die Platine (35 mm x 30 mm) kann anhand des Layouts in Abb 26 hergestellt werden Der IC TMC222 wird auf der Loumltseite der Platine aufgeloumltet Das TMC222-Modul kann mit der Stiftleiste (larr Tab 10 Nr 7) in eine Buchsenleiste (larr Tab 10 Nr 8) auf die Platine des In-terface gesteckt werden

Abb 26 Platine des TMC222-Moduls von der Loumltseite (links) und Layout

4223 Quellcode des Mikrocontroller-Programms Im Folgenden ist ein mit Bascom (larr 12 Tab 1 Entwicklungsumgebungen) erstelltes Bei-spiel-Programm zur Ansteuerung des Schrittmotormoduls TMC222 durch den Mikrocontroller ATmega16 angegeben $regfile = m16DEFdat $crystal = 11059200 $baud = 9600 Definitionen Config Scl = Portc0 Taktleitung Config Sda = Portc1 Datenleitung Const Adress = ampB11000000 I2C Adresse des TMC222 Const GetFullstatus1 = ampB10000001 Kommando des TMC222 Const Resetpos = ampB10000110 Kommando des TMC222 Const Motorparameter = ampB10001001 Kommando des TMC222 Const Setposition = ampB10001011 Dim Puffer(10) As Byte

43

Programm I2csend Adress GetFullstatus1 GetFullstatus1 (Initialisierung des TMC222) I2creceive Adress 7 Ack Daten in Puffer auslesen Puffer(1) = Motorparameter puffer auffuumlllen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB11110011 1111irun 0011ihold Puffer(5) = ampB01110001 0111vmax 0001vmin Puffer(6) = ampB00010000 000securepos(bit10-8) 1shaft 0000acceleration Puffer(7) = 0 securepos(bit7-0) Puffer(8) = ampB00001100 000nicht belegt 0accshape 11stepmode 00nicht belegt I2csend Adress Puffer(1) 8 I2csend Adress Resetpos aktuelle Position auf 0 setzen Puffer(1) = Setposition Motor bewegen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB01111111 position(bit 15-8) Puffer(5) = ampB11111111 position(bit 7-0)acute I2csend Adress Puffer(1) 5 End

423 Geschaltete Spannungsquellen und Verbraucher Die Ausgaumlnge des Mikrocontrollers duumlrfen nur mit Stroumlmen kleiner als ungefaumlhr 20 mA belas-tet werden Verbraucher mit einer Stromlast groumlszliger als 20 mA koumlnnen daher nicht direkt an den Mikrocontroller angeschlossen werden Abb 27 zeigt links eine Schaltung zum Schalten eines Verbrauchers wie z B des Relais und rechts eine Schaltung mit dem IC ULN2803A zum Schalten mehrerer Verbraucher wie z B Gluumlhlampen

Abb 27 Erweiterungsschaltungen zum Schalten eines (links) oder

mehrerer Verbraucher (rechts)

Zu beachten ist dass der Transistor BC337 maximal 800 mA schalten kann und fuumlr groumlszligere Stroumlme andere Transistoren verwendet werden muumlssen

424 Steuerung von Gleichstrommotoren

44

Sollen Gleichstrommotoren zum Bewegen von Objekten mit dem Mikrocontroller gesteuert werden dann eignet sich dazu der in Abb 28 dargestellte beschaltete IC L293D

Abb 28 Beschaltung des L293D zum

Steuern zweier Gleichstrom-motoren

Mit Pin 1 = Pin 9 = 1 (High) koumlnnen zwei Gleichstrommotoren M1 und M2 (Versorgungs-spannung UM lt 36 V Spulendauerstrom IM lt 600 mA) unabhaumlngig voneinander ein- und ausgeschaltet sowie in der Drehrichtung uumlber die Ports PA0 und PA1 fuumlr M1 und PA2 und PA3 fuumlr M2 gesteuert werden Z B gilt mit PA0 = PA1 = 0 (M1 ausgeschaltet) PA0 = 1 und PA1 = 0 (M1 dreht sich) PA0 = 0 und PA1 = 1 (M1 dreht sich in Gegenrichtung)

45

43 Quellcodes zum RCL Elektronenbeugung 431 Mikrocontroller-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

46

47

48

49

432 PHP-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

50

51

433 Bedienfeld der Laborseite

Tab 11 erlaumlutert die Funktion der Bloumlcke im Quellcode

Zeilen Funktion 1 Datei defaultconf einbinden 2 Datei headtpl einbinden

5 - 11 Ausgabe der verbleibenden Experimentierzeit 18 - 21 Button zum Einschalten der Elektronenbeugungsroumlhre 28 - 30 Eingabefeld fuumlr die Beschleunigungsspannung

37 Ruumlckmeldung zur eingegebenen Beschleunigungsspannung 42 Datei foottpl einbinden

Tab 11 Funktion der Programmbloumlcke in der Datei experi-menttpl

52

434 Webcamfeld der Laborseite

In Tab 12 ist die Funktion der Programmbloumlcke und die Anpassungen der Vorlage an das RCL Elektronenbeugung beschrieben

Zeilen Funktion Anpassung RCL Elektronenbeugung

5 Titelangabe erscheint als Tabulatorbeschriftung in Browsern

Name des RCLs eintragen

11 - 15 16 - 20

Zwei Javascripts zum getrennten Aufrufen zweier Po-pup-Fenster mit dargestelltem Webcambildern 1 und 2

Javascript 1 die IP-Adresse eintragen Javascript 2 auskommentiert weil nicht benoumltigt

24 - 40 42 - 60

Zwei Javascripts zum Aktualisieren der Webcambilder 1 und 2

Javascript 2 auskommentiert weil nicht benoumltigt

67 - 71 79 - 83

Aufrufen des ersten Webcambilds der Webcams 1 und 2 beim Aufrufen der Datei

Webcambild 2 auskommentiert weil nicht benoumltigt

72 - 78 84 - 90

Buttons zum Aufrufen der Screenshots der Webcam-bilder 1 und 2

Button 2 auskommentiert weil nicht benoumltigt

91 - 95 Zeile der Tabelle zum Eintragen von Informationen die sich auf die Webcambilder oder den Versuch beziehen

Text in Zeile der Tabelle geschrieben

Tab 12 Funktionen der Codeabschnitte in der Datei videohtm und Anpassung der Vor-lage an das RCL Elektronenbeugung

53

44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung Im Folgenden wird die Installation und Konfiguration des AVR-Studios 418 und der Bascom 11198 Demoversion beschrieben Alle Anleitungen sind zeilenweise von links nach rechts zu lesen

441 AVR-Studio 418 4411 Installation Auf der Webseite von ATMEL Register AVR Studio 418 (build 684) anklicken und Registrie-rungsformular ausfuumlllen Danach die Datei AvrStudio418Setup herunterladen Durch Dop-pelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen Next waumlhlen

I accept hellip und Next waumlhlen Installationsordner und Next waumlhlen

54

Installupgrade hellip und Next waumlhlen Install waumlhlen Die Installation beginnt

Finish waumlhlen

4412 Konfiguration AVR Studio 418 in Windows XP Professional unter StartProgramme aufrufen

Startfenster mit Cancel schlieszligen Unter ToolsProgram AVR Auto Connect waumlhlen

55

Im eingeblendeten Fenster auf der Registerkarte Main als Device ATmega16 und als Programming Mode ISP mo-de waumlhlen

Optional kann Signatur gelesen werden

In der Registerkarte Fuses alle Haumlkchen und Auswahlfel-der wie angegeben waumlhlen

Dann Program waumlhlen

442 BASCOM 11198 Demoversion 4421 Installation Auf der Webseite von Bascom unter Bascom AVR Demo die Zip-Datei setupdemoexe her-untergeladen Durch Doppelklick auf den Dateinamen die Installation starten

Next waumlhlen I accept the agreement und Next waumlhlen

56

Next waumlhlen Installationsordner eingeben und Next waumlhlen

Eintrag im Start-Menuuml eingeben und Next waumlhlen Next waumlhlen

Yes restart the computer now und Finish waumlhlen

57

4422 Konfiguration Bascom AVR in Windows XP Professional unter StartProgramme zum Einstellen der Para-meter des Mikrocontrollers und des Terminals aufrufen

OptionsCompilerChip waumlhlen Einstellungen wie im Bild vornehmen und OK waumlhlen

Auf der Registerkarte Communications Einstellungen wie im Bild vornehmen und OK waumlhlen

Unter OptionsCommunication Einstellungen wie im Bild

vornehmen und OK waumlhlen FileNew waumlhlen Unter ToolsTerminal emulator das Terminal aufrufen und

eingeben Die Befehlsliste des RCLs Elektronenbeu-gung wird angezeigt

45 Installation und Konfiguration von Programmen auf dem RCL-Server Im Folgenden wird der Download die Installation und die Konfiguration von Programmen auf dem RCL-Server unter Windows XP Professional beschrieben Alle Anleitungen sind zeilen-weise von links nach rechts zu lesen Die Installation der Programme sollte in der angegebe-nen Reihenfolge erfolgen

58

451 Einrichten des Internet-Zugangs LAN-Verbindung unter StartSystemsteuerungNetzwerkverbindungen aufrufen

Internetprotokoll (TCPIP) und Eigenschaften waumlhlen Folgende IP-Adresse verwenden waumlhlen IP-Adressen ein-

geben und OK waumlhlen

452 Paket XAMPP 174 Unter apache friends - xampp fuumlr windows und XAMPP Windows 174 Installer anklicken und Datei xampp-win32-174-VC6-installerexe speichern Durch Doppelklick auf die Datei die Installation starten

Sprache und Ok waumlhlen Ok waumlhlen

59

Weiter waumlhlen Zielverzeichnis mit Durchsuchen waumlhlen oder eingeben

Apache nicht als Dienst installieren Fertig stellen waumlhlen

Ja waumlhlen Zum Starten des Apache Webservers das Control Panel

unter StartProgrammeXAMPP 173 for Windows mit Start starten Anstelle von Start erscheint Running

Zum Beenden des Apache Webservers Stop waumlhlen Zum Beenden des Control Panels Exit waumlhlen

60

453 Videoserver webcamXP 5 Private Auf der Webseite von Moonware Studios unter webcamXP 55xx die Datei wlite550 herun-terladen Durch Doppelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen I Agree waumlhlen

Next waumlhlen Auszliger webcamXP 5 brauchen keine weiteren Komponen-

ten installiert zu werden

Den vorgeschlagenen Ordner und Install waumlhlen Finish waumlhlen

61

WebcamXP unter StartProgramme aufrufen Zugesandte

Lizenz-Daten in das eingeblendete Fenster eingeben und Register waumlhlen

Beim Starten des Programms stellt webcamXP automa-tisch eine Verbindung zu den am Computer angeschlosse-nen Webcams her

Nach dem Start ist Uumlberwachen gewaumlhlt Durch Rechts-klick mit der Maus auf das Videofenster wird zu jeder Vi-deoquelle ein Kontextmenuuml angezeigt Wird kein Videobild dargestellt das Kontextmenuuml aufrufen Art der Videoquelle waumlhlen (hier USB) und unter den erkannten Videoquellen (hier USB-Videogeraumlt) die gewuumlnschte waumlhlen

Das Videoformat muss fuumlr eine passende Darstellung auf

der Laborseite auf 320 x 240 eingestellt sein Ist das nicht der Fall im Kontextmenuuml unter Video Format einstellen

In gleicher Weise kann eine zweite Videoquelle hinzugefuumlgt werden

In der Registerkarte Web Broadcast kann unter

Broadcast (HTTP) der Videoserver mit Ausschalten ge-stoppt und mit Aktivieren gestartet werden

Zur Zielwahl des Webservers (131246237167 - Internet D16W3X3J - Computer 127001 - Local Host) Videoser-ver stoppen und einstellen Videoserver wieder starten

62

454 Terminalprogramm Hyperterminal Hyperterminal in Windows XP Professional unter StartProgrammeZubehoumlrKommunikation aufrufen

Name der neuen Verbindung - z B Interface - eingeben

und OK waumlhlen Die Verbindung zwischen Computer und Interface wurde

uumlber einen USB-Seriell-Adapter hergestellt Dann erschei-nen zwei zusaumltzliche Eintraumlge (Motorola Comp Modem und COM5) in der Liste Prinzipiell muss eine COMx-Verbindung gewaumlhlt werden

Eigenschaften von COM 5 wie im Bild einstellen und OK

waumlhlen DateiEigenschaften aufrufen und ASCII-Konfiguration

waumlhlen

63

Haken bei Eingegebene Zeichen lokal ausgeben (lokales

Echo) setzen um eingegebenen Zeichen im Hyperterminal zu sehen

Bei funktionsfaumlhiger Verbindung erscheint nach Eingabe von Return die Befehlsliste des Interface

Durch Aufrufen von DateiSpeichern die erstellte Verbin-

dung z B auf dem Desktop speichern Dadurch braucht die Verbindung nicht immer wieder von neuem konfiguriert wer-den

Nach Aufrufen von DateiBeenden die bestehende Verbin-dung mit Ja beenden

64

Wurde ein falscher COM-Port gewaumlhlt reagiert das Inter-

face auf die Eingabe Return nicht Hyperterminal dann beenden

Der COM-Port kann dann nicht unter DateiEigenschaften im Hyperterminal aber unter Eigenschaften des Kontext-menuumls der Datei Interfaceht in der Registerkarte Verbin-den mit geaumlndert werden Dann OK waumlhlen und erneut Verbindung testen

65

455 Fernwartungssoftware TeamViewer 6 Host Auf der Webseite von Teamviewer GmbH unter Fuumlr unbeaufsichtigte Server TeamViewer Vollversion die Datei TeamViewer_Setup-wq herunterladen Das Programm muss auf dem RCL-Server und dem Computer der auf den RCL-Server zugreifen soll installiert werden Durch Doppelklick auf die Datei die Installation starten

Ausfuumlhren waumlhlen Weiter waumlhlen

Fuumlr die private nicht kommerzielle Nutzung ist Teamviewer kostenlos

privat nicht-kommerziell und Weiter waumlhlen

Beide Haumlkchen setzen und Weiter waumlhlen

66

Ja un Weiter waumlhlen Weiter

Computername und Kennwort fuumlr den Zugriff auf den RCL-Server oder den eigenen Computer vergeben Kenn wort notie-ren

Ein Teamviewerkonto ist nicht erforderlich Kann auch spaumlter noch eingerichtet werden

ID fuumlr den Computer auf dem das Programm installiert wird fuumlr Zugriff notieren

Das Programm wird gestartet Standardmaumlszligig vorein-gestellt ist der Start des Programms beim Start des Be-trienssystems

67

46 Selbstbau eines elementaren RCLs 461 Hard- und Software Auch ohne gleich ein vielleicht teures physikalisches Experiment zu steuern laumlsst sich mit wenigen Bauelementen ein elementares RCL realisieren Von einer Webseite im Internet sol-len eine Leuchtdiode (LED) ein- oder ausgeschaltet sowie der Zustand der Leuchtdiode und eines Tasters abgefragt werden An Hard- und Software werden benoumltigt

1 Low-Current-LED 5 mm 2 mA 1 Widerstand 18 kΩ 1 Taster und optional zwei 10-polige Wannenstecker mit ungefaumlhr 10 cm passendem Flachbandkabel und Buchsen

Interface in Basisschaltung Null-Modem-Kabel 12 V DC Steckernetzteil (larr 1)

Installierte Bascom-Demo-Version (larr 42)

AVR ISP-Programmer mit 10-poligem Programmierkabel

Installiertes und konfiguriertes AVR Studio 418 (larr 41)

Installiertes Paket XAMPP (larr 52)

Texteditor wie z B Notepad in Windows XP Professional

Konfigurierte Hyperterminalverbindung (larr 54)

462 Bestuumlckung der Platine Abb 29 zeigt zur Orientierung fuumlr das Einloumlten der Bauelemente die fertig bestuumlckte Platine des Interface

Abb 29 Mit elementarem RCL bestuumlckte Platine

des Interface

LED mit Vorwiderstand und der Taster sind rechts neben dem Mikrocontroller im Lochraster-bereich aufgebaut und uumlber Wannenstecker und Flachbandkabel mit dem Port A des Mikro-controllers verbunden (die drei Bauteile rechts neben dem ATmega16 werden nicht benouml-tigt) Tab 13 erlaumlutert die Schritte zur Bestuumlckung der Platine des Interface

68

Nr Schaltung Erlaumluterung

1

Die Leuchtdiode (LED) mit dem Pluspol (langes Beinchen) an PortA0 (PIN40 oben rechts) des Mikrocontrollers anloumlten

An das kurze Beinchen einen 18kΩ Widerstand loumlten dessen anderes Ende mit der Masse (GND) verbinden

2

Den Taster mit PortA1 (PIN39 = 2 Beinchen von oben rechts) und Masse (GND) verbinden

3

Draufsicht

Belegung des 10-poligen Wannensteckers 1 GND (Masse) im Foto oben links 2 +5 V 3 PortA0 4 PortA1 10 PortA7 im Foto unten rechts

Tab 13 Schritte zum Aufbau des elementaren RCLs

463 Lokal gesteuertes RCL Nachfolgend ist der Basic-Programmcode des Mikrocontrollers zur Steuerung und Abfrage der LED und des Tasters angegeben 01 $regfile = m16DEFdat Microcontroller ATmega16 02 $crystal = 11059200 110592MHz Quarz 03 $baud = 9600 Baudrate 04 05 ---[ Variables ]--------------------------------------------------------------- 06 Dim Rs232kommando As String 10 erst Befehlspuffer dann Kommando 07 Dim Parameter As String 10 Parameter 08 Dim Str_pos As Byte Position von Leerzeichen zur Trennung von Kommando und Pa-rameter 09 10 ---[ Initialisierung ]--------------------------------------------------------- 11 Ddra0 = 1 PortA0 als Ausgang fuumlr LED 12 Porta0 = 0 LED aus 13 Ddra1 = 0 PortA1 als Eingang fuumlr Taster 14 Porta1 = 1 Pull-Up aktivieren 15 16 ---[ Main program loop ]------------------------------------------------------- 17 Do Start der Endlos-Schleife 18 19 If Ischarwaiting() = 1 Then Zeichen uumlber RS232 empfangen 20 Input Rs232kommando neues Kommando lesen 21 Parameter = Parameter initialisieren 22 Str_pos = Instr(rs232kommando ) Leerzeichen im Kommando suchen 23 If Str_pos gt 0 Then falls Leerzeichen dann in Kommando+Parameter zerlegen 24 Incr Str_pos Str_pos soll jetzt auf 1Zeichen des Parameters zeigen 25 Parameter = Mid(rs232kommando Str_pos ) Parameter = Teilstring nach Leerzeichen 26 Parameter = Ucase(parameter) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 27 Str_pos = Str_pos - 2 Str_pos soll jetzt auf letztes Zeichen des Kommandos zeigen 28 Rs232kommando = Left(rs232kommando Str_pos)Kommando = Teilstring vor Leerzeichen 29 Rs232kommando = Ucase(rs232kommando) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 30 End If 31 32 Select Case Rs232kommando Eventhandler Interpretation der Kommandos 33 Case Print Hilfe Hilfeseite anzeigen 34 Print LED on - LED einschalten 35 Print LED off - LED ausschalten 36 Print LED - zeigt Status der LED an 37 Print SW - zeigt Status des Schalters an 38

1K8

LED rotmicroC PortA0(PIN40)

Taster

microC PortA1(PIN39)

1

3

2

69

39 Case LED If Parameter = ON Then LED schalten 40 Porta0 = 1 41 End If 42 If Parameter = OFF Then 43 Porta0 = 0 44 End If 45 46 Case LED If Porta0 = 0 Then Status der LED ausgeben 47 Print LED aus 48 Else 49 Print LED an 50 End If 51 52 Case SW If Pina1 = 1 Then Status des Schalters ausgeben 53 Print Taster offen 54 Else 55 Print Taster geschlossen 56 End If 57 58 Case Else Print gt Rs232kommando lt ungueltiger Befehl - weitere Infos mit Info bei unguumlltigen Eingaben 59 End Select 60 61 End If 62 63 Loop Endlos-Schleife Springe zu Do 64 65 End wird nie erreicht

Der erste Teil des Programms (Zeilen 1 - 15) enthaumllt die Systemparameter Variablen und Initialisierung der Ein- und Ausgaumlnge Der zweite Teil enthaumllt ab Zeile 17 das Hauptpro-gramm in dem Benutzereingaben uumlber die serielle Schnittstelle empfangen interpretiert und in entsprechende Anweisungen umgesetzt werden Tab 14 erlaumlutert den Programmcode de-taillierter

Zeilen Erlaumluterung

1 - 3 Diese Angaben teilen dem Compiler (Bascom) mit welcher Prozessor eingesetzt wird wie schnell dieser getaktet (Quarz) ist und mit welcher Uumlbertragungsgeschwindigkeit die Kommunikation uumlber die serielle Schnittstelle (RS232) mit dem PC erfolgen soll

6 - 8 Es werden drei Variablen genutzt Die Eingabe uumlber die serielle Schnittstelle wird in rs232kommando gespeichert Es wird ein Text der Form Kommando ltLeerzeichengt Parameter erwartet so dass die Variable Parameter den-selbigen aufnimmt Die Variable str_pos wird fuumlr die Trennung von Kommando und Parameter benoumltigt

11 - 14

Mit dem Befehl ddrPX (ddr = data direction) wird festgelegt ob ein Beinchen als Ausgang (=1) oder als Eingang (=0) arbeiten soll Der ATmega16 besitzt 32 Ein-Ausgaumlnge die in vier Ports (P=AD) zu je 8 Pins (X=07) unterteilt sind ddrA0 = 1 legt also das 1 Beinchen (Pin 0) von PortA als Ausgang (=1) fest Mit dem Befehl PortA0 =1 kann dieser Pin dann durch Zuweisen von 1 oder 0 an- bzw ausgeschaltet werden Im Datenblatt erfahren Sie welches der 40 Beinchen des Mikrocontrollers wie bezeichnet wird (Pin-Belegung) Wird ein Beinchen als Eingang verwendet (ddrA1 = 0) koumlnnen Sie optional einen so genannten Pull-Up-Widerstand aktivieren (PortA1=1) oder deaktivieren (PortA1=0) Auch hierzu sollten Sie sich unbedingt mit dem Datenblatt vertraut machen

17 63 Das Hauptprogramm besteht aus einer Endlosschleife d h der Mikrocontroller verrichtet ununterbrochen seinen Job so lange er mit Strom versorgt wird

19 - 30 Falls ein Zeichen uumlber die serielle Schnittstelle empfangen wurde wird dieses und alle folgenden gelesen Anschlie-szligend wird gepruumlft ob der empfangene Text von der Form Kommando ltLeerzeichengt Parameter ist so dass er ge-gebenenfalls in ein Kommando und einen Parameter zerlegt werden kann

32 - 59 Dieser Abschnitt wird mit Event-Handler bezeichnet Hier wird auf die Kommandos (Events) reagiert und die ent-sprechenden Schritte ausgefuumlhrt zB schalten LED je nach Wert der Variablen Parameter an- bzw ausschalten

46 52

In beiden Zeilen wird ein Wert eines Ports abgefragt Unterschiedlich ist dass in Zeile 46 der Status eines Ausgangs abgefragt wird (porta0) und in Zeile 52 der Zustand eines Eingangs (pina0) Die Anweisung IF porta0 = 0 THEN pruumlft (hier ist = ein Vergleich und KEINE Zuweisung) ob zuletzt die LED ausgeschaltet (Zuweisung porta0 = 0) wurde Die Anweisung IF pina1= 1 THEN liest den Status eines Eingangs Hier kann festgestellt werden ob der Eingang uumlber den internen Pull-UP-Widerstand auf +5V liegt (pina1 liefert 1) oder ob der Schalter den Eingang mit Masse (0V) verbindet (pina1 liefert 0)

Tab 14 Erlaumluterung des Mikrocontroller-Programmcodes fuumlr elementares RCL

70

In Bascom AVR eine neue Datei erzeugen (FileNew) den Programmcode ohne Kommenta-re eingeben und mit ProgramCompile (F7) eine Hexadezimaldatei erzeugen Die Hexadezi-maldatei mit dem AVR-Studio und dem AVR-ISP-Programmer in den Mikrocontroller schrei-ben (larr 222 Programmuumlbertragung) Nach dem Verbinden von Computer und Interface per Null-Modem-Kabel kann durch Eingabe von in das konfigurierte Hyperterminal die Befehls-liste in Abb 30 aufgerufen werden

Abb 30 Aufgerufene Befehlsliste im Hyperterminal

Durch Eingabe von LED on oder LED off kann die LED ein- und ausgeschaltet LED zeigt den Status der LED und sw den Status des Tasters an Alternativ zum Hyperterminal kann auch das Terminal in BASCOM unter ToolsTerminal Emulator verwendet werden (larr 422)

464 Ferngesteuertes RCL Zum Ansteuern des Interfaces und zum Bedienen des Versuchsaufbaus uumlber das Internet wird eine Webseite benoumltigt die dem Benutzer alle Bedienelemente des Experiments zur Verfuumlgung stellt

Der Benutzer benoumltigt anklickbare Buttons im Webbrowser

Der Webserver muss die Information welcher Button gedruumlckt wurde empfangen und ein entsprechendes Kommando uumlber die serielle Schnittstelle an das Interface senden

Beide Schritte sind im nachfolgenden PHPHTML-Quellcode zusammengefasst 01 ltDOCTYPE HTML PUBLIC -W3CDTD HTML 401 TransitionalEN httpwwww3orgTRhtml4loosedtdgt 02 lthtmlgt 03 ltheadgt 04 ltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1gt 05 lttitlegtelementares RCLlttitlegt 06 ltheadgt 07 08 ltbodygt 09 ltphp 10 if (isset($_POST[Kommando])) wurde bereits Kommando gesendet 11 if( ( $handle = fopen( COM1 w+ ) ) ) Schnittstelle oumlffnen 12

71

13 throw new Exception( Can not access serial port 2 ) ohne Erfolg 14 15 fwrite( $handle $_POST[Kommando] chr( 13 ) ) Befehl an Interface senden 16 switch ( $_POST[Kommando] ) Antwort von Interface auswerten 17 case LED $tmp = fgets( $handle ) Echo von Interface ignorieren 18 $antwort = fgets( $handle ) Antwort des Interfaces 19 echo Antwort $antwort Ausgabe auf Webseite 20 break switch verlassen 21 22 case SW $tmp = fgets( $handle ) Echo von Interface ignorieren 23 $antwort = fgets( $handle ) Antwort des Interfaces 24 echo Antwort $antwort Ausgabe auf Webseite 25 break switch verlassen 26 27 28 29 fclose( $handle ) Schnittstelle schlieszligen 30 31 else 32 `mode com1 BAUD=9600 PARITY=N data=8 stop=1 xon=off` Schnittstellenparameter setzen 33 34 35 gt 36 37 lth3gtBefehl sendenlth3gt 38 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 39 ltinput type=hidden name=Kommando value=LED ON gt 40 ltinput type=submit value=LED anschalten gt 41 ltformgt 42 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 43 ltinput type=hidden name=Kommando value=LED OFF gt 44 ltinput type=submit value=LED ausschalten gt 45 ltformgt 46 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 47 ltinput type=hidden name=Kommando value=LED gt 48 ltinput type=submit value=LED abfragen gt 49 ltformgt 50 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 51 ltinput type=hidden name=Kommando value=SW gt 52 ltinput type=submit value=Taster abfragen gt 53 ltformgt 54 ltbodygt 55 lthtmlgt Den Quellcode in den Texteditor kopieren und im Ordner htdocs von XAMPP z B unter rclphp speichern HTML-Dateien mit PHP-Code (Zeilen 9-35) muumlssen mit der Erweiterung php gespeichert werden damit der Apache Webserver zwischen HTML-Seiten mit und ohne PHP-Code unterscheiden kann Den installierten Apache Webserver starten (larr 452) und im Adressfeld des Webbrowsers die IP-Adresse http127001rclphp aufrufen Das Bedi-enfeld des elementaren RCLs in Abb 31 wird im Browserfenster angezeigt

72

Abb 31 Laborseite des elementaren RCLs

Im Bedienfeld kann die LED an- und ausgeschaltet sowie der Status von LED und Taster abgefragt werden

  • 0 Warum ein Tutorial zur RCL-Technik
  • 1 Technische Konzeption
    • 11 Einfuumlhrung
    • 12 Wahl der RCL-Technik
      • 2 Lokal gesteuertes RCL
        • 21 Interface
          • 211 Mikrocontroller
          • 212 Basisschaltung und Erweiterungsschaltungen
          • 213 Programmierung des Mikrocontrollers
            • 22 Hyperterminal
            • 23 Positionieren von Objekten
              • 231 Hybrid-Schrittmotoren
              • 232 Schrittmotorsteuerung und Positionierungsmechanik
                  • 3 Ferngesteuertes RCL
                    • 31 RCL-Server
                    • 32 Laborseite
                      • 321 Steuerung des RCLs uumlber das Bedienfeld
                      • 322 Videouumlbertragung im Webcamfeld
                        • 33 Standard-Lernumgebung
                          • 4 ANHANG
                            • 41 Interface in Basisschaltung
                              • 411 Schaltplan und Bauteilliste
                              • 412 Bestuumlckung der Platine
                                • 42 Erweiterungsschaltungen
                                  • 421 Uumlbersicht
                                  • 422 TMC222-Modul zur Schrittmotorsteuerung
                                    • 4221 Schaltplan und Bauteilliste
                                    • 4222 Bestuumlckung der Platine
                                    • 4223 Quellcode des Mikrocontroller-Programms
                                      • 423 Geschaltete Spannungsquellen und Verbraucher
                                      • 424 Steuerung von Gleichstrommotoren
                                        • 43 Quellcodes zum RCL Elektronenbeugung
                                          • 431 Mikrocontroller-Programmierung
                                          • 432 PHP-Programmierung
                                          • 433 Bedienfeld der Laborseite
                                          • 434 Webcamfeld der Laborseite
                                            • 44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung
                                              • 441 AVR-Studio 418
                                                • 4411 Installation
                                                • 4412 Konfiguration
                                                  • 442 BASCOM 11198 Demoversion
                                                    • 4421 Installation
                                                    • 4422 Konfiguration
                                                        • 45 Installation und Konfiguration von Programmen auf dem RCL-Server
                                                          • 451 Einrichten des Internet-Zugangs
                                                          • 452 Paket XAMPP 174
                                                          • 453 Videoserver webcamXP 5 Private
                                                          • 454 Terminalprogramm Hyperterminal
                                                          • 455 Fernwartungssoftware TeamViewer 6 Host
                                                            • 46 Selbstbau eines elementaren RCLs
                                                              • 461 Hard- und Software
                                                              • 462 Bestuumlckung der Platine
                                                              • 463 Lokal gesteuertes RCL
                                                              • 464 Ferngesteuertes RCL

6

Das RCL Elektronenbeugung kann auf dem RCL-Portal nach der Wahl des Menuumlpunkts RCLs aufgerufen werden Die Wahl des Menuumlpunkts Labor aus der Standard-Lernumgebung ruft die Laborseite des RCLs in Abb 3 auf

Abb 3 Laborseite des RCLs Elektronenbeugung in einem Webbrowser

Im Bedienfeld kann die Gluumlhkathode der Elektronenkanone mit dem Button Elektronenroumlhre einschalten eingeschaltet werden Durch Eingabe von Werten zwischen 0 und 43 kV kann eine variable Beschleunigungsspannung an die Elektronenkanone angelegt das auf dem Szintillationsschirm entstehende Beugungsmuster im Webcamfeld beobachtet und mit dem Button Screenshot das Webcambild auf dem Computer gespeichert werden

Die Realisation eines RCLs erfolgt in zwei Schritten Als lokal gesteuertes RCL kann das Ex-periment ohne Internetzugang vom RCL-Server aus gesteuert werden als ferngesteuertes RCL kann mit dem RCL zusaumltzlich weltweit uumlber das Internet experimentiert werden Abb 4 zeigt dazu das Blockdiagramm der fuumlr alle RCLs einheitlichen Funktionsgruppen von RCL-Server Interface und Experiment Pfeile zwischen den Funktionsgruppen geben Kommuni-kations- oder Abhaumlngigkeitsrichtungen an

7

Abb 4 Funktionsgruppen von RCL-Server Interface und Experiment eines RCLs

Lokal gesteuertes RCL Damit das Experiment fernbedienbar wird muss der Versuchsaufbau mit Sensoren (z B fuumlr Temperatur) Aktoren (z B Schrittmotor) oder anderen gesteuerten Geraumlten (z B Hochspannungsnetzgeraumlt in Abb 2) ausgestattet werden Das Interface besteht aus einer fuumlr alle RCLs identischen Basisschaltung und aus RCL-spezifischen Erweiterungsschal-tungen (rarr 212) fuumlr die Sensoren Aktoren und gesteuerten Geraumlte Wichtigster elektronischer Baustein der Basisschaltung ist ein programmierbarer Mikro-controller (rarr 211) zur Steuerung des Experiments Fuumlr die Programmentwicklung wird eine Entwicklungsumgebung auf dem RCL-Server oder alternativ auf anderen Computern verwendet (rarr 213) Die Programmuumlbertragung vom RCL-Server auf den Mikrocontroller erfolgt uumlber einen USB-ISP-Programmer und die ISP-Schnittstelle des Mikrocontrollers (rarr 213) Danach werden die in Abb 4 gestrichelt dargestellten Funktionsgruppen und Verbindungen nicht weiter benoumltigt und das RCL kann lokal uumlber ein Terminal (rarr 22) ge-steuert werden werden

Ferngesteuertes RCL Um auf das RCL weltweit zugreifen zu koumlnnen wird auf dem RCL-Server ein Webserver installiert und ein Internetzugang benoumltigt (rarr 31) Befehle von der Laborseite wie z B Parametereingaben werden von einem PHP-Programm interpretiert und uumlber die RS232-Schnittstelle (alternativ uumlber USB-Seriell-Adapter) des RCL-Servers an die RS232-Schnittstelle des Mikrocontrollers zur Ausfuumlhrung an das Experiment uumlbermittelt In umge-kehrter Richtung werden uumlber das PHP-Programm vom Mikrocontroller Zustaumlnde des Ex-periments oder Messergebnisse an die Laborseite uumlbermittelt (rarr 321) Zur Uumlbertragung von Videobildern einer oder mehrerer Webcams die visuelle Ruumlckmeldungen uumlber den Zustand des Experiments geben wird ein Videoserver eingesetzt (rarr 322) Der RCL-Server stellt Besuchern auszliger der dynamisch generierten Laborseite auch die statischen Webseiten der Standard-Lernumgebung (larr 11 Abb 2) des RCLs bereit (rarr 33)

8

12 Wahl der RCL-Technik Es existiert eine nur schwer im Detail zu uumlberblickende und zu beherrschende Vielzahl von Hard- und Softwaretechnologien (Interfaces und Programmiersprachen) um ein Experiment uumlber das Internet fernbedienbar zu machen Im Folgenden wird die Wahl der Technik von RCLs des RCL-Portals begruumlndet

Interface Zu Beginn des RCL-Projekts war es naheliegend auf vorhandene technische Loumlsungen zum Interface zuruumlckzugreifen Das RCL Elektronenbeugung wurde zunaumlchst mit dem Power-Cassy4 und dem Sensor-Cassy5 von Leybold zur Steuerung und Messung der Be-schleunigungsspannung betrieben Der heutige Preis fuumlr beide Komponenten zusammen liegt bei ungefaumlhr 1700 euro Ein Datenaustausch zwischen dem RCL-Server und dem Sen-sor-Cassy wurde uumlber das Common Gate Interface (CGI) realisiert Bei den nicht mehr existierenden Versionen der RCLs Beugung und Interferenz und Computertomographie wurde das Intelligent Interface6 von Fischertechnik eingesetzt Fuumlr 130 euro wurden 4 umpolbare kurzschlussfeste digitale Ausgaumlnge mit 025 A Dauerbelast-barkeit fuumlr Gleichstrommotoren Elektromagneten oder Lampen geboten Digitale Senso-ren wie z B Taster konnten an 8 digitale Eingaumlnge angeschlossen werden Fuumlr Potenti-ometer Temperatur- oder Helligkeitssensoren mit variablem Widerstand als Ausgangs-groumlszlige waren 2 analoge Eingaumlnge mit Eingangswiderstand zwischen 0 und 5 kΩ und einer Abtastrate von 50 Hz verfuumlgbar Programmiert werden konnte das Interface mit C++ Vi-sual Basic oder als Einstieg in die Technik des Programmierens mit der graphisch orien-tierten Programmiersprache LLWin Ein nutzerspezifisches im RAM des Interface gespei-chertes Programm ging ohne Spannungsversorgung verloren Die Nachteile dieser Interfaces wie zu hohe Kosten zu geringe Flexibilitaumlt beim Anschluss von Sensoren und Aktoren - insbesondere von Schrittmotoren - und zu geringe Messraten wurden erst durch das programmierbare Eigenbau-Interface (rarr 21) fuumlr ungefaumlhr 50 euro (rarr 41) und eine modular gestaltete an das jeweilige RCL anzupassende PHP-Basisprogrammierung (rarr 432) geloumlst Zur Programmierung des Interface wird ein USB-ISP-Programmer fuumlr ungefaumlhr 30 euro benoumltigt

Software fuumlr RCL-Server Mikrocontroller und Standard-Lernumgebung Tab 1 enthaumllt eine Uumlbersicht der Programme fuumlr den RCL-Server und einem weiteren Computer Die Links fuumlhren auf die Webseite zum Download des Programms und Preise sind angegeben Auf Installation und Konfiguration von Programmen wird in den einzel-nen Abschnitten des Tutorials eingegangen

4 Vgl LD Didactic Power-Cassy 5 Vgl LD Didactic Sensor-Cassy 6 Vgl Fischertechnik Intelligent Interface nicht mehr lieferbare Art-Nr 30402 bei Knobloch GmbH

9

Typ Hersteller Name und Version Preis

RC

L-Se

rver

Betriebssystem und Terminal

Microsoft Windows XP Professional mit Service Pack 3 Microsoft Hyperterminal in Windows XP Professional unter

StartProgrammeKommunikationHyperterminal asymp 20 euro

Webserver und PHP Apache Friends XAMPP 174 fuumlr Windows Installer-Version The PHP Group PHP 531 (enthalten in XAMPP 174)

-

Videoserver Moonware Studios webcamXP 5 Free (eine Videoquelle) Moonware Studios webcamXP 5 Private (bis zu 5 Videoquellen)

- 4495 euro

RCL-Software Technische Universitaumlt Kaiserslautern RCL-Ordner htdocs -

Fernwartung- und Desktop-Sharing TeamViewer GmbH TeamViewer 6 Vollversion -

Virenscanner Avira AntiVir Personal Webeditor Notepad++ team Notepad++ 59 -

Com

pute

r

Entwicklungsumgebungen fuumlr Mikrocontroller ATmega16

ATMEL AVR-Studio 418 - Sourceforge WinAVR - MCS Electronics BASCOM-AVR Demoversion (maximal 4 kB

Programmcode) MCS Electronics BASCOM-AVR Vollversion

-

89 euro MikroElektronika MikroPascal Pro for AVR asymp 140 euro

Webeditor Notepad++ team Notepad++ 59 Adobe Dreamweaver CS557

- asymp 115 euro

Fernwartung- und Desktop-Sharing TeamViewer GmbH Teamviewer 6 Vollversion -

Tab 1 Programme fuumlr den RCL-Server und fuumlr weiteren Computer zur Prgrammie-rung des Mikrocontrollers Webseitenerstellung und Fernwartung ( optio-nale Programme Links fuumlhren auf Webseite zum Download Stand Juni 2011)

Fuumlr den RCL-Server wird als stabiles Betriebssystem Windows XP Professional einge-setzt Microsoft vertreibt seit Dezember 2008 Windows XP nicht mehr Sicherheitspatches werden noch bis April 2014 bereitgestellt ein Bezug ist z B uumlber Ebay8 moumlglich Das Hy-perterminal-Programm zur Kommunikation mit dem Interface ist Teil von Windows XP Professional Vom Open-Source-Paket XAMPP wird der Apache Webserver und der PHP-Interpreter eingesetzt Da in der Regel bei RCLs zwei Webcambilder uumlber das Inter-net uumlbertragen werden muumlssen ist der Videoserver webcamXP 5 nicht kostenlos Im RCL-Ordner htdocs befindet sich die Basissoftware die noch an das zu realisierende RCL anzupassen ist Ein kostenloser Virenscanner wie z B Antivir Personal ist erfahrungsge-maumlszlig ausreichend Als Fernwartungssoftware fuumlr den RCL-Server wird Teamviewer emp-fohlen Es genuumlgt der Teamviewer Host weil vom RCL-Server kein Remote-Zugriff auf den Computer erfolgen muss Fuumlr kleinere Arbeiten an der RCL-Software oder der Stan-dard-Lernumgebung waumlhrend der Fernwartung sollte ein kostenloser Webeditor wie z B Notepad++ installiert werden Auf einem weiteren Computer kann zur Programmierung des Mikrocontroller eine Ent-wicklungsumgebung fuumlr folgende Programmiersprachen installiert werden Mit dem AVR-Studio kann in Assembler und nach der Installation von WinAVR in C bzw C++ program-miert werden Fuumlr Einsteiger wird eine Programmierung in Basic mit BASCOM-AVR emp-fohlen Falls der Programmcode groumlszliger als 4 kB ist muss die Vollversion erworben wer-

7 Vgl Adobe Dreamweaver CS55 8 Vgl Ebay Windows XP Professional

10

den Eine Programmierung in Pascal ist fuumlr ungefaumlhr 140 euro mit dem Pascal-Compiler von MikroElektronika moumlglich Mit Notepad++ steht ein kostenloser und guter Webeditor zum Erweitern der PHP-Basissoftware und zum Erstellen von Webseiten der Standard-Lernumgebung bereit Als professionellerer Editor kann z B Dreamweaver verwendet werden Fuumlr die Fernwartung des RCL-Servers muss auf dem zugreifenden Computer die Vollversion von Teamviewer installiert werden

Die gewaumlhlte Hard- und Software fuumlr RCLs bietet folgende Vorteile

Geringe Hard- und Softwarekosten Interface mit Erweiterungsschaltungen (asymp 70 euro) USB-ISP-Programmer (asymp 30 euro) AVR-Studio zur Programmierung in C (0 euro) Betriebssystem Windows XP Professional (asymp 20 euro) webcamXP 5 fuumlr ein Webcambild (0 euro) koumlnnen zusammen fuumlr 120 euro erworben werden Mit einem nicht mehr benoumltigtem aumllteren Computer Tastatur und Maus (0 euro) einem ausge-dientem Monitor (0 euro) einer einfachen USB-Webcam (asymp 20 euro) und der Positionierungsme-chanik eines nicht mehr benoumltigten aumllteren Scanners (0 euro) kann ein RCL schon ab 140 euro realisiert werden

Einfache Adaptierbarkeit des Interface und der PHP-Basissoftware an das Experiment Der Mikrocontroller des Interface kann frei programmiert werden Mit der Aufteilung der Schaltung des Interface in eine fuumlr alle RCLs gleiche Basisschaltung und RCL-spezifische Erweiterungsschaltungen (rarr 212) ist das Interface leicht an das Experiment anpassbar Durch die im Mikrocontroller integrierten Peripheriebausteine genuumlgen meist wenige Bau-elemente und die unterschiedlichsten Mess- und Steuergroumlszligen koumlnnen verarbeitet wer-den Die PHP-Basissoftware braucht nur um wenige Programmbloumlcke erweitert zu wer-den

Einfacher Zugang zu Ressourcen der RCL-Technik Die weite Verbreitung des Mikrocontrollers ATmega16 im Hobbybereich korrespondiert mit einem umfangreichen kostenlosen Informationsmaterial zur Hardware und Software des Mikrocontrollers im Internet In Tab 2 sind unter Mikrocontroller Links zu Datenblaumlt-tern Portalen und Foren mit praxisnahen Loumlsungen fuumlr Probleme der Mikrocontroller-Programmierung zusammengestellt Ein staumlrker strukturiertes Erlernen der Funktionen und Programmierung von AVR-Mikrocontrollern ist uumlber die genannten Tutorials im Inter-net und Buumlcher moumlglich

11

Ressource Kurzbeschreibung

Mik

roco

ntro

ller

Mikrocontroller mega16A Mikrocontroller ATmega16A Summary

Ausfuumlhrliches und zusammenfassendes Datenblatt des Mikrocon-trollers ATmega16

wwwmicrocontrollernet Portal fuumlr Mikrocontroller RoboterNETZ Portal fuumlr Robotik Mikrocontroller und Elektronik AVR-Tutorial Tutorial zur AVR-Familie auf microcontrollernet BASCOM-AVR Online-Hilfe zur Entwicklungsumgebung BASCOM-AVR myAVR Mikrocontrollerloumlsungen fuumlr Ausbildung und Selbststudium BASCOM-Forum Forum von MCS BASCOM RoboterNETZ-Forum Forum von RoboterNETZ myAVR-Forum Forum von myAVR AVR-Forum Forum von Atmel Roland Walter AVR Mikrocontroller Lehr-buch Buch zur Programmierung von AVR-Mikrocontrollern mit Basic

Guumlnter Schmitt Mikrocomputertechnik mit Controllern der Atmel AVR-RISC-Familie

Buch zur Programmierung von AVR-Mikrocontrollern in Assemb-ler und C

Claus Kuumlhnel Programmierung der AVR RISC Mikrocontroller mit BASCOM-AVR

Buch zur Programmierung von AVR-Mikrocontrollern in BAS-COM-AVR (Basic)

Frank Sichla Schaltungssammlung Mikro-controller und USB

Buch mit praktischen Anwendungsschaltungen und Einsatzmoumlg-lichkeiten von Mikrocontrollern

HTM

LPH

P

SELFHTML Portal zum Erstellen von Webseiten mit HTML SELTPHP Portal zum Programmieren von Webseiten mit PHP PHP Entwicklerseite von PHP Kleines Tutorial PHP-Tutorial PHP-Handbuch PHP-Handbuch

Elek

tron

ik

reichelt elektronik Elektronikversand Conrad Elektronikversand ELV Elektronik Elektronikversand Datasheet Catalogcom Datenbank fuumlr Datenblaumltter elektronischer Bauelemente Datasheet Archive Datenbank fuumlr Datenblaumltter elektronischer Bauelemente Pegelwandler Max232 fuumlr serielle Schnitt-stelle Datenblatt des ICs Max232 von Texas Instruments

Spannungsregler L7805 Datenblatt des ICs L7805 von STMicroelectronics Schrittmotormodul TMC222 Datenblatt des ICs TMC222 von Trinamic

Schr

ittm

otor

en

Minebea Hybrid Stepping Motors Datenblaumltter von 12 Hybrid-Schrittmotoren Trinamic Stepper Motors Datenblaumltter und Bezugsquellen von 6 Hybrid-Schrittmotoren reichelt elektronik Groszliges Angebot an Schrittmotoren Quality Motors Auf TMC-Module und -ICs abgestimmte Schrittmotoren Nanotec Schrittmotor-Animation Animation von unipolarem und bipolarem Schrittmotor

Nanotec Glossar Glossar mit Erklaumlrungen zu wichtigen Begriffen aus der Schrittmo-tor-Antriebstechnik

Erich Rummich Elektrische Schrittmoto-ren und -antriebe- Funktionsprinzip- Be-triebseigenschaften - Messtechnik

Buch zum Erwerb von Kenntnissen zum Aufbau und zur Funkti-onsweise von Schrittmotoren

Tab 2 Ressourcen zur Realisation eines RCLs

Die seit 1996 zunehmende Bedeutung der kostenlosen Skriptsprache PHP und das Wachstum des Internets korrespondieren mit einer Zunahme an kostenlosem Informati-onsmaterial zur PHPHTML-Programmierung Neben den unter PHPHTML in Tab 2 ge-nannten Ressourcen sind wegen des groszligen Marktes keine Buumlcher zu PHP genannt Die teuren und schnell veraltenden Buumlcher sollten in Bibliotheken geliehen werden Unter Elektronik sind in Tab 2 Links zum Versandhandel elektronischer Bauelemente zu Datenbanken mit Datenblaumlttern elektronischer Bauelemente und zu Datenblaumlttern der wichtigsten ICs des Interface zu finden Unter Schrittmotoren sind Links zu Schrittmotoren

12

wichtiger Anbieter zusammengestellt die uumlber den Elektronikhandel leicht bezogen wer-den koumlnnen Das Buch von Erich Rummich erklaumlrt Zusammenhaumlnge zwischen Bauform und Funktionsweise von Schrittmotoren die uumlber Informationen zu Schrittmotoren im Tu-torial (rarr 231) gegebenen Informationen hinausgehen

Programmierung des Mikrocontrollers in Basic Besonders die Moumlglichkeit der Programmierung des Mikrocontrollers in der Hochsprache Basic (larr 12 Tab 1 Bascom AVR) erleichtert den Einstieg in den Selbstbau von RCLs Daruumlber hinaus besteht analog zur PHP-Programmierung die Mikrocontroller-Programmierung aus einer an das jeweilige RCL lediglich anzupassenden Basispro-grammierung (rarr 431)

Betriebssystemunabhaumlngigkeit Das Interface kommt ohne betriebssystemspezische Treiber aus PHP und HTML sind be-triebsystemunabhaumlngige Sprachen Der Apache Webserver XAMPP ist auszliger fuumlr Windows fuumlr die Betriebssysteme Linux Mac OS X und Solaris9 erhaumlltlich

Wartung von Programmierung und Interface Aumlnderungen der PHPHTML-Programmierung koumlnnen leicht uumlber einen Fernzugriff auf den RCL-Server vorgenommen werden Da der PHPHTML-Quellcode im RCL-Betrieb stets in einer lauffaumlhigen Form vorliegt fuumlhren Wechsel von Personen die Zugriff auf die Programmierung haben nicht zu Ausfaumlllen des RCLs Aumlnderungen und Reparaturen an den Ergaumlnzungsschaltungen des Interface koumlnnen aufgrund des Lochrasteranteils der Platine (rarr 412) leicht durchgefuumlhrt werden

Zerstoumlrungssichere Versuchskomponenten Versuchskomponenten sind durch die Programmierung des Mikrocontrollers vor Fehlbe-dienungen des RCLs geschuumltzt Da der Mikrocontroller die Zulaumlssigkeit von Parameter-werten uumlberwacht ist kein Missbrauch des Experiments durch Dritte moumlglich Abstuumlrze des RCL-Servers fuumlhren nicht zu undefinierten Zustaumlnden des Experiments weil der Mik-rocontroller das Experiment steuert In der Lebensdauer staumlrker begrenzte Versuchskom-ponenten wie z B die Elektronenbeugungsroumlhre beim RCL Elektronenbeugung (larr 11 Abb 2) koumlnnen durch eine programmierte Standby-Funktion des Mikrocontrollers bei Nichtgebrauch ausgeschaltet werden

Keine Installation von Zusatzsoftware Besucher benoumltigen zum Experimentieren mit RCLs lediglich einen kostenlos verfuumlgbaren Webbrowser wie z B die auf Funktionsfaumlhigkeit fuumlr die RCLs getesteten Internet Explo-rer Opera Firefox Safari oder Konquerer mit aktivierter Javaskript-Funktion Es muss keine weitere Zusatzsoftware installiert werden

Eine alternative technische Loumlsung fuumlr RCLs ist LabVIEW (Laboratory Virtual Instrument En-gineering Workbench) von National Instruments (NI)10 LabVIEW ist eine sehr umfangreiche

9 Apache friends XAMPP

13

mittlerweile als Industriestandard geltende grafische Programmierumgebung zum Messen Steuern und Regeln von Systemen Uumlber umfangreiche Treiber-Bibliotheken lassen sich fast alle gaumlngigen mit einer entsprechenden Schnittstelle ausgestatteten Geraumlte in LabVIEW ein-binden LabVIEW wurde als technische Loumlsung im RCL-Projekt aus mehreren Gruumlnden nicht eingesetzt

Besucher muumlssen einmalig vor dem Experimentieren mit RCLs die LabVIEW Run-Time Engine11 installieren

Es existieren nur wenige Schulgeraumlte mit den erforderlichen Schnittstellen

Die Kosten von ungefaumlhr 1300 euro fuumlr die Basisversion und ungefaumlhr 2800 euro fuumlr die Vollver-sion sind zu hoch

LabVIEW ist fuumlr die zu entwickelnden RCLs bzw die Zielgruppe aus Schuumllern und Studie-rende uumlberdimensioniert Der Nachbau von RCLs durch interessierte Schuumller und Studie-rende waumlre aus Kosten und Anforderungsgruumlnden nur schwer moumlglich

Trotz der graphischen Programmieroberflaumlche von LabVIEW muumlssen im Programmcode immer noch Anpassungen in der speziell fuumlr LabVIEW entwickelten Programmiersprache G vorgenommen werden

Die Einarbeitung in LabVIEW ist vom Zeitaufwand und den Anforderungen her mindes-tens genauso hoch wie die fuumlr Mikrocontroller- und PHP-Programmierung

Eine mit fertigen LabVIEW-Elementen gestaltete Laborseite ist nicht unbedingt nutzer-freundlicher als eine mit PHPHTML erstellte Laborseite

2 Lokal gesteuertes RCL 21 Interface 211 Mikrocontroller Zentrales Bauelement des Interface ist ein ATMEL AVR 8-bit RISC Mikrocontroller ATme-ga16 Dieser enthaumllt im Vergleich zu einem Mikroprozessor auszliger dem Prozessor auch peri-phere Module wie z B Speicher digitale und analoge Ein- und Ausgaumlnge oder Timer fuumlr Zu-satzfunktionen Dadurch kommen Anwendungen von Mikrocontrollern wie z B RCLs meist mit wenigen zusaumltzlichen Bauelementen aus Tab 3 enthaumllt eine Uumlbersicht der wichtigsten Features des Mikrocontrollers zum Prozessor zur Programmierung und Datenspeicherung zu peripheren Modulen und erlaumlutert einige Fachbegriffe

10 Vgl National Instruments 11 Vgl National Instruments LabVIEW Run-Time Engine

14

Feature Erlaumluterung

Proz

esso

r

ATMEL AVR 8 bit RISC Mik-rocontroller ATmega16

ATMEL US-amerikanischer Hersteller von Mikrocontrollern AVR Familie von Mikrocontrollern 8 bit Breite des internen Datenbusses des Mikrocontrollers RISC steht fuumlr Reduced Instruction Set Computer (Rechner mit reduziertem Befehls-

satz) Designphilosophie von Mikrocontrollern mit Befehlssatz aus moumlglichst einfa-chen Befehlen und houmlherer Effizienz des Prozessors

ATmega Eine der Mikrocontroller-Serien von ATMEL 16 steht fuumlr 16 kB Flash-ROM Groumlszlige des Programmspeichers des Mikrocontrollers

131 Befehle mit 1-2 Taktzyk-lenBefehl

Die ATmega-Serie besitzt unter den Mikrocontroller-Serien von ATMEL den groumlszligten Befehlssatz Die meisten Befehle benoumltigen zur Ausfuumlhrung nur einen Taktzyklus

Variabel waumlhlbare Taktfre-quenzen bis zu 16 MHz

Ein externer Schwingquarz legt die Schwingungsfrequenz einer Oszillatorschaltung und damit die Taktfrequenz des Mikrocontrollers fest

Prog

ram

mie

rung

und

Dat

ensp

eich

erun

g

ISP uumlber SPI-Bus in 16 kB Flash-ROM Programm-Speicher

ISP steht fuumlr In System Programming Der Mikrocontroller kann ohne aus der Schal-tung entfernt zu werden programmiert werden Es wird kein teures Programmierge-raumlt sondern nur ein Programmieradapter benoumltigt

SPI steht fuumlr Serial Peripheral Interface (Serielles Peripheres Interface) Nach dem Master-Slave-Prinzip arbeitender synchroner serieller Datenbus zur Kommunikation zwischen digitalen Schaltungen

Flash-ROM Kann zur Speicherung des Programmcodes ca 1000-mal neu be-schriebengeloumlscht - geflashed - werden aber beliebig oft gelesen werden Daten bleiben auch ohne Versorgungsspannung erhalten

512 B EEPROM 1 kB internes SRAM

EEPROM steht fuumlr Electrically Erasable Programmable Read Only Memory (Elektrisch loumlschbarer und programmierbarer Nur-Lese-Speicher) Nichtfluumlchtiger Speicher der beliebig oft gelesen und mindestens 100000 mal beschrieben werden kann Kann z B zum Speichern von Messwerten und Konfigurationsdaten verwen-det und uumlber ISP programmiert werden

SRAM steht fuumlr Static Random Access Memory Fluumlchtiger Speicher der beliebig oft gelesen und beschrieben werden kann Wird z B zur Speicherung von Variablen und des Stacks verwendet

Perip

here

Mod

ule

32 programmierbare Ein- und Ausgaumlnge

Der Mikrocontroller ist 40-polig Davon koumlnnen 32 Pole entweder als Ein- oder Aus-gang programmiert werden

Zwei 8-bit- und ein 16-bit-Timer mit Vorteilern und Ver-gleichs-Modus

Die vom Quarzoszillator gesteuerten Timer erlauben z B praumlzise Zeitmessungen oder Interrupts bei bestimmten Zaumlhlerstaumlnden Die maximalen Zaumlhlerstaumlnde sind bei 8 bit 255 und bei 16 bit 1023 Vorteiler erlauben eine Verringerung der Zaumlhlrate

Programmierbare USART USART steht fuumlr Universal SynchronousAsynchronous Receiver Transmitter Seriel-

le Schnittstelle die zur Datenuumlbertragung zwischen Mikrocontroller und Computer benutzt wird

I2C Interface

I2C ist ein synchroner serieller Zweidraht-Bus mit einer Daten- und einer Taktleitung zur Kommunikation zwischen ICs Nach dem Master-Slave-Prinzip kann ein Master bis zu 128 Slaves ansprechen Die Uumlbertragungsrate liegt im Standard-Mode bei 100 kbits

Externe und interne Interrupts

Interrupts unterbrechen das Hauptprogramm des Mikrocontrollers um kurzfristige und zeitkritische Verarbeitungen durchzufuumlhren Externe Interrupts werden durch am Mikrocontroller angeschlossene Hardware gesteuert interne Interrupts durch die Programmierung des Mikrocontrollers

4 PWM-Ausgaumlnge PWM steht fuumlr Pulse Width Modulation (Pulsweitenmodulation) Timer stellen an 4

Ausgaumlngen Rechteckimpulse der Dauer t und Unterbrechungsdauer T-t mit variab-lem Tastverhaumlltnis tT zur Verfuumlgung

8 10-bit ADC

ADC steht fuumlr Analog to Digital Converter (AD-Wandler) Integrierte Schaltung die analoge Eingangsspannung Ue in digitale Ausgangsspannung (Zahl) umwandelt

10-bit Aufloumlsungsvermoumlgen des AD-Wandlers Kleinster aufloumlsbarer Spannungsun-terschied ist (Uemax - Uemin)210

Tab 3 Features des Mikrocontrollers ATmega16

15

212 Basisschaltung und Erweiterungsschaltungen Abb 5 zeigt am Beispiel des RCLs Elektronenbeugung die Platine des Interface mit den Funktionsgruppen 1 - 5 der Basisschaltung und den Funktionsgruppen 6 und 7 der Erweite-rungsschaltungen (larr 11 Abb 4)

Abb 5 Platine des Interface des RCLs Elektronenbeugung

Abb 6 zeigt den dazugehoumlrigen Schaltplan mit den Nummern der Funktionsgruppen und die Pinbelegung des Mikrocontrollers ATmega16

Abb 6 Schaltplan des Interface des RCLs Elektronenbeugung (links) und Pinbelegung

des Mikrocontrollers ATmega16 (rechts)

16

Basisschaltung Die Spannungsversorgung (1) des Interface erfolgt uumlber ein Universal-Steckernetzteil mit der Betriebsspannung Ub = 12 V Eine Diode SB140 schuumltzt die Elektronik des Interface vor falscher Polung der Spannungsversorgung Der Spannungsregler L7805 wandelt die Betriebsspannung am Hohlstecker in eine Gleichspannung von 5 V fuumlr die Spannungs-versorgung der elektronischen Bauelemente des Interface um Die Betriebsspannung kann im Interface auch direkt zur Ansteuerung von Relais oder zur Spannungsversorgung kleinerer Motoren verwendet werden Bei Bedarf kann unter Beachtung der Kuumlhlung des L7805 das Interface mit houmlheren Betriebsspannungen z B fuumlr staumlrkere Schrittmotoren betrieben werden Die nicht hinreichend stabile und temperaturabhaumlngige Frequenz des internen RC-Oszillators im Mikrocontroller (2) kann bei Verwendung der USART zu Problemen fuumlhren Daher wird ein externer 110592 MHz Schwingquarz (3) eingesetzt Der IC MAX232 ist ein Pegelwandler der die 0V+5 V-Signale der seriellen Schnittstelle (4) des Mikrocontrol-lers an die plusmn12 V-Signale der seriellen Schnittstelle des Computers anpasst Uumlber den ISP-Stecker kann der Mikrocontroller programmiert werden (5) Das Interface in der Ba-sisschaltung kann im Selbstbau angefertigt werden (rarr 41)

Erweiterungsschaltungen Nur die wenigsten Aktoren Sensoren gesteuerte Geraumlte und Bauelemente eines RCLs lassen sich direkt vom Mikrocontroller ansteuern Beim RCL Elektronenbeugung wird die Heizspannung der Elektronenkanone mit einem Relais zum Schalten der Netzspannung des Hochspannungsnetzgeraumltes ein- und ausgeschaltet (6) Liefert der Mikrocontroller am Port PA0 die Spannung 5 V (high) so wird die Kollektor-Emitter-Strecke des Transistors BC 337 niederohmig fast die gesamte Betriebsspannung Ub = 12 V faumlllt uumlber dem Relais ab und es flieszligt ein Strom durch das Relais Die Diode 1N4001 schuumltzt den Transistor vor Induktionsspannungsspitzen beim Ein- und Ausschalten der Spule im Relais Am Steuereingang des Hochspannungsnetzgeraumlts kann durch Anlegen einer Steuer-spannung US zwischen 0 V und 5 V die Beschleunigungsspannung der Elektronenkanone zwischen 0 und 43 kV im belasteten Zustand bei eingeschalteter Gluumlhkathode variiert werden Die analoge Steuerspannung US erzeugt ein 8-bit Digital-Analog-Wandler PCF8591 der uumlber den I2C-Bus des Mikrocontrollers (Ports PC0 und PC1) mit Binaumlr-codes zwischen 0 und 255 angesteuert wird (7) Die Ausgangsspannung des DA-Wandlers liegt in 256 Stufen zwischen 370 mV und 497 V Dieser Schaltung wurde der Vorzug gegenuumlber der Erzeugung einer Steuerspannung mit Hilfe eines der Pulsweiten-modulationsausgaumlnge des Mikrocontrollers gegeben weil der Programmieraufwand ge-ringer und die Steuerspannung keine Restwelligkeit aufweist

Eine Uumlbersicht zu Erweiterungsschaltungen fuumlr Sensoren und Aktoren (rarr 421) zeigt die Anpassungsfaumlhigkeit des Interface an die unterschiedlichsten Experimente

17

213 Programmierung des Mikrocontrollers Im Folgenden wird die Programmstruktur des Mikrocontroller-Programms und die Uumlbertra-gung des Programmcodes in den Mikrocontroller beschrieben

Programmstruktur Der Mikrocontroller ist mit einem Programm (Firmware) ausgestattet um die Aufgaben des Interfaces abzuarbeiten Hierzu zaumlhlen im Wesentlichen Programmteile zur Kommu-nikation mit dem RCL-Server und zur Steuerung des Experiments da das Interface eine Schnittstelle zwischen Experiment und RCL-Server darstellt Weitere Programmteile sind beispielsweise zur Initialisierung des Versuchsaufbaus und der Steuerparameter sowie zur Konfiguration des Interfaces realisiert Abb 7 zeigt ein Flussdiagramm der Programm-teile zur Kommunikation mit dem RCL-Server und zur Steuerung des Experiments

Abb 7 Flussdiagramm der Programmierung des Mikrocontrollers

Der Programmteil zur Kommunikation mit dem RCL-Server besteht im Wesentlichen aus einer Schleife die unablaumlssig auf Steuerzeichen des RCL-Servers wartet diese gegebe-nenfalls empfaumlngt und auswertet Soll mittels eines empfangenen Steuerzeichens der Versuchsaufbau angesteuert werden wird vom Kommunikations-Programmteil eine ent-sprechende Anweisung fuumlr den Steuerungs-Programmteil generiert In der Schleife wer-den auch Antworten wie z B Messergebnisse des Steuerungs-Programmteils entgegen-genommen und an den RCL-Server ausgegeben Der Kommunikations-Programmteil kann Kommandos mit und ohne Parameter entgegen-nehmen und verarbeiten So lassen sich einfache Befehle wie Start und Stopp eines Mo-tors aber auch speziellere Anweisungen wie Messe uumlber den Bereich von a nach b mit einer Schrittweite c ausfuumlhren Auch Messergebnisse oder Statusinformationen in Form einzelner Daten wie Zahlen oder Listen koumlnnen vom Kommunikations-Programmteil an den RCL-Server uumlbertragen werden Ferner uumlbernimmt der Kommunikations-Programmteil auch den Austausch von Konfigurationsdaten fuumlr das Interface beispiels-

18

weise Motorparameter oder Zeitvorgaben fuumlr eine Standby-Funktion Schlieszliglich gibt der Kommunikations-Programmteil auch Fehlermeldungen an den RCL-Server aus etwa bei einem Fehlerzustand im Experiment oder bei fehlerhaften Anweisungen des Besuchers bzw des RCL-Servers Im Programmteil zur Steuerung des Experiments erfolgt die Ansteuerung von Aktoren und das Auslesen von Sensoren mittels elektronischer Aus- und Eingaumlnge (Ports) des Mikro-controllers Gegebenenfalls sind zwischen den Ports des Mikrocontrollers und dem Expe-riment Erweiterungsschaltungen erforderlich (larr 212 Erweiterungsschaltungen) Der Steuerungs-Programmteil ist als Interrupt-Routine implementiert Interne Zeitgeber des Mikrocontrollers rufen den Programmteil zyklisch z B alle 1 oder 10 Millisekunden auf wobei die zuvor beschriebene Schleife des Kommunikations-Programmteils kurzzeitig fuumlr die Abarbeitung des Steuerungs-Programmteils unterbrochen wird Hierdurch wird die Steuerung als Real-Time-Prozess12 ausgefuumlhrt und es koumlnnen insbesondere zeitkritische Steueraufgaben mit einer Aufloumlsung von ungefaumlhr 1 - 10 ms zuverlaumlssig erledigt werden Ferner ist im Mikrocontroller und dem Programm ein sogenannter Watchdog installiert der das Programm bei einem Programmabsturz automatisch neu startet Der Watchdog als elektronische Baugruppe im Mikrocontroller fuumlhrt einen Neustart des Mikrocontrollers (Reset) durch sofern er nicht mehr uumlber das Programm in vorgegebenen Zeitintervallen angesteuert wird Je nach RCL gibt es noch weitere Interrupt-Routinen die unabhaumlngig vom Zeittakt des Mikrocontrollers auf externe Ereignisse wie z B Ausgangsspannungsaumlnderungen eines Sensors reagieren Damit kann besonders schnell auf Erfordernisse des Experiments re-agiert oder es koumlnnen Zeitmessungen mit einer Genauigkeit von ungefaumlhr 10-6 s durchge-fuumlhrt werden Im Anhang (rarr 431) ist der Pascal-Quellcode fuumlr den Mikrocontroller des RCLs Elektronenbeugung verfuumlgbar

Programmuumlbertragung Nach der Kompilierung des Assembler- Basic- C+- C++- oder Pascal-Programms liegt eine Hexadezimaldatei vor die vom Computer in den Mikrocontroller uumlbertragen werden muss (Flashen des Programms) Zur Programmuumlbertragung muss das AVR-Studio instal-liert und konfiguriert sein (rarr 441) Abb 8 zeigt wie die Programmuumlbertragung durchge-fuumlhrt wird

12 Real-Time bedeutet hier dass die maximale Dauer eines Vorgangs vorhersehbar und gewaumlhrleistet ist dass eine Steuer-

aufgabe nach einer vorhersehbaren Zeit abgeschlossen ist

19

Abb 8 Programmuumlbertragung zwischen Computer und Mikrocontroller im Inter-

face des RCLs Elektronenbeugung uumlber USB-Seriell-Adapter und ISP-Programmer

Das Interface braucht nicht mit dem Experiment verbunden zu sein Auch Erweiterungs-schaltungen innerhalb oder auszligerhalb des Interface muumlssen nicht mit dem Mikrocontroller verbunden sein Das Interface ermoumlglicht uumlber die ISP-Schnittstelle die Programmierung mit einem preisguumlnstigen ISP-Programmer ohne ein teureres Experimentierboard13 Zur Uumlbertragung des Programms muss in folgenden Schritten vorgegangen werden

(1) Spannungsversorgung des Interface zur Sicherheit unterbrechen weil beim Verbinden mehrpoliger Steckerverbindungen es zu Kurzschluumlssen kommen kann

(2) 10-poligen ISP-Stecker des ISP-Programmers an die ISP-Schnittstelle des Interface anschlieszligen

(3) ISP-Programmer an die serielle Schnittstelle oder uumlber USB-Seriell-Adapter an die USB-Schnittstelle des Computers anschlieszligen

(4) Spannungsversorgung des Interface wieder herstellen

(5) AVR-Studio unter StartProgramme aufrufen und nach Abb 9 in der Registerkarte Program unter Flash die zu uumlbertragende Hexadezimal-Datei z B Elektronenbeu-gunghex auf der Festplatte auswaumlhlen und Program waumlhlen

13 Vgl ATMEL STK 500 Entwicklerkit bei Reichelt Elektronik

20

Abb 9 Uumlbertragung der Hexadezimaldatei Elekt-

ronenbeugunghex in den Mikrocontroller

(6) Spannungsversorgung des Interface unterbrechen ISP-Programmer vom Interface trennen AVR-Studio beenden und den ISP-Programmer vom Computer trennen

22 Hyperterminal Nach der Programmuumlbertragung kann das Experiment uumlber das konfigurierte Hyperterminal (rarr 454) lokal gesteuert werden Mit dem Hyperterminal koumlnnen als Text eingegebene Be-fehle oder Abfragen an den Mikrocontroller gesendet oder von diesem empfangen werden Der Computer muss wie bei der Programmuumlbertragung mit dem Interface per Null-Modem-Kabel uumlber die serielle Schnittstelle oder einen USB-Seriell-Adapter verbunden sein Das In-terface muss an die Versorgungsspannung anschlossen sein braucht aber nicht mit dem Experiment verbunden zu sein Abb 10 zeigt nach Eingabe von und von param im Hyper-terminal die Befehlsliste des Mikrocontrollers fuumlr das RCL Elektronenbeugung

21

Abb 10 Befehlsliste des Mikrocontrollers im Hyperterminal fuumlr das RCL Elektronenbeugung

Tab 4 gibt Erlaumluterungen zur Befehlsliste

BefehlAbfrage Erlaumluterung

DA x Am Eingang des DA-Wandlers wird die Zahl x (0 - 255) im Binaumlrcode

angelegt und die Ausgangsspannung des Hochspannungsnetzgeraumlts bzw die Beschleunigungsspannung der Elektronenkanone eingestellt

OnOff Hochspannungsnetzgeraumlt und Gluumlhkathode der Elektronenkanone ein-

oder ausschalten Beim Einschalten wird die Steuerspannung des Inter-face am Hochspannungsnetzgeraumlt auf asymp 0 V einstellt

Standby Ausgabe der eingestellten Standbyzeit von 300 s setSB x Standbyzeit einstellen

next Standby in Ausgabe der verbleibenden Standbyzeit (254 s) bis das Experiment

ausgeschaltet wird Eine negative Standbyzeit gibt die Zeit seit dem Ab-lauf der Standbyzeit an

Power On Delay Ausgabe der Verzoumlgerungszeit (2 s) bis das Hochspannungsnetzge-

raumltElektronenbeugungsroumlhre nach dem Ausschalten oder nach Ablauf der Standbyzeit erneut eingeschaltet werden kann

setPOD x Verzoumlgerungszeit einstellen

power on enabled in Ausgabe wie lange Hochspannungsnetzgeraumlt nicht eingeschaltet wer-

den kann Zeiten unter 0 bedeuten dass Power-On-Delay-Zeit ablaufen ist

Tab 4 Erlaumluterung der Befehle in Abb 10

23 Positionieren von Objekten In fast allen RCLs des RCL-Portals auszliger den RCLs Elektronenbeugung und Oszilloskop muumlssen Objekte rotatorisch oder translatorisch positioniert werden Eingesetzt werden Hyb-rid-Schrittmotoren als Aktoren eine Schrittmotorsteuerung von Trinamic als Erweiterungs-schaltung (TMC222-Modul) die Positionierungseinheit ausgedienter Flachbrett-Scanner und ein Referenz-Taster als Sensor

231 Hybrid-Schrittmotoren Abb 11 zeigt den vereinfachten schematischen Aufbau eines zweiphasigen Schrittmotors mit getrennten magnetischen Kreisen des Stators und einem permanent magnetisierten zweipoligen Rotor (Polpaarzahl 1)

22

Abb 11 Funktionsprinzip von Schrittmotoren Unipolare (links) und bipolare Schaltung (rechts)

von Schrittmotoren mit Bestromungstabellen fuumlr Voll- und Halbschrittbetrieb Darge-stellt ist der Schritt 0

Der Rotor verfuumlgt bei der dargestellten Polreihenfolge S-S-N-N des Stators uumlber eine stabile Stellung bei einer hypothetischen (magnetische Monopole) Polreihenfolge N-S-N-S gaumlbe es mit diesem Aufbau des Stators nur instabile Stellungen des Rotors Um den Rotor in Bewe-gung zu setzen muss die Polreihenfolge S-S-N-N im oder entgegen den Uhrzeigersinn (Rechts- oder Linksdrehung) weitergeschaltet und der Rotor vom magnetischen Schrittfeld mitgenommen werden

Die magnetische Polaritaumlt eines magnetischen Kreises laumlsst sich entweder durch zwei Spu-len konstanter elektrischer Polaritaumlt mit unterschiedlichem Wicklungssinn (herstellungstech-nisch zu aufwendig) durch eine Spule mit Mittelanzapfung und konstanter elektrischer Pola-ritaumlt der beiden Teilspulen (unipolare Schaltung) oder durch eine Spule mit wechselnder elektrischer Polaritaumlt (bipolare Schaltung) realisieren In Abb 11 sind dazu die elektrischen Beschaltungen und die Bestromungstabellen fuumlr eine Rechtsdrehung des Rotors dargestellt Fuumlr eine Linksdrehung des Rotors muss die Schrittfolge in umgekehrter Reihenfolge durch-laufen werden

Es wird zwischen Vollschrittbetrieb (graue Zeilen der Tabellen) mit Schrittwinkel 90deg bzw Schrittzahl 4 und Halbschrittbetrieb (alle Zeilen der Tabellen) mit Schrittwinkel 45deg bzw Schrittzahl 8 unterschieden Beim Vollschrittbetrieb werden immer beide magnetische Kreise bestromt und die N-S-Polachse des Rotors nimmt nur Stellungen zwischen den Statorpolen

23

an Beim Halbschrittbetrieb wird zwischen den Vollschritten nur einer der magnetischen Krei-se bestromt und die N-S-Polachse des Rotors kann zusaumltzlich 4 Stellungen in Richtung der Statorpole einnehmen Der Hybrid-Schrittmotor ist die am haumlufigsten vertretene Bauform von Schrittmotoren Abb 12 zeigt den Aufbau eines Hybrid-Schrittmotors

Abb 12 Aufbau eines Hybrid-Schrittmotors fuumlr unipolare und

bipolare Schaltung Daten Schrittwinkel 18deg max Drehmoment 155 Ncm

Der Stator besteht aus zwei Straumlngen mit je 4 in Reihe geschalteten Spulen Der Wick-lungssinn der Spulen ist in beiden Straumlngen so dass sich die Polfolge N-S-N-S uumlber den Umfang ergibt Beide Straumlnge zusammen ergeben unabhaumlngig von der Stromrichtung ei-ne Polfolge N-N-S-S-N-N-S-S uumlber den Umfang Ein zweipoliger Rotor (Polpaarzahl 1) kann im Vollschrittbetrieb 4 Stellungen annehmen Der Rotor des Hybridschrittmotors be-steht aber aus axial magnetisierten Permanentmagneten deren Polpaarzahl durch axial versetzte weichmagnetische Zahnscheiben auf 50 erhoumlht wurde Dadurch erhoumlht sich die Schrittzahl auf 4 sdot 50 = 200 und der Schrittwinkel verkleinert sich auf 360deg200 = 18deg Um stabile Rotorstellungen zu erhalten muumlssen die Statorsegmente ebenfalls gezahnt ausge-fuumlhrt werden

Ein solcher Hybrid-Schrittmotor vereint die Vorteile des Reluktanz- und des permanenter-regten Schrittmotors Ein kleiner Schrittwinkel wird durch das von Reluktanzschrittmotoren bekannte Prinzip der Erzeugung einer Vielzahl von Polen des Rotors durch Zahnscheiben erzielt Ein hohes Drehmoment wird durch das von permanenterregten Schrittmotoren be-kannte Prinzip der Ausfuumlhrung des Rotors als Permanentmagnet erzielt Aufgrund der bi-filaren Wicklung besteht jede Statorwicklung aus zwei Teilspulen und der Schrittmotor kann in unipolarer (alle 6 Anschluumlsse verwendet) und bipolarer Schaltung (nur 4 An-schluumlsse verwendet gemeinsamer Anschluss der Teilspulen bleibt unverwendet) wie in Abb 12 dargestellt verwendet werden

24

Schrittmotoren erlauben nicht nur das Bewegen sondern innerhalb der Leistungsgrenzen (keine Schrittverluste) auch ein genaues Positionieren von Objekten Bei bekannter Schrittzahl auf einer gemessenen Strecke oder Schrittzahl fuumlr den Vollwinkel koumlnnen aus-gehend von einer Referenzstellung Objekte translatorisch oder rotatorisch positioniert werden

232 Schrittmotorsteuerung und Positionierungsmechanik Im Folgenden wird die bei allen RCLs mit Schrittmotoren eingesetzte Schrittmotorsteuerung die Mechanik zur translatorischen Positionierung von Objekten und die Funktionsweise eines Referenztasters beschrieben

Schrittmotorsteuerung Abb 13 zeigt das Blockschaltbild und das im Selbstbau herstellbare TMC222-Modul (rarr 4221 rarr 4222) mit dem IC TMC222 von Trinamic zur Steuerung bipolarer 2-phasiger Hybrid-Schrittmotoren

Abb 13 Blockschaltbild (links) und Platine des TMC222-Moduls (rechts) mit IC TMC 222 auf

der Loumltseite der Platine

Der IC TMC222 enthaumllt ein I2C-Interface zum Anschluss an den I2C-Bus des Mikrocon-trollers (Ports PC0 und PC1) Die 10 kΩ-Pull-up-Widerstaumlnde heben die Takt- (SCL clock) und Datenleitung (SDA data) auf ein Potential von 5 V Der IC TMC222 enthaumllt ei-nen Motortreiber fuumlr Spulenstroumlme bis zu 800 mA und einen Motor-Controller zur Steue-rung der Spulenstroumlme Ein Vorteil des TMC-Moduls ist der relativ geringe Programmier-aufwand fuumlr den Mikrocontroller (rarr 4223) da der IC TMC222 nach Uumlbergabe der Steu-erungsparameter (Drehrichtung Drehzahl hellip) vom Mikrocontroller die Ansteuerung des Schrittmotors uumlbernimmt Der IC TMC222 unterstuumltzt das Beschleunigen und Abbremsen des Schrittmotors enthaumllt einen Schrittpositionszaumlhler und unterstuumltzt Mikrostepping (va-riable Spulenstroumlme zur elektronischen Verkleinerung des Schrittwinkels und groumlszligerer Laufruhe)

25

Falls in RCLs Gleichstrommotoren mit houmlheren Drehzahlen als Schrittmotoren benoumltigt werden kann eine andere Erweiterungsschaltung (rarr 424) eingesetzt werden

Positionierungsmechanik und Referenz-Taster Die Mechanik zur rotatorischen Positionierung von Objekten kann meist kostenguumlnstig selbst oder durch Personal in einer Werkstatt angefertigt werden Abb 14 zeigt eine kos-tenguumlnstige Loumlsung zur translatorischen Positionierung von Objekten

Abb 14 Positionierungseinheit eines Flachbrett-

Scanners Schrittmotor (1) Getriebe (2) Li-nearfuumlhrung (3) Antriebsriemen (4) und er-gaumlnzter Referenz-Taster (5)

Falls der geometrische Aufbau und die geforderte Positionierungsgenauigkeit des RCLs es zulassen kann die Schrittmotor-Positionierungs-Einheit ausgedienter Flachbrett-Scanner zur translatorischen Positionierung von Objekten verwendet werden In Einzelfaumll-len wie dem RCL Weltpendel kann die Positionierungsmechanik auch selbst angefertigt werden Der Referenz-Taster in Abb 14 wird eingesetzt um abzufragen ob ein vom Schrittmotor bewegtes Objekt die Position des Tasters erreicht hat und um diese Position zu referenzieren Ohne eine solche Referenzierung kann die Positionierung eines Objekts langfristig ungenau werden So kann z B beim RCL Weltpendel das Auftreffen der Kugel auf den Magneten zum Uumlberspringen von Schrittmotorstellungen fuumlhren Der Zustand des Referenz-Tasters in Abb 15 wird z B uumlber den Port PA0 des Mikrocontrollers abgefragt

Abb 15 Referenz-Taster zum referenzieren der

Position des bewegten Objekts

26

Zu Problemen koumlnnen undefinierte Zustaumlnde der Eingaumlnge des Mikrocontrollers fuumlhren wie sie beim Prellen dem zeitlich begrenzten schwingen eines Tasters beim Oumlffnen oder Schlieszligen entstehen Abhilfe schafft ein passend dimensionierter parallel zum Taster ge-schalteter Kondensator Bei geoumlffnetem Taster ist der Kondensator aufgeladen Beim Schlieszligen haumllt der Kondensator die Spannung uumlber die Schwingphase trotz kurzzeitig wieder geoumlffnetem Schalter noch aufrecht Analoges gilt fuumlr den Uumlbergang vom geschlos-senen zum geoumlffneten Taster

3 Ferngesteuertes RCL 31 RCL-Server Fuumlr den Betrieb eines RCLs wird ein RCL-Server benoumltigt (larr 11) Vorausgesetzt wird dass bei einem neuen Computer alle notwendigen Treiber (Ethernet Video Audio hellip) zum Be-trieb der Hardware des Computers und Windows XP Professional mit Service Pack 3 instal-liert sind Ein Benutzerkonto braucht nicht angelegt zu werden

Der RCL-Server benoumltigt einen Internetzugang mit statischer IP-Adresse und Uploaddatenra-te von mindestens 200 kbits (DSL 2000) fuumlr die fluumlssige Wiedergabe von Bewegungen in Webcambildern Die statische IP-Adresse wird von der Institution am Standort des RCLs vergeben oder kann von Privatpersonen bei einem Provider beantragt werden Mit folgenden Schritten wird der RCL-Server eingerichtet

Internetzugang einrichten (rarr 451) und im Browser testen

Checken ob die Windows Firewall aktiviert ist

Virenschutzproramm Avira Antivir Personal herunterladen (larr Tab 1) installieren und ak-tualisieren

Uumlber Windows Update alle Updates von Windows XP Professional installieren

Fernwartungssoftware TeamViewer 6 Vollversion (larr Tab 1) herunterladen und auf dem RCL-Server und dem eigenen Computer installieren (rarr 455)

Webeditor Notepad++ herunterladen installieren und aktualisieren (larr Tab 1)

Videoserver WebcamXP 5 herunterladen und installieren (rarr 453)

Paket XAMPP herunterladen und installieren (rarr 452) Verknuumlpfungen mit den Dateien xampphtdocsapache_startbat und xampphtdocsapache_stopbat auf dem Desktop oder in der Schnellstartleiste erstellen und Webserver mit erstgenannter Verknuumlpfung starten Webserver durch Eingabe von 127001 oder localhost ins Adressfeld des Brow-sers testen Bei erfolgreichem Test werden die im Ordner xampphtdocs abgelegten Webseiten von XAMPP dargestellt Statische IP-Adresse des RCL-Servers im Browser eines anderen Computers mit Internetzugang eingegeben Bei erfolgreichem Test werden die Webseiten von XAMPP dargestellt In der Datei xamppphpphpini unter Resource Limits die max_execution_time mit dem Windows-Editor von 60 auf 300 erhoumlhen und die

27

Datei speichern damit PHP bei Befehlen mit laumlngerer Ausfuumlhrungsdauer keine Fehler-meldung liefert

Ordner xampphtdocs mit den Webseiten von XAMPP in xampphtdocs_xampp um-benennen und fuumlr spaumltere Testzwecke nicht loumlschen RCL-Ordner htdocs herunterladen (larr Tab 1) extrahieren und in das Verzeichnis xampp verschieben

Abb 16 zeigt die Struktur des RCL-Ordners htdocs

Abb 16 Struktur des RCL-Ordners htdocs RCL-spezifisch anzupassende Dateien sind grau

hinterlegt

Der geoumlffnete Ordner Labor enthaumllt alle PHP- und HTML-Dateien bzw Programmierungen fuumlr die Funktionalitaumlt des Bedienfelds der Laborseite (larr 11 Abb 3) An das RCL anzupas-sen sind die portalsprachenunabhaumlngigen Dateien configphp und experimentphp sowie fuumlr jede Portalsprache die Dateien defaultconf und experimenttpl in den Ordnern eng fra ger und ita

Datei configphp Zeit bis zum automatischen Logout beim Experimentieren mit dem RCL eintragen

Datei experimentphp PHP-Basisprogrammierung um die RCL-spezifische PHP-Programmierung erweitern (rarr 432)

Datei defaultconf Name des RCLs (z B Elektronenbeugung) in jeder Portalsprache ein-getragen

Datei experimenttpl HTML-Basisprogrammierung um RCL-spezifische Ein- und Ausga-befelder erweitern (rarr 433)

28

32 Laborseite 321 Steuerung des RCLs uumlber das Bedienfeld Das Bedienfeld der Laborseite (larr 11 Abb 3) wird von der Dateien indexphp und experi-menttpl erzeugt Befehle wie das Anklicken von Buttons Eingaben und Auswahl aus Listen werden in ein HTML-Formular mit Formularfeldern in der Datei experimenttpl geschrieben Die Daten werden von der PHP-Datei experimentphp ausgewertet und uumlber die serielle Schnittstelle dem Mikrocontroller-Programm zur Steuerung des Experiments uumlbergeben Die Dateien experimentphp und experimenttpl wurden getrennt angelegt um Code und Design zu trennen und nur das Design in der Datei experimenttpl an die Portalsprache anpasst werden muss

Tab 5 enthaumllt Ausschnitte der HTML-Datei experimenttpl (rarr 433) der Datei experi-mentphp (rarr 432) und des Mikrocontroller-Programms (rarr 431) fuumlr das RCL Elektronen-beugung

29

Code mit Erlaumluterung

expe

rimen

ttpl

1821 Tag ltformgtltformgt definiert ein Formular 18 Attribut action legt fest dass Formulardaten in der Datei indexphp verarbeitet werden Uumlbertragen

werden eine Session-ID ($sid) um exklusiven Zugriff des jeweilgen Besuchers zu sichern und ($portal) um die vom Besucher gewaumlhlte Sprache beizubehalten post ist eine Uumlbertragungsmethode zwischen Browser und Webserver und gibt die die vom Besucher gewaumlhlte Aktion zum Ansteuern des Experiments an die Datei experimenttpl weiter

20 Erzeugt im Bedienfeld den Sendebutton (submit) mit der Aufschrift Elektronenroumlhre einschalten (valu-e)

19 Unsichtbares Feld (hidden) mit Variablennamen action und Wert RoumlhreAn Der Variablenname ac-tion stimmt nur zufaumlllig mit action in Zeile 18 uumlberein

expe

rimen

tphp

24 Die Funktion wird als Eventhaumlndler bezeichnet weil je nach uumlbergebener Aktion - siehe Zeile 19 in experi-

menttpl - die entsprechenden Anweisungen (case) ausgefuumlhrt werden 37 Fuumlr den Fall dass die Variable $action den Wert RoumlhreAn hat wird die Funktion power_on() aufgeru-

fen

59 Schreibt in die Logdatei logtxt den Text RoumlhreAn 6061 Oumlffnet den in der Datei configphp zentral gespeicherten Com-Port an den das Interface angeschlossen ist

oder gibt Fehlermeldung Can not access file system im Bedienfeld aus falls der Com-Port sich nicht oumlff-nen laumlsst

62 Sendet die Zeichenfolge On und chr(13) (entspricht der Betaumltigung der Return-Taste im Hyperterminal) an den Mikrocontroller

63 Schlieszligt serielle Schnittstelle

Que

llcod

e M

ikro

cont

rolle

r

166 Wird uumlber die serielle Schnittstelle der Befehl on empfangen und ist das Einschalten zulaumlssig (Zeiten fuumlr

PowerOnDelay und Standby abgelaufen) dann hellip 167 Hochspannungsnetzgeraumlt einschalten 168 Der DA-Wandler PCF8591 wird unter seiner Adresse PCF8591 = 01001000 angesprochen Parameterein-

stellungen mit 01000000 und Ausgangsspannung auf 0 V einstellen 169 Setzt Standby auf vorgegebene Standbyzeit zuruumlck 171 Gibt Meldung aus wie lange PowerOnDelay noch dauert

Tab 5 Uumlbertragung des Befehls Elektronenroumlhre einschalten vom Bedienfeld zum Experi-ment

30

Anhand der Erlaumluterungen der Programmcodes koumlnnen die Ablaumlufe zwischen dem Druumlcken des Buttons Elektronenroumlhre einschalten und dem Einschalten der Elektronenbeugungs-roumlhre oder der Eingabe einer Beschleunigungsspannung und dem Anlegen einer Beschleu-nigungsspannung verfolgt werden Uumlber das Bedienfeld koumlnnen nur die von der Datei expe-rimenttpl bereitgestellten Befehle on und da der insgesamt implementierten Befehle (rarr 22 Abb 10) aufgerufen werden

322 Videouumlbertragung im Webcamfeld Zur Aufnahme von Livebildern des Experiments koumlnnen USB-Webcams und IP-Kameras (Netzwerkkameras) eingesetzt werden Teurere IP-Kameras muumlssen eingesetzt werden wenn die Kamera wie z B beim RCL Roboter im Labyrinth zu weit vom Computer entfernt ist oder eine besonders lichtempfindliche Kamera aus der Uumlberwachungstechnik wie z B beim RCL Millikan-Versuch benoumltigt wird W-LAN-Kameras kommen zum Einsatz wenn Bil-der von einem beweglichen Objekt aus wie z B beim RCL Roboter im Labyrinth uumlbertra-gen werden sollen

Das Videoserverprogramm webcamXP 5 erkennt beim Aufrufen automatisch an den RCL-Server angeschlossenen USB-Webcams Vor dem Kauf einer IP-Kamera ist zu pruumlfen ob das Modell unterstuumltzt wird14 IP-Kameras muumlssen im Kontextmenuuml der Videoquelle konfigu-riert werden Abb 17 zeigt das Webcambild einer USB-Webcam vom Szintillationsschirm der Elektronenbeugungsroumlhre

Abb 17 Webcambild des Szintillationsschirms der Elektro-

nenbeugungsroumlhre einer USB-Webcam in webcamXP 5 beim RCL Elektronenbeugung

14 Vgl Moonware Studios webcamXP IP-cameras for webcamXP

31

Zum Einbinden des Webcambilds in die Laborseite des RCLs wird die laborsprachenabhaumln-gige Datei videohtm (rarr 434) in den Ordnern eng fra ger und ita verwendet Standardmauml-szligig werden zwei Webcambilder und Screenshots unterstuumltzt der Code fuumlr weitere Webcam-bilder kann durch copy and paste hinzugefuumlgt werden

Unter den Technologien Java Javaskript Flash und Windows Media fuumlr die Wiedergabe ei-nes Livestreams auf eine Webseite wurde Javaskript gewaumlhlt weil die anderen Technologien die Installation des Java Runtime Environments (JRE) des Flash- oder Windows Media Players durch den Besucher eines RCLs voraussetzen Die Wiedergabe des Livestreams mit einem Java-Applet startet zudem erst verzoumlgert nachdem das Applet geladen ist und verfuumlgt uumlber eine zu geringe Wiedergabegeschwindigkeit

33 Standard-Lernumgebung Bestandteil der Entwicklung eines RCLs ist die Erstellung einer Standard-Lernumgebung zum RCL Abb 18 zeigt exemplarisch fuumlr die deutschen Webseiten im Ordner ger das Menuuml (larr 11 Abb 3) und die Dateistruktur der Standard-Lernumgebung

Abb 18 Deutschsprachiges Menuuml und Dateistruktur der Standard-Lernumgebung

RCL-spezifisch anzupassende Dateien sind grau hinterlegt

Die englischen Dateinamen introductionhtm setuphtm hellip im Ordner ger korrespondieren mit den deutschen Menuumlpunkten Wird das RCL unter dem Menuumlpunkt RCLs des RCL-Portals aufgerufen dann ruft die Frameset-Datei indexhtm die Dateien menuumlhtm und intro-ductionhtm auf und das Menuuml wird zusammen mit der Webseite Einstieg dargestellt Die Wahl weiterer Menuumlpunkte ruft jeweils die korrespondiere Datei im Ordner auf Bei Wahl des Menuumlpunkts Labor werden mit der Frameset-Datei laboratoryhtm die Dateien videohtm fuumlr das Webcamfeld und die Datei laborindexphp fuumlr das Bedienfeld aufgerufen

32

Im Ordner docsmaterial werden alle Dokumente fuumlr die Webseite Material im Ordner docsothers die Dokumente anderer Webseiten abgelegt Im Ordner docsoriginals sind die Originale von Dokumenten wie z B Word-Dateien und der verwendeten Bilder abgelegt Grafikdateien der Webseiten Einstieg hellip Auswertung hellip Betreuung werden in gleichnami-gen Ordnern wie z B imagesanalysis abgelegt Bei sprachenunabhaumlngigen Grafikdateien wird unter dem Dateinamen abbx bei sprachenabhaumlngigen unter dem Dateinamen abbx_lan mit lan = eng fra ger und ita gespeichert Analoges gilt fuumlr die als gif-Grafiken forxgif oder forx_langif zu speichernden Formeln Originale von Bildern werden im Ordner imagesoriginals abgelegt Die Webseite zur Datei htdocsindexhtm enthaumllt zum lokalen Aufrufen der Standard-Lernumgebung Links zu den vier Index-Dateien in den Ordnern eng fra ger und ita Die Stylesheet-Datei htdocsrcl_stylecss enthaumllt die Styles der Webseiten

In der Regel werden Standard-Lernumgebungen der RCLs des RCL-Portals von verschiede-nen Personen erstellt Fehlende Gestaltungs- und Formatierungsregeln fuumlhren zu einem un-einheitlichen inattraktivem Erscheinungsbild des RCL-Portals Tab 6 gibt einen Uumlberblick der wichtigsten Gestaltungs- und Formatierungsregeln

Element Richtlinien

Gliederung

Die Webseiten Einstieg Aufbau Aufgaben Diskussion Material und Support enthalten vorgegebene Gliederungspunkte teilweise mit ausgefuumlhrten Uumlberschriften

Die umfangreicheren Webseiten Theorie und Auswertung enthalten ein Inhaltsverzeichnis mit internen Links zu Gliederungspunkten Zwischen Punkten der ersten Gliederungsebene (1 2 hellip) ist ein zwei-zeiliger Abstand (ltpgtampnbspltpgtltpgtampnbspltpgt) zwischen Punkten der zweiten (11 12 hellip) und Punkten der nur falls unbedingt notwendig dritten 111 112 hellip) Gliederungsebene ein einzeiliger Abstand zu waumlhlen Nach Abbildungen und Tabellen folgt ein einzeiliger Abstand zum nachfolgenden Text

Links Keine internen Links zwischen den Webseiten der Lernumgebung Externe Links werden prinzipiell in einem neuen Browserfenster geoumlffnet (blank)

Abbildung

Alle Abbildungen erhalten fortlaufend beginnend mit 1 nummerierte Abbildungsunterschriften der Form Abb x hellip

Abbildungen sind moumlglichst spachenunabhaumlngig d h ohne Texte in der Abbildung zu erstellen Zur Beschriftung koumlnnen z B Zahlen verwendet werden die in der Abbildungsunterschrift oder im Text er-laumlutert werden

Tabellen Tabellen werden in jeder Webseite fortlaufend beginnend mit 1 nummeriert Tabellen sind zu zentrieren Rahmenstaumlrke 1

Formeln

Formeln sind nicht als Textzeichen oder Grafik im laufenden Text einzufuumlgen sondern stets zentriert in einer eigenen Zeile als gif-Grafik

Zum Erstellen der Formel-Grafiken eignet sich z B der Formel-Editor MathType15 mit der Aufloumlsungs-Einstellung 120 dpi fuumlr InternetGif

Formeln brauchen im Rahmen des begrenzten Umfangs der Webseiten nicht nummeriert zu werden Groumlszligen-symbole

Griechische Groumlszligensymbole und mathematische Symbole sind nicht als Grafiken im laufenden Text sondern als HTML-Code einzufuumlgen Eine Zeichenreferenz findet sich bei Selfhtml16

Styles Zur Formatierung der Webseiten werden aus der Stylesheet-Datei nur die drei Styles Uumlberschrift fuumlr

die Uumlberschriften Bildunterschrift fuumlr Abbildungs- und Tabellenunterschriften und Tabellentext fuumlr Tex-te in Tabellen benoumltigt

Tab 6 Richtlinien zur Gestaltung und Formatierung der Standard-Lernumgebung

Detailliertere Informationen zum Layout der Standard-Lernumgebung koumlnnen dem RCL-Ordner und dem Erscheinungsbild der Webseiten von RCLs in Browsern entnommen wer-den

15 Vgl Design Science MathType 16 Vgl Selfhtml HTML-Zeichreferenz

33

4 ANHANG

34

41 Interface in Basisschaltung 411 Schaltplan und Bauteilliste Abb 19 zeigt den Schaltplan der Basisschaltung des Interface und Tab 7 die dazugehoumlrige Bauteilliste

Abb 19 Basisschaltung des Interface

Nr Anzahl Kurzbeschreibung des Bauteils Best-Nr bei Reichelt electronic

Einzelpreis in euro

0 1 Epoxyd-Platine (190x112 mm) mit Anteil Loumltpunktraster (Spezi-

alanfertigung) - asymp 10

1 1

Epoxyd-Fotoplatine einseitig 160x100 mm 15 mm 35 microm Epoxyd-Lochrasterplatine 160x100 mm 15 mm 35 microm

BEL 160x100-1 UP 832EP

170 420

1 1 Hohlstecker-Einbaubuchse gewinkelt Loumltfahnen 21 mm HEBW 21 018 2 1 D-SUB-Stecker 9-polig gewinkelt RM 94 D-SUB ST 09EU 029 3 1 Schottky Diode DO41 40 V 1 A SB 140 008 4 1 Draht von abgeschnittenem Beinchen aus Pos-Nr 3 - - 5 1 IC-Sockel 16-polig superflach gedreht vergoldet GS 16P 029 6 1 IC-Sockel 40-polig superflach gedreht vergoldet GS 40P 061 7 1 2x10-pol-Stiftleiste gerade RM 254 SL 2X10G 254 007 8 1 Metallschichtwiderstand 100 kΩ Metall 100k 0082 9 1 Elektrolytkondensator 10x16 mm 470 microF RM 50 mm RAD 47025 006 10 1 Elektrolytkondensator 63x11 mm 100 microF RM 25 mm RAD 10016 004 11 5 Elektrolytkondensator 5x11 mm 10 microF RM 20 mm RAD 1035 004 12 2 Keramik-Kondensator 33 pF Kerko 33p 006 13 3 Vielschicht-Keramikkondensator 100 nF 20 Z5U-25 100n 004

35

14 1 Standardquarz Grundton 110592 MHz 110592-HC49U-S 018 15 1 Spannungsregler 1 A positiv TO-220 microA 7805 028 16 1 Kuumlhlkoumlrper fuumlr Gehaumluse TO-220 99KW V FI356 066 17 1 Zylinderkopfschraube Schlitz M3 10 mm fuumlr Kuumlhlkoumlrper M3x10mm 160 18 2 Sechskantmutter M3 fuumlr Kuumlhlkoumlrper SK M3 001 19 1 Stecker-Schaltnetzteil 12 V 2250 mA MW 3IP25GS 1150 20 1 RS232-Driver DIL-16 MAX 232 CPE 041 21 1 ATmega AVR-RISC-Controller DIL-40 ATmega16-16 DIP 420 22 3 10-poliger Wannenstecker RM 254 stehend (optional) WSL 10G 009 23 1 14-poliger Wannenstecker RM 254 stehend (optional) WSL 14G 014 24 1 40-polige Stiftleiste 1-reihig gerade RM254 (optional) SL 1x40G 254 023 25 1 Kunststoffgehaumluse 1982x1124x760 mm (Serientyp 202) - asymp 10 euro 26 1 D-SUB Nullmodem-Kabel 9-pol BUBU 3 m AK 143 155 27 x DIN-Einbaubuchse 5-pol Schraubver 360deg (optional) DIO-50W EMS 185 28 x DIN-Einbaubuchse 8-polig Schraubversch 270deg (optional) DIO-80SN EMS 180 29 x Pfostenstecker 10-polig mit Verrieglung gew (optional) PSL 10W 028 30 x Klemmleiste RM 254 Oumlffnungshebel 8-polig (optional) Wago 233 220

Tab 7 Bauteilliste mit Bestellnummer und Einzelpreisen der Bauelemente bei Reichelt electronic (Stand 23102010)

Anhand der Bauteilliste in koumlnnen die elektronischen Bauelemente der Basisschaltung (larr Tab 7 Nr 0 ndash 21 optional Nr 22 - 24) bei Reichelt electronic bestellt werden Das Gehaumluse des Interface (larr Tab 7 Nr 25) sollte vom Hersteller HAGOTECH GmbH bezogen werden Weiterhin wird ein Nullmodemkabel (larr Tab 7 Nr 26) zur Verbindung des Interface mit dem Computer benoumltigt Sensoren und Aktoren des Experiments koumlnnen mit optionalen Steck-verbindern (larr Tab 7 Nr 27 - 30) und entsprechende Kabelverbindungen an das Interface angeschlossen werden Die Nummern 0 - 25 stimmen mit der angegebenen Bestuumlckungs-reihenfolge auf der Platine uumlberein Das Interface kostet in der Basisschaltung ca 50 euro

412 Bestuumlckung der Platine Abb 20 zeigt zur Bestuumlckung der Platine benoumltigte Werkzeuge

Abb 20 Werkzeuge zur Bestuumlckung der Platine des Interface

36

Loumltkolben mit feiner Spitze in Meisselform 2 mm oder Loumltstation (1) Loumltzinnabsauger zum Entfernen von Loumltzinn (2) Nasser Schwamm zum Reinigen der Spitze des Loumltkolbens (3) Loumltzinn mit Durchmesser 08 - 10 mm (4) Flachspitzzange zum Biegen von Anschluumlssen der Bauelemente (5) Seitenschneider zum Kuumlrzen der Beinchen von Bauelementen (6) Multimeter zum Pruumlfen der Funktionsfaumlhigkeit der Schaltung (7) Sekundenkleber zur Befestigung von Bauelementen Kleine Bohrmaschine z B von Dremel und 08 mm Bohrer oder duumlnne Rundfeile zum

Weiten von Loumlchern auf der Platine des Interface

Abb 21 zeigt die Platine des Interface von der Loumltseite in der Spezialanfertigung der Elekt-ronik-Werkstatt an der Technischen Universitaumlt Kaiserslautern und in der Selbstbauvariante (larr Tab 7 Nr 0) Abb 22 zeigt das Platinenlayout

Abb 21 Platine des Interface von der Loumltseite als Spezialanfertigung (links) und der Selbstbauvariante

(rechts)

Abb 22 Layout zur Herstellung des geaumltzten Teils der

Platine in der Selbstbauvariante

37

In der Selbstbauvariante kann anhand des Platinenlayouts eine selbst geaumltzte Platine fuumlr die Basisschaltung auf einer Platine im Europakartenformat hergestellt und diese in der Laumlnge gekuumlrzt werden Eine gekuumlrzte Lochrasterplatine bildet den zweiten Teil der Platine Mit den optionalen vier Wannensteckern (larr Tab 7 Nr 22 - 23) oder den vier Stiftleisten (larr Tab 7 Nr 24) an den Ports des Mikrocontrollers koumlnnen leicht elektrische Verbindungen zum Rasterteil der Platine herstellt werden Abb 23 zeigt die fertig bestuumlckte Platine mit den Nummern aus Tab 7

Abb 23 Bestuumlckte Platine des Interface mit nummerierten Bauelementen

Tab 8 beschreibt das Einloumlten der elektronischen Bauelemente anhand der Nummern aus Tab 7 und in der angegebenen Reihenfolge

Nr Bauelement Beschreibung des Einbaus

0 Spezialanfertigung und Selbst-bauvariante der Epoxydharz-

Platine

1

Stromversorgungsbuchse ndash Hohlstecker 21 mm

Wenn die Loumltbeine nicht durch die Loumlcher der Platine passen die Loumlcher mit einer runden Schluumlsselfeile aufweiten

Stromversorgungsbuchse mit Sekundenkleber vor dem Festloumlten auf der Pla-tine fixieren da diese mechanischen Belastungen durch das Einstecken und Herausziehen des 12 V -Steckers ausgesetzt ist

Wahlweise kann die 25 mm-Version der Buchse verwendet werden

2

RS232 Datenstecker

RS232 Datenstecker mit Sekundenkleber vor dem Festloumlten auf der Platine fixieren da dieser mechanischen Belastungen durch das Einstecken und Herausziehen des Null-Modem-Kabels ausgesetzt ist

Alle Beinchen und Befestigungsstifte zur houmlheren Stabilitaumlt anloumlten

3

Ein Ring an einer Seite der Diode (hier links weiszlig) zeigt die Durchlass- bzw Sperrrichtung der Diode an Die Position des Ringes entspricht der Position des Balkens im Schaltungssymbol

38

Diode ndash SB140 Auf der Platine muss der Ring auf der von der Stromversorgungsbuchse ab-

gewandten Seite liegen

4 Drahtbruumlcke

Vor dem Einloumlten des 40-poligen IC-Sockels (Nr 5) muss eine Drahtbruumlcke unter diesem eingeloumltet werden Dazu koumlnnen die abgeschnittenen Beinchen der bereits eingeloumlteten Diode (Nr 3) verwendet werden

5 6

IC-Fassungen

Die 16-polige und 40-polige IC-Fassungen besitzen eventuell eine Markie-rung fuumlr Pin1 (z B Kerbe in der Stirnseite Punkt Pfeilhellip) als Hilfe fuumlr das richtige Einstecken der ICs Die Markierungen muumlssen bei beiden Fassungen nach oben also zum naumlchstliegenden Rand der Platine zeigen

Die ICs unbedingt noch nicht einstecken

7

ISP-Stiftleiste

Die doppelreihige ISP-Stiftleiste dient der Programmierung des Mikrocontrol-lers mit dem AVR-ISP-Programmer (ISP steht fuumlr In System Programming)

ISP-Stiftleiste auf 2 x 5 Stifte kuumlrzen und mit den kurzen Beinchen einloumlten so dass auf die langen Stifte der AVR-ISP-Programmer gesteckt werden kann

8

Widerstand 100 kΩ

Den 100 kΩ-Widerstand rechts neben der ISP-Stiftleiste einloumlten

9

10

11

Elkos

Bei den verwendeten Elektrolyt-Kondensatoren ist die Polung zu beachten (langes Beinchen = Plus-Pol) Weiterhin ist auf den Kondensatoren ein wei-szliger Streifen mit Minus-Zeichen aufgedruckt Die Kondensatoren sollten eine Spannungsfestigkeit von mindestens 16 V besser 25V besitzen

Auf der Kupferseite der Platine zeigt die Form der Loumltaugen die Polung an Rundes Loumltauge = Plus quadratisches Loumltauge = Minus

Der 470 microF Kondensator wird mit dem weiszligen Streifen in Richtung Stromver-sorgungsbuchse direkt unter diese montiert

Der 100 microF Kondensator sitzt direkt unter der 16-poligen IC-Fassung Sein weiszliger Streifen (Minus-Pol) zeigt in Richtung der Stromversorgungsbuchse

Vier der 10 microF Kondensatoren werden links neben der 16-poligen IC-Fassung montiert Deren Polung ist wie folgt Unterster Kondensator Minus nach oben naumlchster Kondensator Minus nach unten die beiden oberen Kondensatoren mit Minus nach oben

Ein weiterer 10 microF Kondensator wird rechts neben die 16-polige IC-Fassung geloumltet Sein Minus-Streifen zeigt nach unten

12

13

Keramik-Kondensatoren

Die Beschriftung 104 bedeutet 10e4 pF = 100 nF Die beiden 33 pF-Kerkos (Keramik-Kondensatoren) werden direkt nebenei-

nander rechts neben die 16-polige IC-Fassung geloumltet Zwei 100 nF-Kondensatoren werden unter dem 470 microF-Elko eingeloumltet ein

weiterer mittig an der linken Seite der 40-poligen IC-Fassung

14

Quarz

Als Quarz wird ein 110592 MHz-Typ verwendet Bei dieser Frequenz ist eine fehlerfreie Kommunikation uumlber RS232 mit 9600 Baud moumlglich Fuumlr den AT-mega16 koumlnnen Quarze bis 16 MHz eingesetzt werden Details siehe Daten-blatt

Der Quarz wird direkt rechts neben die beiden 33 pF-Kerkos geloumltet Die Ori-entierung des Quarz spielt keine Rolle

15

16

17

18

Der Spannungsregler L7805 erzeugt eine stabilisierte Spannung von 5 V Es muss ein Kuumlhlkoumlrper zur Waumlrmeabfuhr vom Spannungsregler verwendet werden

Vor dem Einloumlten zwischen Spannungsregler und Kuumlhlkoumlrper etwas Waumlrme-leitpaste aufgetragen Beide Bauteile fest mit einer Schraube M3x10 und ei-ner 1 Mutter verschrauben

Dann den Spannungsregler einloumlten um 90deg abzubiegen das uumlberstehende Gewinde durch das vorgesehene Loch stecken und alles mit einer 2 Mutter auf der Platine befestigen

1 Mutter

2 Mutter

Schr

aube

L7805

Platine

KuumlhlkoumlrperWaumlrmeleitpaste

Beinchen

Loumlten

39

Spannungsregler L7805 Kuumlhl-koumlrper und Montage

19

Steckernetzteil

Funktionskontrolle vor dem Einsetzen des Mikrocontrollers Polung der Elektrolyt-Kondensatoren (Elkos) pruumlfen Sind alle Beinchen angeloumltet Hat das Loumltzinn an den Beinchen und der Pla-

tine guten Kontakt Sind eventuell zwei benachbarte Beinchen unbeabsichtigt durch Loumltzinn verbunden Alle Loumltverbindungen nochmals genau z B mit ei-ner Lupe pruumlfen

Probeweise das Stecker-Netzteil an die Buchse anschlieszligen Am 100 nF-Kondensator links mittig der 40-poligen IC-Fassung muumlssen 5 V anliegen

Versorgungsspannung unbedingt wieder von der Platine trennen

20

21

ICs MAX232 und ATmega16

Die Nuten auf den ICs am linken Rand muumlssen nach oben zeigen d h Pin1 ist bei beiden ICs in der Abbildung links unten und auf der Platine oben links

Manchmal passen die Beinchen der ICs nicht in die Fassung weil die Fas-sung scheinbar zu schmal ist Dann den IC seitlich mit einer Beinchen-Reihe flach auf den Tisch legen den IC-Koumlrper links und rechts greifen und Bein-chen durch leichten Druck biegen Einzelne verbogene Beinchen vorsichtig mit einer kleinen Flachzange richten

22

23

Wannenstecker 10- und 14-polig

Wannenstecker an den vorgesehe-nen Stellen mit der Nut gegen Ver-polung in Richtung des naumlherliegen-den Platinenrands einloumlten

Die Abbildung rechts zeigt die Pin-Belegung der Wannenstecker

24

Stiftleiste 8-polig 40-pol Stiftleiste in 4 jeweils 8-polige Stuumlcke zerteilen und einloumlten

25

Kunststoffgehaumluse

In der Selbstbauvariante der Platine (Nr 0) vor dem Einsetzten der Platine in das Gehaumluse passend positionierte Kunststoffstege am Gehaumluseboden fest-kleben

Tab 8 Bestuumlckung der Platine des Interface mit Bauelementen

42 Erweiterungsschaltungen 421 Uumlbersicht In Tab 3 sind von RCLs des RCL-Portals Sensoren und Aktoren mit den dazugehoumlrigen Er-weiterungsschaltungen zusammengestellt Da alle RCLs obligatorisch uumlber mindestens eine Webcam verfuumlgen sind diese unter den Sensoren nicht aufgefuumlhrt Die wenigen Erweite-rungsschaltungen fuumlr Sensoren sind unter Sensoren in Klammern aufgelistet Unter Aktoren werden auszliger elektro-mechanischen Wandlern auch gesteuerte Geraumlte oder Bauelemente verstanden Anzeigeinstrumente sind unter Aktoren nur aufgefuumlhrt wenn sie direkt vom In-terface gesteuert werden Mit gekennzeichnete Erweiterungsschaltungen befinden sich au-szligerhalb des Interface

40

RCL Sensoren Aktoren Erweiterungsschaltungen fuumlr Aktoren

Beugung und Interferenz I Referenz-Taster

Schrittmotor (Rotation) Schrittmotorsteuerung Laser-Modul Geschaltete Spannungsversorgung

Beugung und Interferenz II

4 Referenz-Taster Lichtsensor

4 Schrittmotoren (Translation) 4 Schrittmotorsteuerungen 5 Laser-Module Geschaltete Spannungsversorgung LED fuumlr Position des

Lichtsensors Geschaltete Spannungsversorgung

LED fuumlr Linealbeleuchtung Geschaltete Spannungsversorgung

Elektronen-beugung

Hochspannungsnetzgeraumlt Geschaltete Spannungsversorgung Hochspannungsnetzgeraumlt Steuerung der Hochspannung

Fotoeffekt 2 Referenz-Taster Photozelle

2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen

Quecksilberdampflampe Geschaltete Spannungsversorgung

der Drossel fuumlr Quecksilberdampf-lampe

Halbleiter-kennlinien

und Halbleiterkennli-nien - Schuumller-

projekt

Referenz-Taster

Schrittmotor (Rotation) Schrittmotorsteuerung Oszilloskop Geschaltete Spannungsversorgung

Oszilloskop Instrumentenverstaumlrker fuumlr X- und Y-Ablenkung

Multimeter Steuerung Spannungs- oder Strom-anzeige

Heiszliger Draht 4 Endtaster 4 Drehgeber Kurzschlusssensor

4 Gleichstrommotoren 4 Treiber

Zweifarbige LED Steuerung der LED-Farbe

Lichtgeschwin-digkeit

Drehimpulsgeber 2 Taster an Enden

der Eisenbahnstre-cke

2 Schrittmotoren 2 Schrittmotorsteuerungen Oszilloskop Geschaltete Spannungsversorgung

Motor der Lokomotive Steuerung des Ein- und Ausschal-tens und der Bewegungsrichtung

Maut Infrarot-Sensor Gleichstrommotor Geschaltete Spannungsquelle 2 IR-Fernbedienungen Spannungsregler 2-stellige 7-Segmentanzeige LED-Treiber

Millikan-Versuch 2 Referenz-Taster

2 Schrittmotoren 2 Schrittmotorsteuerungen Lichtquelle (LED) fuumlr Millikan-

Kondensator Geschaltete Spannungsversorgung

Airbrush-Kompressor Geschaltete Spannungsversorgung Magnetventil Geschaltete Spannungsversorgung Millikan-Kondensator Gesteuertes Hochspannungsmodul

Optische Com-putertomogra-

phie

2 Referenz-Taster 2 Lichtsensoren

Schrittmotor (Rotation) Schrittmotorsteuerung Schrittmotor (Translation) Schrittmotorsteuerung

2 Laser-Module 2 geschaltete Spannungsversor-gungen

Optische Fou-rier-

Transformation 2 Referenz-Taster

2 Schrittmotoren (Translation) 2 Schrittmotorsteuerungen

Laser-Modul Geschaltete Spannungsversorgung

Oszilloskop Oszilloskop Geschaltete Spannungsversorgung Signalgenerator Steuerung der Signalart

Radioaktivitaumlt 4 Referenz-Taster Geiger-Muumlller-

Zaumlhlrohr

2 Schrittmotoren (Translation) 2 Schrittmotorsteuerungen 2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen 4-stellige 7-Segment-Anzeige Treiber Elektromagnet Geschaltete Spannungsversorgung

Roboter im Labyrinth Infrarot-Sensor

2 Schrittmotoren 2 Schrittmotorsteuerung Infrarot-Sender Treiber

Rutherfordscher Streuversuch

2 Referenz-Taster Halbleiterdetektor

(Impulsformer)

2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen

4-stellige 7-Segment-Anzeige Treiber

Weltpendel

Referenz-Taster Lichtsensor der

Lichtschranke (Im-pulsformer)

Temperatursensor

Schrittmotor (Translation) Schrittmotorsteuerung Elektromagnet Geschaltete Spannungsversorgung

Laser der Lichtschranke Geschaltete Spannungsversorgung

Windkanal Referenz-Taster Schrittmotor (Translation) Schrittmotorsteuerung

41

Dehnungsmess-streifen (Wheat-stonesche Bruumlcke Messverstaumlrker Multimeter)

Geblaumlsemotor Geschaltete Spannungsversorgung

und Ansteuerung mit Pulsweiten-modulation

Anemometer Geschaltete Spannungsversorgung Multimeter Geschaltete Spannungsversorgung

Tab 9 Sensoren Aktoren und Erweiterungsschaltungen der RCLs des RCL-Portals

422 TMC222-Modul zur Schrittmotorsteuerung 4221 Schaltplan und Bauteilliste Abb 1 zeigt die Beschaltung des TMC222 von Trinamic auf dem TMC222-Modul

Abb 24 Beschaltung des TMC222 von Trinamic

Anhand der Bauteilliste in Tab 10 koumlnnen die elektronischen Bauelemente des TMC222-Moduls bei Reichelt electronic bestellt werden Ein TMC222-Modul kostet ungefaumlhr 10 euro

Nr Anzahl Kurzbeschreibung des Bauteils Best-Nr bei Reichelt electronic

Einzelpreis in euro

0 1 Epoxyd-Fotoplatine einseitig 75x100 mm 15 mm 35 microm BEL75X100-1 096 1 1 Integrierter TMC-Schrittmotor-Controller TMC 222 SI asymp 7 2 1 Elektrolytkondensator 8x11 mm Rm 35 mm 100 microF35 V RAD 10035 004 3 1 Tantal-Kondensator Rm 25 10 microF35 V Tantal 1035 014 4 2 Vielschicht-Keramikkondensator 220 nF 20 Z5U-25 220N 011 5 3 Vielschicht-Keramikkondensator 100 nF 20 Z5U-25 100N 004 6 2 Metallschichtwiderstand 100 kΩ Metall 100K 0082 7 1 1x36pol Stiftleiste gewinkelt Rm 254 SL 1X36W 027 8 1 1x36pol Buchsenleiste gerade Rm 254 BL 1X36G 025

Tab 10 Bauteilliste mit Bestellnummer und Einzelpreisen der Bauelemente bei Reichelt electronic (Stand 23102010)

4222 Bestuumlckung der Platine

42

Abb 25 zeigt die fertig bestuumlckte Platine mit den Nummern aus Tab 10

Abb 25 Bestuumlckte Platine des TMC222-Moduls

mit nummerierten Bauelementen

Die Platine (35 mm x 30 mm) kann anhand des Layouts in Abb 26 hergestellt werden Der IC TMC222 wird auf der Loumltseite der Platine aufgeloumltet Das TMC222-Modul kann mit der Stiftleiste (larr Tab 10 Nr 7) in eine Buchsenleiste (larr Tab 10 Nr 8) auf die Platine des In-terface gesteckt werden

Abb 26 Platine des TMC222-Moduls von der Loumltseite (links) und Layout

4223 Quellcode des Mikrocontroller-Programms Im Folgenden ist ein mit Bascom (larr 12 Tab 1 Entwicklungsumgebungen) erstelltes Bei-spiel-Programm zur Ansteuerung des Schrittmotormoduls TMC222 durch den Mikrocontroller ATmega16 angegeben $regfile = m16DEFdat $crystal = 11059200 $baud = 9600 Definitionen Config Scl = Portc0 Taktleitung Config Sda = Portc1 Datenleitung Const Adress = ampB11000000 I2C Adresse des TMC222 Const GetFullstatus1 = ampB10000001 Kommando des TMC222 Const Resetpos = ampB10000110 Kommando des TMC222 Const Motorparameter = ampB10001001 Kommando des TMC222 Const Setposition = ampB10001011 Dim Puffer(10) As Byte

43

Programm I2csend Adress GetFullstatus1 GetFullstatus1 (Initialisierung des TMC222) I2creceive Adress 7 Ack Daten in Puffer auslesen Puffer(1) = Motorparameter puffer auffuumlllen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB11110011 1111irun 0011ihold Puffer(5) = ampB01110001 0111vmax 0001vmin Puffer(6) = ampB00010000 000securepos(bit10-8) 1shaft 0000acceleration Puffer(7) = 0 securepos(bit7-0) Puffer(8) = ampB00001100 000nicht belegt 0accshape 11stepmode 00nicht belegt I2csend Adress Puffer(1) 8 I2csend Adress Resetpos aktuelle Position auf 0 setzen Puffer(1) = Setposition Motor bewegen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB01111111 position(bit 15-8) Puffer(5) = ampB11111111 position(bit 7-0)acute I2csend Adress Puffer(1) 5 End

423 Geschaltete Spannungsquellen und Verbraucher Die Ausgaumlnge des Mikrocontrollers duumlrfen nur mit Stroumlmen kleiner als ungefaumlhr 20 mA belas-tet werden Verbraucher mit einer Stromlast groumlszliger als 20 mA koumlnnen daher nicht direkt an den Mikrocontroller angeschlossen werden Abb 27 zeigt links eine Schaltung zum Schalten eines Verbrauchers wie z B des Relais und rechts eine Schaltung mit dem IC ULN2803A zum Schalten mehrerer Verbraucher wie z B Gluumlhlampen

Abb 27 Erweiterungsschaltungen zum Schalten eines (links) oder

mehrerer Verbraucher (rechts)

Zu beachten ist dass der Transistor BC337 maximal 800 mA schalten kann und fuumlr groumlszligere Stroumlme andere Transistoren verwendet werden muumlssen

424 Steuerung von Gleichstrommotoren

44

Sollen Gleichstrommotoren zum Bewegen von Objekten mit dem Mikrocontroller gesteuert werden dann eignet sich dazu der in Abb 28 dargestellte beschaltete IC L293D

Abb 28 Beschaltung des L293D zum

Steuern zweier Gleichstrom-motoren

Mit Pin 1 = Pin 9 = 1 (High) koumlnnen zwei Gleichstrommotoren M1 und M2 (Versorgungs-spannung UM lt 36 V Spulendauerstrom IM lt 600 mA) unabhaumlngig voneinander ein- und ausgeschaltet sowie in der Drehrichtung uumlber die Ports PA0 und PA1 fuumlr M1 und PA2 und PA3 fuumlr M2 gesteuert werden Z B gilt mit PA0 = PA1 = 0 (M1 ausgeschaltet) PA0 = 1 und PA1 = 0 (M1 dreht sich) PA0 = 0 und PA1 = 1 (M1 dreht sich in Gegenrichtung)

45

43 Quellcodes zum RCL Elektronenbeugung 431 Mikrocontroller-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

46

47

48

49

432 PHP-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

50

51

433 Bedienfeld der Laborseite

Tab 11 erlaumlutert die Funktion der Bloumlcke im Quellcode

Zeilen Funktion 1 Datei defaultconf einbinden 2 Datei headtpl einbinden

5 - 11 Ausgabe der verbleibenden Experimentierzeit 18 - 21 Button zum Einschalten der Elektronenbeugungsroumlhre 28 - 30 Eingabefeld fuumlr die Beschleunigungsspannung

37 Ruumlckmeldung zur eingegebenen Beschleunigungsspannung 42 Datei foottpl einbinden

Tab 11 Funktion der Programmbloumlcke in der Datei experi-menttpl

52

434 Webcamfeld der Laborseite

In Tab 12 ist die Funktion der Programmbloumlcke und die Anpassungen der Vorlage an das RCL Elektronenbeugung beschrieben

Zeilen Funktion Anpassung RCL Elektronenbeugung

5 Titelangabe erscheint als Tabulatorbeschriftung in Browsern

Name des RCLs eintragen

11 - 15 16 - 20

Zwei Javascripts zum getrennten Aufrufen zweier Po-pup-Fenster mit dargestelltem Webcambildern 1 und 2

Javascript 1 die IP-Adresse eintragen Javascript 2 auskommentiert weil nicht benoumltigt

24 - 40 42 - 60

Zwei Javascripts zum Aktualisieren der Webcambilder 1 und 2

Javascript 2 auskommentiert weil nicht benoumltigt

67 - 71 79 - 83

Aufrufen des ersten Webcambilds der Webcams 1 und 2 beim Aufrufen der Datei

Webcambild 2 auskommentiert weil nicht benoumltigt

72 - 78 84 - 90

Buttons zum Aufrufen der Screenshots der Webcam-bilder 1 und 2

Button 2 auskommentiert weil nicht benoumltigt

91 - 95 Zeile der Tabelle zum Eintragen von Informationen die sich auf die Webcambilder oder den Versuch beziehen

Text in Zeile der Tabelle geschrieben

Tab 12 Funktionen der Codeabschnitte in der Datei videohtm und Anpassung der Vor-lage an das RCL Elektronenbeugung

53

44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung Im Folgenden wird die Installation und Konfiguration des AVR-Studios 418 und der Bascom 11198 Demoversion beschrieben Alle Anleitungen sind zeilenweise von links nach rechts zu lesen

441 AVR-Studio 418 4411 Installation Auf der Webseite von ATMEL Register AVR Studio 418 (build 684) anklicken und Registrie-rungsformular ausfuumlllen Danach die Datei AvrStudio418Setup herunterladen Durch Dop-pelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen Next waumlhlen

I accept hellip und Next waumlhlen Installationsordner und Next waumlhlen

54

Installupgrade hellip und Next waumlhlen Install waumlhlen Die Installation beginnt

Finish waumlhlen

4412 Konfiguration AVR Studio 418 in Windows XP Professional unter StartProgramme aufrufen

Startfenster mit Cancel schlieszligen Unter ToolsProgram AVR Auto Connect waumlhlen

55

Im eingeblendeten Fenster auf der Registerkarte Main als Device ATmega16 und als Programming Mode ISP mo-de waumlhlen

Optional kann Signatur gelesen werden

In der Registerkarte Fuses alle Haumlkchen und Auswahlfel-der wie angegeben waumlhlen

Dann Program waumlhlen

442 BASCOM 11198 Demoversion 4421 Installation Auf der Webseite von Bascom unter Bascom AVR Demo die Zip-Datei setupdemoexe her-untergeladen Durch Doppelklick auf den Dateinamen die Installation starten

Next waumlhlen I accept the agreement und Next waumlhlen

56

Next waumlhlen Installationsordner eingeben und Next waumlhlen

Eintrag im Start-Menuuml eingeben und Next waumlhlen Next waumlhlen

Yes restart the computer now und Finish waumlhlen

57

4422 Konfiguration Bascom AVR in Windows XP Professional unter StartProgramme zum Einstellen der Para-meter des Mikrocontrollers und des Terminals aufrufen

OptionsCompilerChip waumlhlen Einstellungen wie im Bild vornehmen und OK waumlhlen

Auf der Registerkarte Communications Einstellungen wie im Bild vornehmen und OK waumlhlen

Unter OptionsCommunication Einstellungen wie im Bild

vornehmen und OK waumlhlen FileNew waumlhlen Unter ToolsTerminal emulator das Terminal aufrufen und

eingeben Die Befehlsliste des RCLs Elektronenbeu-gung wird angezeigt

45 Installation und Konfiguration von Programmen auf dem RCL-Server Im Folgenden wird der Download die Installation und die Konfiguration von Programmen auf dem RCL-Server unter Windows XP Professional beschrieben Alle Anleitungen sind zeilen-weise von links nach rechts zu lesen Die Installation der Programme sollte in der angegebe-nen Reihenfolge erfolgen

58

451 Einrichten des Internet-Zugangs LAN-Verbindung unter StartSystemsteuerungNetzwerkverbindungen aufrufen

Internetprotokoll (TCPIP) und Eigenschaften waumlhlen Folgende IP-Adresse verwenden waumlhlen IP-Adressen ein-

geben und OK waumlhlen

452 Paket XAMPP 174 Unter apache friends - xampp fuumlr windows und XAMPP Windows 174 Installer anklicken und Datei xampp-win32-174-VC6-installerexe speichern Durch Doppelklick auf die Datei die Installation starten

Sprache und Ok waumlhlen Ok waumlhlen

59

Weiter waumlhlen Zielverzeichnis mit Durchsuchen waumlhlen oder eingeben

Apache nicht als Dienst installieren Fertig stellen waumlhlen

Ja waumlhlen Zum Starten des Apache Webservers das Control Panel

unter StartProgrammeXAMPP 173 for Windows mit Start starten Anstelle von Start erscheint Running

Zum Beenden des Apache Webservers Stop waumlhlen Zum Beenden des Control Panels Exit waumlhlen

60

453 Videoserver webcamXP 5 Private Auf der Webseite von Moonware Studios unter webcamXP 55xx die Datei wlite550 herun-terladen Durch Doppelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen I Agree waumlhlen

Next waumlhlen Auszliger webcamXP 5 brauchen keine weiteren Komponen-

ten installiert zu werden

Den vorgeschlagenen Ordner und Install waumlhlen Finish waumlhlen

61

WebcamXP unter StartProgramme aufrufen Zugesandte

Lizenz-Daten in das eingeblendete Fenster eingeben und Register waumlhlen

Beim Starten des Programms stellt webcamXP automa-tisch eine Verbindung zu den am Computer angeschlosse-nen Webcams her

Nach dem Start ist Uumlberwachen gewaumlhlt Durch Rechts-klick mit der Maus auf das Videofenster wird zu jeder Vi-deoquelle ein Kontextmenuuml angezeigt Wird kein Videobild dargestellt das Kontextmenuuml aufrufen Art der Videoquelle waumlhlen (hier USB) und unter den erkannten Videoquellen (hier USB-Videogeraumlt) die gewuumlnschte waumlhlen

Das Videoformat muss fuumlr eine passende Darstellung auf

der Laborseite auf 320 x 240 eingestellt sein Ist das nicht der Fall im Kontextmenuuml unter Video Format einstellen

In gleicher Weise kann eine zweite Videoquelle hinzugefuumlgt werden

In der Registerkarte Web Broadcast kann unter

Broadcast (HTTP) der Videoserver mit Ausschalten ge-stoppt und mit Aktivieren gestartet werden

Zur Zielwahl des Webservers (131246237167 - Internet D16W3X3J - Computer 127001 - Local Host) Videoser-ver stoppen und einstellen Videoserver wieder starten

62

454 Terminalprogramm Hyperterminal Hyperterminal in Windows XP Professional unter StartProgrammeZubehoumlrKommunikation aufrufen

Name der neuen Verbindung - z B Interface - eingeben

und OK waumlhlen Die Verbindung zwischen Computer und Interface wurde

uumlber einen USB-Seriell-Adapter hergestellt Dann erschei-nen zwei zusaumltzliche Eintraumlge (Motorola Comp Modem und COM5) in der Liste Prinzipiell muss eine COMx-Verbindung gewaumlhlt werden

Eigenschaften von COM 5 wie im Bild einstellen und OK

waumlhlen DateiEigenschaften aufrufen und ASCII-Konfiguration

waumlhlen

63

Haken bei Eingegebene Zeichen lokal ausgeben (lokales

Echo) setzen um eingegebenen Zeichen im Hyperterminal zu sehen

Bei funktionsfaumlhiger Verbindung erscheint nach Eingabe von Return die Befehlsliste des Interface

Durch Aufrufen von DateiSpeichern die erstellte Verbin-

dung z B auf dem Desktop speichern Dadurch braucht die Verbindung nicht immer wieder von neuem konfiguriert wer-den

Nach Aufrufen von DateiBeenden die bestehende Verbin-dung mit Ja beenden

64

Wurde ein falscher COM-Port gewaumlhlt reagiert das Inter-

face auf die Eingabe Return nicht Hyperterminal dann beenden

Der COM-Port kann dann nicht unter DateiEigenschaften im Hyperterminal aber unter Eigenschaften des Kontext-menuumls der Datei Interfaceht in der Registerkarte Verbin-den mit geaumlndert werden Dann OK waumlhlen und erneut Verbindung testen

65

455 Fernwartungssoftware TeamViewer 6 Host Auf der Webseite von Teamviewer GmbH unter Fuumlr unbeaufsichtigte Server TeamViewer Vollversion die Datei TeamViewer_Setup-wq herunterladen Das Programm muss auf dem RCL-Server und dem Computer der auf den RCL-Server zugreifen soll installiert werden Durch Doppelklick auf die Datei die Installation starten

Ausfuumlhren waumlhlen Weiter waumlhlen

Fuumlr die private nicht kommerzielle Nutzung ist Teamviewer kostenlos

privat nicht-kommerziell und Weiter waumlhlen

Beide Haumlkchen setzen und Weiter waumlhlen

66

Ja un Weiter waumlhlen Weiter

Computername und Kennwort fuumlr den Zugriff auf den RCL-Server oder den eigenen Computer vergeben Kenn wort notie-ren

Ein Teamviewerkonto ist nicht erforderlich Kann auch spaumlter noch eingerichtet werden

ID fuumlr den Computer auf dem das Programm installiert wird fuumlr Zugriff notieren

Das Programm wird gestartet Standardmaumlszligig vorein-gestellt ist der Start des Programms beim Start des Be-trienssystems

67

46 Selbstbau eines elementaren RCLs 461 Hard- und Software Auch ohne gleich ein vielleicht teures physikalisches Experiment zu steuern laumlsst sich mit wenigen Bauelementen ein elementares RCL realisieren Von einer Webseite im Internet sol-len eine Leuchtdiode (LED) ein- oder ausgeschaltet sowie der Zustand der Leuchtdiode und eines Tasters abgefragt werden An Hard- und Software werden benoumltigt

1 Low-Current-LED 5 mm 2 mA 1 Widerstand 18 kΩ 1 Taster und optional zwei 10-polige Wannenstecker mit ungefaumlhr 10 cm passendem Flachbandkabel und Buchsen

Interface in Basisschaltung Null-Modem-Kabel 12 V DC Steckernetzteil (larr 1)

Installierte Bascom-Demo-Version (larr 42)

AVR ISP-Programmer mit 10-poligem Programmierkabel

Installiertes und konfiguriertes AVR Studio 418 (larr 41)

Installiertes Paket XAMPP (larr 52)

Texteditor wie z B Notepad in Windows XP Professional

Konfigurierte Hyperterminalverbindung (larr 54)

462 Bestuumlckung der Platine Abb 29 zeigt zur Orientierung fuumlr das Einloumlten der Bauelemente die fertig bestuumlckte Platine des Interface

Abb 29 Mit elementarem RCL bestuumlckte Platine

des Interface

LED mit Vorwiderstand und der Taster sind rechts neben dem Mikrocontroller im Lochraster-bereich aufgebaut und uumlber Wannenstecker und Flachbandkabel mit dem Port A des Mikro-controllers verbunden (die drei Bauteile rechts neben dem ATmega16 werden nicht benouml-tigt) Tab 13 erlaumlutert die Schritte zur Bestuumlckung der Platine des Interface

68

Nr Schaltung Erlaumluterung

1

Die Leuchtdiode (LED) mit dem Pluspol (langes Beinchen) an PortA0 (PIN40 oben rechts) des Mikrocontrollers anloumlten

An das kurze Beinchen einen 18kΩ Widerstand loumlten dessen anderes Ende mit der Masse (GND) verbinden

2

Den Taster mit PortA1 (PIN39 = 2 Beinchen von oben rechts) und Masse (GND) verbinden

3

Draufsicht

Belegung des 10-poligen Wannensteckers 1 GND (Masse) im Foto oben links 2 +5 V 3 PortA0 4 PortA1 10 PortA7 im Foto unten rechts

Tab 13 Schritte zum Aufbau des elementaren RCLs

463 Lokal gesteuertes RCL Nachfolgend ist der Basic-Programmcode des Mikrocontrollers zur Steuerung und Abfrage der LED und des Tasters angegeben 01 $regfile = m16DEFdat Microcontroller ATmega16 02 $crystal = 11059200 110592MHz Quarz 03 $baud = 9600 Baudrate 04 05 ---[ Variables ]--------------------------------------------------------------- 06 Dim Rs232kommando As String 10 erst Befehlspuffer dann Kommando 07 Dim Parameter As String 10 Parameter 08 Dim Str_pos As Byte Position von Leerzeichen zur Trennung von Kommando und Pa-rameter 09 10 ---[ Initialisierung ]--------------------------------------------------------- 11 Ddra0 = 1 PortA0 als Ausgang fuumlr LED 12 Porta0 = 0 LED aus 13 Ddra1 = 0 PortA1 als Eingang fuumlr Taster 14 Porta1 = 1 Pull-Up aktivieren 15 16 ---[ Main program loop ]------------------------------------------------------- 17 Do Start der Endlos-Schleife 18 19 If Ischarwaiting() = 1 Then Zeichen uumlber RS232 empfangen 20 Input Rs232kommando neues Kommando lesen 21 Parameter = Parameter initialisieren 22 Str_pos = Instr(rs232kommando ) Leerzeichen im Kommando suchen 23 If Str_pos gt 0 Then falls Leerzeichen dann in Kommando+Parameter zerlegen 24 Incr Str_pos Str_pos soll jetzt auf 1Zeichen des Parameters zeigen 25 Parameter = Mid(rs232kommando Str_pos ) Parameter = Teilstring nach Leerzeichen 26 Parameter = Ucase(parameter) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 27 Str_pos = Str_pos - 2 Str_pos soll jetzt auf letztes Zeichen des Kommandos zeigen 28 Rs232kommando = Left(rs232kommando Str_pos)Kommando = Teilstring vor Leerzeichen 29 Rs232kommando = Ucase(rs232kommando) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 30 End If 31 32 Select Case Rs232kommando Eventhandler Interpretation der Kommandos 33 Case Print Hilfe Hilfeseite anzeigen 34 Print LED on - LED einschalten 35 Print LED off - LED ausschalten 36 Print LED - zeigt Status der LED an 37 Print SW - zeigt Status des Schalters an 38

1K8

LED rotmicroC PortA0(PIN40)

Taster

microC PortA1(PIN39)

1

3

2

69

39 Case LED If Parameter = ON Then LED schalten 40 Porta0 = 1 41 End If 42 If Parameter = OFF Then 43 Porta0 = 0 44 End If 45 46 Case LED If Porta0 = 0 Then Status der LED ausgeben 47 Print LED aus 48 Else 49 Print LED an 50 End If 51 52 Case SW If Pina1 = 1 Then Status des Schalters ausgeben 53 Print Taster offen 54 Else 55 Print Taster geschlossen 56 End If 57 58 Case Else Print gt Rs232kommando lt ungueltiger Befehl - weitere Infos mit Info bei unguumlltigen Eingaben 59 End Select 60 61 End If 62 63 Loop Endlos-Schleife Springe zu Do 64 65 End wird nie erreicht

Der erste Teil des Programms (Zeilen 1 - 15) enthaumllt die Systemparameter Variablen und Initialisierung der Ein- und Ausgaumlnge Der zweite Teil enthaumllt ab Zeile 17 das Hauptpro-gramm in dem Benutzereingaben uumlber die serielle Schnittstelle empfangen interpretiert und in entsprechende Anweisungen umgesetzt werden Tab 14 erlaumlutert den Programmcode de-taillierter

Zeilen Erlaumluterung

1 - 3 Diese Angaben teilen dem Compiler (Bascom) mit welcher Prozessor eingesetzt wird wie schnell dieser getaktet (Quarz) ist und mit welcher Uumlbertragungsgeschwindigkeit die Kommunikation uumlber die serielle Schnittstelle (RS232) mit dem PC erfolgen soll

6 - 8 Es werden drei Variablen genutzt Die Eingabe uumlber die serielle Schnittstelle wird in rs232kommando gespeichert Es wird ein Text der Form Kommando ltLeerzeichengt Parameter erwartet so dass die Variable Parameter den-selbigen aufnimmt Die Variable str_pos wird fuumlr die Trennung von Kommando und Parameter benoumltigt

11 - 14

Mit dem Befehl ddrPX (ddr = data direction) wird festgelegt ob ein Beinchen als Ausgang (=1) oder als Eingang (=0) arbeiten soll Der ATmega16 besitzt 32 Ein-Ausgaumlnge die in vier Ports (P=AD) zu je 8 Pins (X=07) unterteilt sind ddrA0 = 1 legt also das 1 Beinchen (Pin 0) von PortA als Ausgang (=1) fest Mit dem Befehl PortA0 =1 kann dieser Pin dann durch Zuweisen von 1 oder 0 an- bzw ausgeschaltet werden Im Datenblatt erfahren Sie welches der 40 Beinchen des Mikrocontrollers wie bezeichnet wird (Pin-Belegung) Wird ein Beinchen als Eingang verwendet (ddrA1 = 0) koumlnnen Sie optional einen so genannten Pull-Up-Widerstand aktivieren (PortA1=1) oder deaktivieren (PortA1=0) Auch hierzu sollten Sie sich unbedingt mit dem Datenblatt vertraut machen

17 63 Das Hauptprogramm besteht aus einer Endlosschleife d h der Mikrocontroller verrichtet ununterbrochen seinen Job so lange er mit Strom versorgt wird

19 - 30 Falls ein Zeichen uumlber die serielle Schnittstelle empfangen wurde wird dieses und alle folgenden gelesen Anschlie-szligend wird gepruumlft ob der empfangene Text von der Form Kommando ltLeerzeichengt Parameter ist so dass er ge-gebenenfalls in ein Kommando und einen Parameter zerlegt werden kann

32 - 59 Dieser Abschnitt wird mit Event-Handler bezeichnet Hier wird auf die Kommandos (Events) reagiert und die ent-sprechenden Schritte ausgefuumlhrt zB schalten LED je nach Wert der Variablen Parameter an- bzw ausschalten

46 52

In beiden Zeilen wird ein Wert eines Ports abgefragt Unterschiedlich ist dass in Zeile 46 der Status eines Ausgangs abgefragt wird (porta0) und in Zeile 52 der Zustand eines Eingangs (pina0) Die Anweisung IF porta0 = 0 THEN pruumlft (hier ist = ein Vergleich und KEINE Zuweisung) ob zuletzt die LED ausgeschaltet (Zuweisung porta0 = 0) wurde Die Anweisung IF pina1= 1 THEN liest den Status eines Eingangs Hier kann festgestellt werden ob der Eingang uumlber den internen Pull-UP-Widerstand auf +5V liegt (pina1 liefert 1) oder ob der Schalter den Eingang mit Masse (0V) verbindet (pina1 liefert 0)

Tab 14 Erlaumluterung des Mikrocontroller-Programmcodes fuumlr elementares RCL

70

In Bascom AVR eine neue Datei erzeugen (FileNew) den Programmcode ohne Kommenta-re eingeben und mit ProgramCompile (F7) eine Hexadezimaldatei erzeugen Die Hexadezi-maldatei mit dem AVR-Studio und dem AVR-ISP-Programmer in den Mikrocontroller schrei-ben (larr 222 Programmuumlbertragung) Nach dem Verbinden von Computer und Interface per Null-Modem-Kabel kann durch Eingabe von in das konfigurierte Hyperterminal die Befehls-liste in Abb 30 aufgerufen werden

Abb 30 Aufgerufene Befehlsliste im Hyperterminal

Durch Eingabe von LED on oder LED off kann die LED ein- und ausgeschaltet LED zeigt den Status der LED und sw den Status des Tasters an Alternativ zum Hyperterminal kann auch das Terminal in BASCOM unter ToolsTerminal Emulator verwendet werden (larr 422)

464 Ferngesteuertes RCL Zum Ansteuern des Interfaces und zum Bedienen des Versuchsaufbaus uumlber das Internet wird eine Webseite benoumltigt die dem Benutzer alle Bedienelemente des Experiments zur Verfuumlgung stellt

Der Benutzer benoumltigt anklickbare Buttons im Webbrowser

Der Webserver muss die Information welcher Button gedruumlckt wurde empfangen und ein entsprechendes Kommando uumlber die serielle Schnittstelle an das Interface senden

Beide Schritte sind im nachfolgenden PHPHTML-Quellcode zusammengefasst 01 ltDOCTYPE HTML PUBLIC -W3CDTD HTML 401 TransitionalEN httpwwww3orgTRhtml4loosedtdgt 02 lthtmlgt 03 ltheadgt 04 ltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1gt 05 lttitlegtelementares RCLlttitlegt 06 ltheadgt 07 08 ltbodygt 09 ltphp 10 if (isset($_POST[Kommando])) wurde bereits Kommando gesendet 11 if( ( $handle = fopen( COM1 w+ ) ) ) Schnittstelle oumlffnen 12

71

13 throw new Exception( Can not access serial port 2 ) ohne Erfolg 14 15 fwrite( $handle $_POST[Kommando] chr( 13 ) ) Befehl an Interface senden 16 switch ( $_POST[Kommando] ) Antwort von Interface auswerten 17 case LED $tmp = fgets( $handle ) Echo von Interface ignorieren 18 $antwort = fgets( $handle ) Antwort des Interfaces 19 echo Antwort $antwort Ausgabe auf Webseite 20 break switch verlassen 21 22 case SW $tmp = fgets( $handle ) Echo von Interface ignorieren 23 $antwort = fgets( $handle ) Antwort des Interfaces 24 echo Antwort $antwort Ausgabe auf Webseite 25 break switch verlassen 26 27 28 29 fclose( $handle ) Schnittstelle schlieszligen 30 31 else 32 `mode com1 BAUD=9600 PARITY=N data=8 stop=1 xon=off` Schnittstellenparameter setzen 33 34 35 gt 36 37 lth3gtBefehl sendenlth3gt 38 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 39 ltinput type=hidden name=Kommando value=LED ON gt 40 ltinput type=submit value=LED anschalten gt 41 ltformgt 42 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 43 ltinput type=hidden name=Kommando value=LED OFF gt 44 ltinput type=submit value=LED ausschalten gt 45 ltformgt 46 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 47 ltinput type=hidden name=Kommando value=LED gt 48 ltinput type=submit value=LED abfragen gt 49 ltformgt 50 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 51 ltinput type=hidden name=Kommando value=SW gt 52 ltinput type=submit value=Taster abfragen gt 53 ltformgt 54 ltbodygt 55 lthtmlgt Den Quellcode in den Texteditor kopieren und im Ordner htdocs von XAMPP z B unter rclphp speichern HTML-Dateien mit PHP-Code (Zeilen 9-35) muumlssen mit der Erweiterung php gespeichert werden damit der Apache Webserver zwischen HTML-Seiten mit und ohne PHP-Code unterscheiden kann Den installierten Apache Webserver starten (larr 452) und im Adressfeld des Webbrowsers die IP-Adresse http127001rclphp aufrufen Das Bedi-enfeld des elementaren RCLs in Abb 31 wird im Browserfenster angezeigt

72

Abb 31 Laborseite des elementaren RCLs

Im Bedienfeld kann die LED an- und ausgeschaltet sowie der Status von LED und Taster abgefragt werden

  • 0 Warum ein Tutorial zur RCL-Technik
  • 1 Technische Konzeption
    • 11 Einfuumlhrung
    • 12 Wahl der RCL-Technik
      • 2 Lokal gesteuertes RCL
        • 21 Interface
          • 211 Mikrocontroller
          • 212 Basisschaltung und Erweiterungsschaltungen
          • 213 Programmierung des Mikrocontrollers
            • 22 Hyperterminal
            • 23 Positionieren von Objekten
              • 231 Hybrid-Schrittmotoren
              • 232 Schrittmotorsteuerung und Positionierungsmechanik
                  • 3 Ferngesteuertes RCL
                    • 31 RCL-Server
                    • 32 Laborseite
                      • 321 Steuerung des RCLs uumlber das Bedienfeld
                      • 322 Videouumlbertragung im Webcamfeld
                        • 33 Standard-Lernumgebung
                          • 4 ANHANG
                            • 41 Interface in Basisschaltung
                              • 411 Schaltplan und Bauteilliste
                              • 412 Bestuumlckung der Platine
                                • 42 Erweiterungsschaltungen
                                  • 421 Uumlbersicht
                                  • 422 TMC222-Modul zur Schrittmotorsteuerung
                                    • 4221 Schaltplan und Bauteilliste
                                    • 4222 Bestuumlckung der Platine
                                    • 4223 Quellcode des Mikrocontroller-Programms
                                      • 423 Geschaltete Spannungsquellen und Verbraucher
                                      • 424 Steuerung von Gleichstrommotoren
                                        • 43 Quellcodes zum RCL Elektronenbeugung
                                          • 431 Mikrocontroller-Programmierung
                                          • 432 PHP-Programmierung
                                          • 433 Bedienfeld der Laborseite
                                          • 434 Webcamfeld der Laborseite
                                            • 44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung
                                              • 441 AVR-Studio 418
                                                • 4411 Installation
                                                • 4412 Konfiguration
                                                  • 442 BASCOM 11198 Demoversion
                                                    • 4421 Installation
                                                    • 4422 Konfiguration
                                                        • 45 Installation und Konfiguration von Programmen auf dem RCL-Server
                                                          • 451 Einrichten des Internet-Zugangs
                                                          • 452 Paket XAMPP 174
                                                          • 453 Videoserver webcamXP 5 Private
                                                          • 454 Terminalprogramm Hyperterminal
                                                          • 455 Fernwartungssoftware TeamViewer 6 Host
                                                            • 46 Selbstbau eines elementaren RCLs
                                                              • 461 Hard- und Software
                                                              • 462 Bestuumlckung der Platine
                                                              • 463 Lokal gesteuertes RCL
                                                              • 464 Ferngesteuertes RCL

7

Abb 4 Funktionsgruppen von RCL-Server Interface und Experiment eines RCLs

Lokal gesteuertes RCL Damit das Experiment fernbedienbar wird muss der Versuchsaufbau mit Sensoren (z B fuumlr Temperatur) Aktoren (z B Schrittmotor) oder anderen gesteuerten Geraumlten (z B Hochspannungsnetzgeraumlt in Abb 2) ausgestattet werden Das Interface besteht aus einer fuumlr alle RCLs identischen Basisschaltung und aus RCL-spezifischen Erweiterungsschal-tungen (rarr 212) fuumlr die Sensoren Aktoren und gesteuerten Geraumlte Wichtigster elektronischer Baustein der Basisschaltung ist ein programmierbarer Mikro-controller (rarr 211) zur Steuerung des Experiments Fuumlr die Programmentwicklung wird eine Entwicklungsumgebung auf dem RCL-Server oder alternativ auf anderen Computern verwendet (rarr 213) Die Programmuumlbertragung vom RCL-Server auf den Mikrocontroller erfolgt uumlber einen USB-ISP-Programmer und die ISP-Schnittstelle des Mikrocontrollers (rarr 213) Danach werden die in Abb 4 gestrichelt dargestellten Funktionsgruppen und Verbindungen nicht weiter benoumltigt und das RCL kann lokal uumlber ein Terminal (rarr 22) ge-steuert werden werden

Ferngesteuertes RCL Um auf das RCL weltweit zugreifen zu koumlnnen wird auf dem RCL-Server ein Webserver installiert und ein Internetzugang benoumltigt (rarr 31) Befehle von der Laborseite wie z B Parametereingaben werden von einem PHP-Programm interpretiert und uumlber die RS232-Schnittstelle (alternativ uumlber USB-Seriell-Adapter) des RCL-Servers an die RS232-Schnittstelle des Mikrocontrollers zur Ausfuumlhrung an das Experiment uumlbermittelt In umge-kehrter Richtung werden uumlber das PHP-Programm vom Mikrocontroller Zustaumlnde des Ex-periments oder Messergebnisse an die Laborseite uumlbermittelt (rarr 321) Zur Uumlbertragung von Videobildern einer oder mehrerer Webcams die visuelle Ruumlckmeldungen uumlber den Zustand des Experiments geben wird ein Videoserver eingesetzt (rarr 322) Der RCL-Server stellt Besuchern auszliger der dynamisch generierten Laborseite auch die statischen Webseiten der Standard-Lernumgebung (larr 11 Abb 2) des RCLs bereit (rarr 33)

8

12 Wahl der RCL-Technik Es existiert eine nur schwer im Detail zu uumlberblickende und zu beherrschende Vielzahl von Hard- und Softwaretechnologien (Interfaces und Programmiersprachen) um ein Experiment uumlber das Internet fernbedienbar zu machen Im Folgenden wird die Wahl der Technik von RCLs des RCL-Portals begruumlndet

Interface Zu Beginn des RCL-Projekts war es naheliegend auf vorhandene technische Loumlsungen zum Interface zuruumlckzugreifen Das RCL Elektronenbeugung wurde zunaumlchst mit dem Power-Cassy4 und dem Sensor-Cassy5 von Leybold zur Steuerung und Messung der Be-schleunigungsspannung betrieben Der heutige Preis fuumlr beide Komponenten zusammen liegt bei ungefaumlhr 1700 euro Ein Datenaustausch zwischen dem RCL-Server und dem Sen-sor-Cassy wurde uumlber das Common Gate Interface (CGI) realisiert Bei den nicht mehr existierenden Versionen der RCLs Beugung und Interferenz und Computertomographie wurde das Intelligent Interface6 von Fischertechnik eingesetzt Fuumlr 130 euro wurden 4 umpolbare kurzschlussfeste digitale Ausgaumlnge mit 025 A Dauerbelast-barkeit fuumlr Gleichstrommotoren Elektromagneten oder Lampen geboten Digitale Senso-ren wie z B Taster konnten an 8 digitale Eingaumlnge angeschlossen werden Fuumlr Potenti-ometer Temperatur- oder Helligkeitssensoren mit variablem Widerstand als Ausgangs-groumlszlige waren 2 analoge Eingaumlnge mit Eingangswiderstand zwischen 0 und 5 kΩ und einer Abtastrate von 50 Hz verfuumlgbar Programmiert werden konnte das Interface mit C++ Vi-sual Basic oder als Einstieg in die Technik des Programmierens mit der graphisch orien-tierten Programmiersprache LLWin Ein nutzerspezifisches im RAM des Interface gespei-chertes Programm ging ohne Spannungsversorgung verloren Die Nachteile dieser Interfaces wie zu hohe Kosten zu geringe Flexibilitaumlt beim Anschluss von Sensoren und Aktoren - insbesondere von Schrittmotoren - und zu geringe Messraten wurden erst durch das programmierbare Eigenbau-Interface (rarr 21) fuumlr ungefaumlhr 50 euro (rarr 41) und eine modular gestaltete an das jeweilige RCL anzupassende PHP-Basisprogrammierung (rarr 432) geloumlst Zur Programmierung des Interface wird ein USB-ISP-Programmer fuumlr ungefaumlhr 30 euro benoumltigt

Software fuumlr RCL-Server Mikrocontroller und Standard-Lernumgebung Tab 1 enthaumllt eine Uumlbersicht der Programme fuumlr den RCL-Server und einem weiteren Computer Die Links fuumlhren auf die Webseite zum Download des Programms und Preise sind angegeben Auf Installation und Konfiguration von Programmen wird in den einzel-nen Abschnitten des Tutorials eingegangen

4 Vgl LD Didactic Power-Cassy 5 Vgl LD Didactic Sensor-Cassy 6 Vgl Fischertechnik Intelligent Interface nicht mehr lieferbare Art-Nr 30402 bei Knobloch GmbH

9

Typ Hersteller Name und Version Preis

RC

L-Se

rver

Betriebssystem und Terminal

Microsoft Windows XP Professional mit Service Pack 3 Microsoft Hyperterminal in Windows XP Professional unter

StartProgrammeKommunikationHyperterminal asymp 20 euro

Webserver und PHP Apache Friends XAMPP 174 fuumlr Windows Installer-Version The PHP Group PHP 531 (enthalten in XAMPP 174)

-

Videoserver Moonware Studios webcamXP 5 Free (eine Videoquelle) Moonware Studios webcamXP 5 Private (bis zu 5 Videoquellen)

- 4495 euro

RCL-Software Technische Universitaumlt Kaiserslautern RCL-Ordner htdocs -

Fernwartung- und Desktop-Sharing TeamViewer GmbH TeamViewer 6 Vollversion -

Virenscanner Avira AntiVir Personal Webeditor Notepad++ team Notepad++ 59 -

Com

pute

r

Entwicklungsumgebungen fuumlr Mikrocontroller ATmega16

ATMEL AVR-Studio 418 - Sourceforge WinAVR - MCS Electronics BASCOM-AVR Demoversion (maximal 4 kB

Programmcode) MCS Electronics BASCOM-AVR Vollversion

-

89 euro MikroElektronika MikroPascal Pro for AVR asymp 140 euro

Webeditor Notepad++ team Notepad++ 59 Adobe Dreamweaver CS557

- asymp 115 euro

Fernwartung- und Desktop-Sharing TeamViewer GmbH Teamviewer 6 Vollversion -

Tab 1 Programme fuumlr den RCL-Server und fuumlr weiteren Computer zur Prgrammie-rung des Mikrocontrollers Webseitenerstellung und Fernwartung ( optio-nale Programme Links fuumlhren auf Webseite zum Download Stand Juni 2011)

Fuumlr den RCL-Server wird als stabiles Betriebssystem Windows XP Professional einge-setzt Microsoft vertreibt seit Dezember 2008 Windows XP nicht mehr Sicherheitspatches werden noch bis April 2014 bereitgestellt ein Bezug ist z B uumlber Ebay8 moumlglich Das Hy-perterminal-Programm zur Kommunikation mit dem Interface ist Teil von Windows XP Professional Vom Open-Source-Paket XAMPP wird der Apache Webserver und der PHP-Interpreter eingesetzt Da in der Regel bei RCLs zwei Webcambilder uumlber das Inter-net uumlbertragen werden muumlssen ist der Videoserver webcamXP 5 nicht kostenlos Im RCL-Ordner htdocs befindet sich die Basissoftware die noch an das zu realisierende RCL anzupassen ist Ein kostenloser Virenscanner wie z B Antivir Personal ist erfahrungsge-maumlszlig ausreichend Als Fernwartungssoftware fuumlr den RCL-Server wird Teamviewer emp-fohlen Es genuumlgt der Teamviewer Host weil vom RCL-Server kein Remote-Zugriff auf den Computer erfolgen muss Fuumlr kleinere Arbeiten an der RCL-Software oder der Stan-dard-Lernumgebung waumlhrend der Fernwartung sollte ein kostenloser Webeditor wie z B Notepad++ installiert werden Auf einem weiteren Computer kann zur Programmierung des Mikrocontroller eine Ent-wicklungsumgebung fuumlr folgende Programmiersprachen installiert werden Mit dem AVR-Studio kann in Assembler und nach der Installation von WinAVR in C bzw C++ program-miert werden Fuumlr Einsteiger wird eine Programmierung in Basic mit BASCOM-AVR emp-fohlen Falls der Programmcode groumlszliger als 4 kB ist muss die Vollversion erworben wer-

7 Vgl Adobe Dreamweaver CS55 8 Vgl Ebay Windows XP Professional

10

den Eine Programmierung in Pascal ist fuumlr ungefaumlhr 140 euro mit dem Pascal-Compiler von MikroElektronika moumlglich Mit Notepad++ steht ein kostenloser und guter Webeditor zum Erweitern der PHP-Basissoftware und zum Erstellen von Webseiten der Standard-Lernumgebung bereit Als professionellerer Editor kann z B Dreamweaver verwendet werden Fuumlr die Fernwartung des RCL-Servers muss auf dem zugreifenden Computer die Vollversion von Teamviewer installiert werden

Die gewaumlhlte Hard- und Software fuumlr RCLs bietet folgende Vorteile

Geringe Hard- und Softwarekosten Interface mit Erweiterungsschaltungen (asymp 70 euro) USB-ISP-Programmer (asymp 30 euro) AVR-Studio zur Programmierung in C (0 euro) Betriebssystem Windows XP Professional (asymp 20 euro) webcamXP 5 fuumlr ein Webcambild (0 euro) koumlnnen zusammen fuumlr 120 euro erworben werden Mit einem nicht mehr benoumltigtem aumllteren Computer Tastatur und Maus (0 euro) einem ausge-dientem Monitor (0 euro) einer einfachen USB-Webcam (asymp 20 euro) und der Positionierungsme-chanik eines nicht mehr benoumltigten aumllteren Scanners (0 euro) kann ein RCL schon ab 140 euro realisiert werden

Einfache Adaptierbarkeit des Interface und der PHP-Basissoftware an das Experiment Der Mikrocontroller des Interface kann frei programmiert werden Mit der Aufteilung der Schaltung des Interface in eine fuumlr alle RCLs gleiche Basisschaltung und RCL-spezifische Erweiterungsschaltungen (rarr 212) ist das Interface leicht an das Experiment anpassbar Durch die im Mikrocontroller integrierten Peripheriebausteine genuumlgen meist wenige Bau-elemente und die unterschiedlichsten Mess- und Steuergroumlszligen koumlnnen verarbeitet wer-den Die PHP-Basissoftware braucht nur um wenige Programmbloumlcke erweitert zu wer-den

Einfacher Zugang zu Ressourcen der RCL-Technik Die weite Verbreitung des Mikrocontrollers ATmega16 im Hobbybereich korrespondiert mit einem umfangreichen kostenlosen Informationsmaterial zur Hardware und Software des Mikrocontrollers im Internet In Tab 2 sind unter Mikrocontroller Links zu Datenblaumlt-tern Portalen und Foren mit praxisnahen Loumlsungen fuumlr Probleme der Mikrocontroller-Programmierung zusammengestellt Ein staumlrker strukturiertes Erlernen der Funktionen und Programmierung von AVR-Mikrocontrollern ist uumlber die genannten Tutorials im Inter-net und Buumlcher moumlglich

11

Ressource Kurzbeschreibung

Mik

roco

ntro

ller

Mikrocontroller mega16A Mikrocontroller ATmega16A Summary

Ausfuumlhrliches und zusammenfassendes Datenblatt des Mikrocon-trollers ATmega16

wwwmicrocontrollernet Portal fuumlr Mikrocontroller RoboterNETZ Portal fuumlr Robotik Mikrocontroller und Elektronik AVR-Tutorial Tutorial zur AVR-Familie auf microcontrollernet BASCOM-AVR Online-Hilfe zur Entwicklungsumgebung BASCOM-AVR myAVR Mikrocontrollerloumlsungen fuumlr Ausbildung und Selbststudium BASCOM-Forum Forum von MCS BASCOM RoboterNETZ-Forum Forum von RoboterNETZ myAVR-Forum Forum von myAVR AVR-Forum Forum von Atmel Roland Walter AVR Mikrocontroller Lehr-buch Buch zur Programmierung von AVR-Mikrocontrollern mit Basic

Guumlnter Schmitt Mikrocomputertechnik mit Controllern der Atmel AVR-RISC-Familie

Buch zur Programmierung von AVR-Mikrocontrollern in Assemb-ler und C

Claus Kuumlhnel Programmierung der AVR RISC Mikrocontroller mit BASCOM-AVR

Buch zur Programmierung von AVR-Mikrocontrollern in BAS-COM-AVR (Basic)

Frank Sichla Schaltungssammlung Mikro-controller und USB

Buch mit praktischen Anwendungsschaltungen und Einsatzmoumlg-lichkeiten von Mikrocontrollern

HTM

LPH

P

SELFHTML Portal zum Erstellen von Webseiten mit HTML SELTPHP Portal zum Programmieren von Webseiten mit PHP PHP Entwicklerseite von PHP Kleines Tutorial PHP-Tutorial PHP-Handbuch PHP-Handbuch

Elek

tron

ik

reichelt elektronik Elektronikversand Conrad Elektronikversand ELV Elektronik Elektronikversand Datasheet Catalogcom Datenbank fuumlr Datenblaumltter elektronischer Bauelemente Datasheet Archive Datenbank fuumlr Datenblaumltter elektronischer Bauelemente Pegelwandler Max232 fuumlr serielle Schnitt-stelle Datenblatt des ICs Max232 von Texas Instruments

Spannungsregler L7805 Datenblatt des ICs L7805 von STMicroelectronics Schrittmotormodul TMC222 Datenblatt des ICs TMC222 von Trinamic

Schr

ittm

otor

en

Minebea Hybrid Stepping Motors Datenblaumltter von 12 Hybrid-Schrittmotoren Trinamic Stepper Motors Datenblaumltter und Bezugsquellen von 6 Hybrid-Schrittmotoren reichelt elektronik Groszliges Angebot an Schrittmotoren Quality Motors Auf TMC-Module und -ICs abgestimmte Schrittmotoren Nanotec Schrittmotor-Animation Animation von unipolarem und bipolarem Schrittmotor

Nanotec Glossar Glossar mit Erklaumlrungen zu wichtigen Begriffen aus der Schrittmo-tor-Antriebstechnik

Erich Rummich Elektrische Schrittmoto-ren und -antriebe- Funktionsprinzip- Be-triebseigenschaften - Messtechnik

Buch zum Erwerb von Kenntnissen zum Aufbau und zur Funkti-onsweise von Schrittmotoren

Tab 2 Ressourcen zur Realisation eines RCLs

Die seit 1996 zunehmende Bedeutung der kostenlosen Skriptsprache PHP und das Wachstum des Internets korrespondieren mit einer Zunahme an kostenlosem Informati-onsmaterial zur PHPHTML-Programmierung Neben den unter PHPHTML in Tab 2 ge-nannten Ressourcen sind wegen des groszligen Marktes keine Buumlcher zu PHP genannt Die teuren und schnell veraltenden Buumlcher sollten in Bibliotheken geliehen werden Unter Elektronik sind in Tab 2 Links zum Versandhandel elektronischer Bauelemente zu Datenbanken mit Datenblaumlttern elektronischer Bauelemente und zu Datenblaumlttern der wichtigsten ICs des Interface zu finden Unter Schrittmotoren sind Links zu Schrittmotoren

12

wichtiger Anbieter zusammengestellt die uumlber den Elektronikhandel leicht bezogen wer-den koumlnnen Das Buch von Erich Rummich erklaumlrt Zusammenhaumlnge zwischen Bauform und Funktionsweise von Schrittmotoren die uumlber Informationen zu Schrittmotoren im Tu-torial (rarr 231) gegebenen Informationen hinausgehen

Programmierung des Mikrocontrollers in Basic Besonders die Moumlglichkeit der Programmierung des Mikrocontrollers in der Hochsprache Basic (larr 12 Tab 1 Bascom AVR) erleichtert den Einstieg in den Selbstbau von RCLs Daruumlber hinaus besteht analog zur PHP-Programmierung die Mikrocontroller-Programmierung aus einer an das jeweilige RCL lediglich anzupassenden Basispro-grammierung (rarr 431)

Betriebssystemunabhaumlngigkeit Das Interface kommt ohne betriebssystemspezische Treiber aus PHP und HTML sind be-triebsystemunabhaumlngige Sprachen Der Apache Webserver XAMPP ist auszliger fuumlr Windows fuumlr die Betriebssysteme Linux Mac OS X und Solaris9 erhaumlltlich

Wartung von Programmierung und Interface Aumlnderungen der PHPHTML-Programmierung koumlnnen leicht uumlber einen Fernzugriff auf den RCL-Server vorgenommen werden Da der PHPHTML-Quellcode im RCL-Betrieb stets in einer lauffaumlhigen Form vorliegt fuumlhren Wechsel von Personen die Zugriff auf die Programmierung haben nicht zu Ausfaumlllen des RCLs Aumlnderungen und Reparaturen an den Ergaumlnzungsschaltungen des Interface koumlnnen aufgrund des Lochrasteranteils der Platine (rarr 412) leicht durchgefuumlhrt werden

Zerstoumlrungssichere Versuchskomponenten Versuchskomponenten sind durch die Programmierung des Mikrocontrollers vor Fehlbe-dienungen des RCLs geschuumltzt Da der Mikrocontroller die Zulaumlssigkeit von Parameter-werten uumlberwacht ist kein Missbrauch des Experiments durch Dritte moumlglich Abstuumlrze des RCL-Servers fuumlhren nicht zu undefinierten Zustaumlnden des Experiments weil der Mik-rocontroller das Experiment steuert In der Lebensdauer staumlrker begrenzte Versuchskom-ponenten wie z B die Elektronenbeugungsroumlhre beim RCL Elektronenbeugung (larr 11 Abb 2) koumlnnen durch eine programmierte Standby-Funktion des Mikrocontrollers bei Nichtgebrauch ausgeschaltet werden

Keine Installation von Zusatzsoftware Besucher benoumltigen zum Experimentieren mit RCLs lediglich einen kostenlos verfuumlgbaren Webbrowser wie z B die auf Funktionsfaumlhigkeit fuumlr die RCLs getesteten Internet Explo-rer Opera Firefox Safari oder Konquerer mit aktivierter Javaskript-Funktion Es muss keine weitere Zusatzsoftware installiert werden

Eine alternative technische Loumlsung fuumlr RCLs ist LabVIEW (Laboratory Virtual Instrument En-gineering Workbench) von National Instruments (NI)10 LabVIEW ist eine sehr umfangreiche

9 Apache friends XAMPP

13

mittlerweile als Industriestandard geltende grafische Programmierumgebung zum Messen Steuern und Regeln von Systemen Uumlber umfangreiche Treiber-Bibliotheken lassen sich fast alle gaumlngigen mit einer entsprechenden Schnittstelle ausgestatteten Geraumlte in LabVIEW ein-binden LabVIEW wurde als technische Loumlsung im RCL-Projekt aus mehreren Gruumlnden nicht eingesetzt

Besucher muumlssen einmalig vor dem Experimentieren mit RCLs die LabVIEW Run-Time Engine11 installieren

Es existieren nur wenige Schulgeraumlte mit den erforderlichen Schnittstellen

Die Kosten von ungefaumlhr 1300 euro fuumlr die Basisversion und ungefaumlhr 2800 euro fuumlr die Vollver-sion sind zu hoch

LabVIEW ist fuumlr die zu entwickelnden RCLs bzw die Zielgruppe aus Schuumllern und Studie-rende uumlberdimensioniert Der Nachbau von RCLs durch interessierte Schuumller und Studie-rende waumlre aus Kosten und Anforderungsgruumlnden nur schwer moumlglich

Trotz der graphischen Programmieroberflaumlche von LabVIEW muumlssen im Programmcode immer noch Anpassungen in der speziell fuumlr LabVIEW entwickelten Programmiersprache G vorgenommen werden

Die Einarbeitung in LabVIEW ist vom Zeitaufwand und den Anforderungen her mindes-tens genauso hoch wie die fuumlr Mikrocontroller- und PHP-Programmierung

Eine mit fertigen LabVIEW-Elementen gestaltete Laborseite ist nicht unbedingt nutzer-freundlicher als eine mit PHPHTML erstellte Laborseite

2 Lokal gesteuertes RCL 21 Interface 211 Mikrocontroller Zentrales Bauelement des Interface ist ein ATMEL AVR 8-bit RISC Mikrocontroller ATme-ga16 Dieser enthaumllt im Vergleich zu einem Mikroprozessor auszliger dem Prozessor auch peri-phere Module wie z B Speicher digitale und analoge Ein- und Ausgaumlnge oder Timer fuumlr Zu-satzfunktionen Dadurch kommen Anwendungen von Mikrocontrollern wie z B RCLs meist mit wenigen zusaumltzlichen Bauelementen aus Tab 3 enthaumllt eine Uumlbersicht der wichtigsten Features des Mikrocontrollers zum Prozessor zur Programmierung und Datenspeicherung zu peripheren Modulen und erlaumlutert einige Fachbegriffe

10 Vgl National Instruments 11 Vgl National Instruments LabVIEW Run-Time Engine

14

Feature Erlaumluterung

Proz

esso

r

ATMEL AVR 8 bit RISC Mik-rocontroller ATmega16

ATMEL US-amerikanischer Hersteller von Mikrocontrollern AVR Familie von Mikrocontrollern 8 bit Breite des internen Datenbusses des Mikrocontrollers RISC steht fuumlr Reduced Instruction Set Computer (Rechner mit reduziertem Befehls-

satz) Designphilosophie von Mikrocontrollern mit Befehlssatz aus moumlglichst einfa-chen Befehlen und houmlherer Effizienz des Prozessors

ATmega Eine der Mikrocontroller-Serien von ATMEL 16 steht fuumlr 16 kB Flash-ROM Groumlszlige des Programmspeichers des Mikrocontrollers

131 Befehle mit 1-2 Taktzyk-lenBefehl

Die ATmega-Serie besitzt unter den Mikrocontroller-Serien von ATMEL den groumlszligten Befehlssatz Die meisten Befehle benoumltigen zur Ausfuumlhrung nur einen Taktzyklus

Variabel waumlhlbare Taktfre-quenzen bis zu 16 MHz

Ein externer Schwingquarz legt die Schwingungsfrequenz einer Oszillatorschaltung und damit die Taktfrequenz des Mikrocontrollers fest

Prog

ram

mie

rung

und

Dat

ensp

eich

erun

g

ISP uumlber SPI-Bus in 16 kB Flash-ROM Programm-Speicher

ISP steht fuumlr In System Programming Der Mikrocontroller kann ohne aus der Schal-tung entfernt zu werden programmiert werden Es wird kein teures Programmierge-raumlt sondern nur ein Programmieradapter benoumltigt

SPI steht fuumlr Serial Peripheral Interface (Serielles Peripheres Interface) Nach dem Master-Slave-Prinzip arbeitender synchroner serieller Datenbus zur Kommunikation zwischen digitalen Schaltungen

Flash-ROM Kann zur Speicherung des Programmcodes ca 1000-mal neu be-schriebengeloumlscht - geflashed - werden aber beliebig oft gelesen werden Daten bleiben auch ohne Versorgungsspannung erhalten

512 B EEPROM 1 kB internes SRAM

EEPROM steht fuumlr Electrically Erasable Programmable Read Only Memory (Elektrisch loumlschbarer und programmierbarer Nur-Lese-Speicher) Nichtfluumlchtiger Speicher der beliebig oft gelesen und mindestens 100000 mal beschrieben werden kann Kann z B zum Speichern von Messwerten und Konfigurationsdaten verwen-det und uumlber ISP programmiert werden

SRAM steht fuumlr Static Random Access Memory Fluumlchtiger Speicher der beliebig oft gelesen und beschrieben werden kann Wird z B zur Speicherung von Variablen und des Stacks verwendet

Perip

here

Mod

ule

32 programmierbare Ein- und Ausgaumlnge

Der Mikrocontroller ist 40-polig Davon koumlnnen 32 Pole entweder als Ein- oder Aus-gang programmiert werden

Zwei 8-bit- und ein 16-bit-Timer mit Vorteilern und Ver-gleichs-Modus

Die vom Quarzoszillator gesteuerten Timer erlauben z B praumlzise Zeitmessungen oder Interrupts bei bestimmten Zaumlhlerstaumlnden Die maximalen Zaumlhlerstaumlnde sind bei 8 bit 255 und bei 16 bit 1023 Vorteiler erlauben eine Verringerung der Zaumlhlrate

Programmierbare USART USART steht fuumlr Universal SynchronousAsynchronous Receiver Transmitter Seriel-

le Schnittstelle die zur Datenuumlbertragung zwischen Mikrocontroller und Computer benutzt wird

I2C Interface

I2C ist ein synchroner serieller Zweidraht-Bus mit einer Daten- und einer Taktleitung zur Kommunikation zwischen ICs Nach dem Master-Slave-Prinzip kann ein Master bis zu 128 Slaves ansprechen Die Uumlbertragungsrate liegt im Standard-Mode bei 100 kbits

Externe und interne Interrupts

Interrupts unterbrechen das Hauptprogramm des Mikrocontrollers um kurzfristige und zeitkritische Verarbeitungen durchzufuumlhren Externe Interrupts werden durch am Mikrocontroller angeschlossene Hardware gesteuert interne Interrupts durch die Programmierung des Mikrocontrollers

4 PWM-Ausgaumlnge PWM steht fuumlr Pulse Width Modulation (Pulsweitenmodulation) Timer stellen an 4

Ausgaumlngen Rechteckimpulse der Dauer t und Unterbrechungsdauer T-t mit variab-lem Tastverhaumlltnis tT zur Verfuumlgung

8 10-bit ADC

ADC steht fuumlr Analog to Digital Converter (AD-Wandler) Integrierte Schaltung die analoge Eingangsspannung Ue in digitale Ausgangsspannung (Zahl) umwandelt

10-bit Aufloumlsungsvermoumlgen des AD-Wandlers Kleinster aufloumlsbarer Spannungsun-terschied ist (Uemax - Uemin)210

Tab 3 Features des Mikrocontrollers ATmega16

15

212 Basisschaltung und Erweiterungsschaltungen Abb 5 zeigt am Beispiel des RCLs Elektronenbeugung die Platine des Interface mit den Funktionsgruppen 1 - 5 der Basisschaltung und den Funktionsgruppen 6 und 7 der Erweite-rungsschaltungen (larr 11 Abb 4)

Abb 5 Platine des Interface des RCLs Elektronenbeugung

Abb 6 zeigt den dazugehoumlrigen Schaltplan mit den Nummern der Funktionsgruppen und die Pinbelegung des Mikrocontrollers ATmega16

Abb 6 Schaltplan des Interface des RCLs Elektronenbeugung (links) und Pinbelegung

des Mikrocontrollers ATmega16 (rechts)

16

Basisschaltung Die Spannungsversorgung (1) des Interface erfolgt uumlber ein Universal-Steckernetzteil mit der Betriebsspannung Ub = 12 V Eine Diode SB140 schuumltzt die Elektronik des Interface vor falscher Polung der Spannungsversorgung Der Spannungsregler L7805 wandelt die Betriebsspannung am Hohlstecker in eine Gleichspannung von 5 V fuumlr die Spannungs-versorgung der elektronischen Bauelemente des Interface um Die Betriebsspannung kann im Interface auch direkt zur Ansteuerung von Relais oder zur Spannungsversorgung kleinerer Motoren verwendet werden Bei Bedarf kann unter Beachtung der Kuumlhlung des L7805 das Interface mit houmlheren Betriebsspannungen z B fuumlr staumlrkere Schrittmotoren betrieben werden Die nicht hinreichend stabile und temperaturabhaumlngige Frequenz des internen RC-Oszillators im Mikrocontroller (2) kann bei Verwendung der USART zu Problemen fuumlhren Daher wird ein externer 110592 MHz Schwingquarz (3) eingesetzt Der IC MAX232 ist ein Pegelwandler der die 0V+5 V-Signale der seriellen Schnittstelle (4) des Mikrocontrol-lers an die plusmn12 V-Signale der seriellen Schnittstelle des Computers anpasst Uumlber den ISP-Stecker kann der Mikrocontroller programmiert werden (5) Das Interface in der Ba-sisschaltung kann im Selbstbau angefertigt werden (rarr 41)

Erweiterungsschaltungen Nur die wenigsten Aktoren Sensoren gesteuerte Geraumlte und Bauelemente eines RCLs lassen sich direkt vom Mikrocontroller ansteuern Beim RCL Elektronenbeugung wird die Heizspannung der Elektronenkanone mit einem Relais zum Schalten der Netzspannung des Hochspannungsnetzgeraumltes ein- und ausgeschaltet (6) Liefert der Mikrocontroller am Port PA0 die Spannung 5 V (high) so wird die Kollektor-Emitter-Strecke des Transistors BC 337 niederohmig fast die gesamte Betriebsspannung Ub = 12 V faumlllt uumlber dem Relais ab und es flieszligt ein Strom durch das Relais Die Diode 1N4001 schuumltzt den Transistor vor Induktionsspannungsspitzen beim Ein- und Ausschalten der Spule im Relais Am Steuereingang des Hochspannungsnetzgeraumlts kann durch Anlegen einer Steuer-spannung US zwischen 0 V und 5 V die Beschleunigungsspannung der Elektronenkanone zwischen 0 und 43 kV im belasteten Zustand bei eingeschalteter Gluumlhkathode variiert werden Die analoge Steuerspannung US erzeugt ein 8-bit Digital-Analog-Wandler PCF8591 der uumlber den I2C-Bus des Mikrocontrollers (Ports PC0 und PC1) mit Binaumlr-codes zwischen 0 und 255 angesteuert wird (7) Die Ausgangsspannung des DA-Wandlers liegt in 256 Stufen zwischen 370 mV und 497 V Dieser Schaltung wurde der Vorzug gegenuumlber der Erzeugung einer Steuerspannung mit Hilfe eines der Pulsweiten-modulationsausgaumlnge des Mikrocontrollers gegeben weil der Programmieraufwand ge-ringer und die Steuerspannung keine Restwelligkeit aufweist

Eine Uumlbersicht zu Erweiterungsschaltungen fuumlr Sensoren und Aktoren (rarr 421) zeigt die Anpassungsfaumlhigkeit des Interface an die unterschiedlichsten Experimente

17

213 Programmierung des Mikrocontrollers Im Folgenden wird die Programmstruktur des Mikrocontroller-Programms und die Uumlbertra-gung des Programmcodes in den Mikrocontroller beschrieben

Programmstruktur Der Mikrocontroller ist mit einem Programm (Firmware) ausgestattet um die Aufgaben des Interfaces abzuarbeiten Hierzu zaumlhlen im Wesentlichen Programmteile zur Kommu-nikation mit dem RCL-Server und zur Steuerung des Experiments da das Interface eine Schnittstelle zwischen Experiment und RCL-Server darstellt Weitere Programmteile sind beispielsweise zur Initialisierung des Versuchsaufbaus und der Steuerparameter sowie zur Konfiguration des Interfaces realisiert Abb 7 zeigt ein Flussdiagramm der Programm-teile zur Kommunikation mit dem RCL-Server und zur Steuerung des Experiments

Abb 7 Flussdiagramm der Programmierung des Mikrocontrollers

Der Programmteil zur Kommunikation mit dem RCL-Server besteht im Wesentlichen aus einer Schleife die unablaumlssig auf Steuerzeichen des RCL-Servers wartet diese gegebe-nenfalls empfaumlngt und auswertet Soll mittels eines empfangenen Steuerzeichens der Versuchsaufbau angesteuert werden wird vom Kommunikations-Programmteil eine ent-sprechende Anweisung fuumlr den Steuerungs-Programmteil generiert In der Schleife wer-den auch Antworten wie z B Messergebnisse des Steuerungs-Programmteils entgegen-genommen und an den RCL-Server ausgegeben Der Kommunikations-Programmteil kann Kommandos mit und ohne Parameter entgegen-nehmen und verarbeiten So lassen sich einfache Befehle wie Start und Stopp eines Mo-tors aber auch speziellere Anweisungen wie Messe uumlber den Bereich von a nach b mit einer Schrittweite c ausfuumlhren Auch Messergebnisse oder Statusinformationen in Form einzelner Daten wie Zahlen oder Listen koumlnnen vom Kommunikations-Programmteil an den RCL-Server uumlbertragen werden Ferner uumlbernimmt der Kommunikations-Programmteil auch den Austausch von Konfigurationsdaten fuumlr das Interface beispiels-

18

weise Motorparameter oder Zeitvorgaben fuumlr eine Standby-Funktion Schlieszliglich gibt der Kommunikations-Programmteil auch Fehlermeldungen an den RCL-Server aus etwa bei einem Fehlerzustand im Experiment oder bei fehlerhaften Anweisungen des Besuchers bzw des RCL-Servers Im Programmteil zur Steuerung des Experiments erfolgt die Ansteuerung von Aktoren und das Auslesen von Sensoren mittels elektronischer Aus- und Eingaumlnge (Ports) des Mikro-controllers Gegebenenfalls sind zwischen den Ports des Mikrocontrollers und dem Expe-riment Erweiterungsschaltungen erforderlich (larr 212 Erweiterungsschaltungen) Der Steuerungs-Programmteil ist als Interrupt-Routine implementiert Interne Zeitgeber des Mikrocontrollers rufen den Programmteil zyklisch z B alle 1 oder 10 Millisekunden auf wobei die zuvor beschriebene Schleife des Kommunikations-Programmteils kurzzeitig fuumlr die Abarbeitung des Steuerungs-Programmteils unterbrochen wird Hierdurch wird die Steuerung als Real-Time-Prozess12 ausgefuumlhrt und es koumlnnen insbesondere zeitkritische Steueraufgaben mit einer Aufloumlsung von ungefaumlhr 1 - 10 ms zuverlaumlssig erledigt werden Ferner ist im Mikrocontroller und dem Programm ein sogenannter Watchdog installiert der das Programm bei einem Programmabsturz automatisch neu startet Der Watchdog als elektronische Baugruppe im Mikrocontroller fuumlhrt einen Neustart des Mikrocontrollers (Reset) durch sofern er nicht mehr uumlber das Programm in vorgegebenen Zeitintervallen angesteuert wird Je nach RCL gibt es noch weitere Interrupt-Routinen die unabhaumlngig vom Zeittakt des Mikrocontrollers auf externe Ereignisse wie z B Ausgangsspannungsaumlnderungen eines Sensors reagieren Damit kann besonders schnell auf Erfordernisse des Experiments re-agiert oder es koumlnnen Zeitmessungen mit einer Genauigkeit von ungefaumlhr 10-6 s durchge-fuumlhrt werden Im Anhang (rarr 431) ist der Pascal-Quellcode fuumlr den Mikrocontroller des RCLs Elektronenbeugung verfuumlgbar

Programmuumlbertragung Nach der Kompilierung des Assembler- Basic- C+- C++- oder Pascal-Programms liegt eine Hexadezimaldatei vor die vom Computer in den Mikrocontroller uumlbertragen werden muss (Flashen des Programms) Zur Programmuumlbertragung muss das AVR-Studio instal-liert und konfiguriert sein (rarr 441) Abb 8 zeigt wie die Programmuumlbertragung durchge-fuumlhrt wird

12 Real-Time bedeutet hier dass die maximale Dauer eines Vorgangs vorhersehbar und gewaumlhrleistet ist dass eine Steuer-

aufgabe nach einer vorhersehbaren Zeit abgeschlossen ist

19

Abb 8 Programmuumlbertragung zwischen Computer und Mikrocontroller im Inter-

face des RCLs Elektronenbeugung uumlber USB-Seriell-Adapter und ISP-Programmer

Das Interface braucht nicht mit dem Experiment verbunden zu sein Auch Erweiterungs-schaltungen innerhalb oder auszligerhalb des Interface muumlssen nicht mit dem Mikrocontroller verbunden sein Das Interface ermoumlglicht uumlber die ISP-Schnittstelle die Programmierung mit einem preisguumlnstigen ISP-Programmer ohne ein teureres Experimentierboard13 Zur Uumlbertragung des Programms muss in folgenden Schritten vorgegangen werden

(1) Spannungsversorgung des Interface zur Sicherheit unterbrechen weil beim Verbinden mehrpoliger Steckerverbindungen es zu Kurzschluumlssen kommen kann

(2) 10-poligen ISP-Stecker des ISP-Programmers an die ISP-Schnittstelle des Interface anschlieszligen

(3) ISP-Programmer an die serielle Schnittstelle oder uumlber USB-Seriell-Adapter an die USB-Schnittstelle des Computers anschlieszligen

(4) Spannungsversorgung des Interface wieder herstellen

(5) AVR-Studio unter StartProgramme aufrufen und nach Abb 9 in der Registerkarte Program unter Flash die zu uumlbertragende Hexadezimal-Datei z B Elektronenbeu-gunghex auf der Festplatte auswaumlhlen und Program waumlhlen

13 Vgl ATMEL STK 500 Entwicklerkit bei Reichelt Elektronik

20

Abb 9 Uumlbertragung der Hexadezimaldatei Elekt-

ronenbeugunghex in den Mikrocontroller

(6) Spannungsversorgung des Interface unterbrechen ISP-Programmer vom Interface trennen AVR-Studio beenden und den ISP-Programmer vom Computer trennen

22 Hyperterminal Nach der Programmuumlbertragung kann das Experiment uumlber das konfigurierte Hyperterminal (rarr 454) lokal gesteuert werden Mit dem Hyperterminal koumlnnen als Text eingegebene Be-fehle oder Abfragen an den Mikrocontroller gesendet oder von diesem empfangen werden Der Computer muss wie bei der Programmuumlbertragung mit dem Interface per Null-Modem-Kabel uumlber die serielle Schnittstelle oder einen USB-Seriell-Adapter verbunden sein Das In-terface muss an die Versorgungsspannung anschlossen sein braucht aber nicht mit dem Experiment verbunden zu sein Abb 10 zeigt nach Eingabe von und von param im Hyper-terminal die Befehlsliste des Mikrocontrollers fuumlr das RCL Elektronenbeugung

21

Abb 10 Befehlsliste des Mikrocontrollers im Hyperterminal fuumlr das RCL Elektronenbeugung

Tab 4 gibt Erlaumluterungen zur Befehlsliste

BefehlAbfrage Erlaumluterung

DA x Am Eingang des DA-Wandlers wird die Zahl x (0 - 255) im Binaumlrcode

angelegt und die Ausgangsspannung des Hochspannungsnetzgeraumlts bzw die Beschleunigungsspannung der Elektronenkanone eingestellt

OnOff Hochspannungsnetzgeraumlt und Gluumlhkathode der Elektronenkanone ein-

oder ausschalten Beim Einschalten wird die Steuerspannung des Inter-face am Hochspannungsnetzgeraumlt auf asymp 0 V einstellt

Standby Ausgabe der eingestellten Standbyzeit von 300 s setSB x Standbyzeit einstellen

next Standby in Ausgabe der verbleibenden Standbyzeit (254 s) bis das Experiment

ausgeschaltet wird Eine negative Standbyzeit gibt die Zeit seit dem Ab-lauf der Standbyzeit an

Power On Delay Ausgabe der Verzoumlgerungszeit (2 s) bis das Hochspannungsnetzge-

raumltElektronenbeugungsroumlhre nach dem Ausschalten oder nach Ablauf der Standbyzeit erneut eingeschaltet werden kann

setPOD x Verzoumlgerungszeit einstellen

power on enabled in Ausgabe wie lange Hochspannungsnetzgeraumlt nicht eingeschaltet wer-

den kann Zeiten unter 0 bedeuten dass Power-On-Delay-Zeit ablaufen ist

Tab 4 Erlaumluterung der Befehle in Abb 10

23 Positionieren von Objekten In fast allen RCLs des RCL-Portals auszliger den RCLs Elektronenbeugung und Oszilloskop muumlssen Objekte rotatorisch oder translatorisch positioniert werden Eingesetzt werden Hyb-rid-Schrittmotoren als Aktoren eine Schrittmotorsteuerung von Trinamic als Erweiterungs-schaltung (TMC222-Modul) die Positionierungseinheit ausgedienter Flachbrett-Scanner und ein Referenz-Taster als Sensor

231 Hybrid-Schrittmotoren Abb 11 zeigt den vereinfachten schematischen Aufbau eines zweiphasigen Schrittmotors mit getrennten magnetischen Kreisen des Stators und einem permanent magnetisierten zweipoligen Rotor (Polpaarzahl 1)

22

Abb 11 Funktionsprinzip von Schrittmotoren Unipolare (links) und bipolare Schaltung (rechts)

von Schrittmotoren mit Bestromungstabellen fuumlr Voll- und Halbschrittbetrieb Darge-stellt ist der Schritt 0

Der Rotor verfuumlgt bei der dargestellten Polreihenfolge S-S-N-N des Stators uumlber eine stabile Stellung bei einer hypothetischen (magnetische Monopole) Polreihenfolge N-S-N-S gaumlbe es mit diesem Aufbau des Stators nur instabile Stellungen des Rotors Um den Rotor in Bewe-gung zu setzen muss die Polreihenfolge S-S-N-N im oder entgegen den Uhrzeigersinn (Rechts- oder Linksdrehung) weitergeschaltet und der Rotor vom magnetischen Schrittfeld mitgenommen werden

Die magnetische Polaritaumlt eines magnetischen Kreises laumlsst sich entweder durch zwei Spu-len konstanter elektrischer Polaritaumlt mit unterschiedlichem Wicklungssinn (herstellungstech-nisch zu aufwendig) durch eine Spule mit Mittelanzapfung und konstanter elektrischer Pola-ritaumlt der beiden Teilspulen (unipolare Schaltung) oder durch eine Spule mit wechselnder elektrischer Polaritaumlt (bipolare Schaltung) realisieren In Abb 11 sind dazu die elektrischen Beschaltungen und die Bestromungstabellen fuumlr eine Rechtsdrehung des Rotors dargestellt Fuumlr eine Linksdrehung des Rotors muss die Schrittfolge in umgekehrter Reihenfolge durch-laufen werden

Es wird zwischen Vollschrittbetrieb (graue Zeilen der Tabellen) mit Schrittwinkel 90deg bzw Schrittzahl 4 und Halbschrittbetrieb (alle Zeilen der Tabellen) mit Schrittwinkel 45deg bzw Schrittzahl 8 unterschieden Beim Vollschrittbetrieb werden immer beide magnetische Kreise bestromt und die N-S-Polachse des Rotors nimmt nur Stellungen zwischen den Statorpolen

23

an Beim Halbschrittbetrieb wird zwischen den Vollschritten nur einer der magnetischen Krei-se bestromt und die N-S-Polachse des Rotors kann zusaumltzlich 4 Stellungen in Richtung der Statorpole einnehmen Der Hybrid-Schrittmotor ist die am haumlufigsten vertretene Bauform von Schrittmotoren Abb 12 zeigt den Aufbau eines Hybrid-Schrittmotors

Abb 12 Aufbau eines Hybrid-Schrittmotors fuumlr unipolare und

bipolare Schaltung Daten Schrittwinkel 18deg max Drehmoment 155 Ncm

Der Stator besteht aus zwei Straumlngen mit je 4 in Reihe geschalteten Spulen Der Wick-lungssinn der Spulen ist in beiden Straumlngen so dass sich die Polfolge N-S-N-S uumlber den Umfang ergibt Beide Straumlnge zusammen ergeben unabhaumlngig von der Stromrichtung ei-ne Polfolge N-N-S-S-N-N-S-S uumlber den Umfang Ein zweipoliger Rotor (Polpaarzahl 1) kann im Vollschrittbetrieb 4 Stellungen annehmen Der Rotor des Hybridschrittmotors be-steht aber aus axial magnetisierten Permanentmagneten deren Polpaarzahl durch axial versetzte weichmagnetische Zahnscheiben auf 50 erhoumlht wurde Dadurch erhoumlht sich die Schrittzahl auf 4 sdot 50 = 200 und der Schrittwinkel verkleinert sich auf 360deg200 = 18deg Um stabile Rotorstellungen zu erhalten muumlssen die Statorsegmente ebenfalls gezahnt ausge-fuumlhrt werden

Ein solcher Hybrid-Schrittmotor vereint die Vorteile des Reluktanz- und des permanenter-regten Schrittmotors Ein kleiner Schrittwinkel wird durch das von Reluktanzschrittmotoren bekannte Prinzip der Erzeugung einer Vielzahl von Polen des Rotors durch Zahnscheiben erzielt Ein hohes Drehmoment wird durch das von permanenterregten Schrittmotoren be-kannte Prinzip der Ausfuumlhrung des Rotors als Permanentmagnet erzielt Aufgrund der bi-filaren Wicklung besteht jede Statorwicklung aus zwei Teilspulen und der Schrittmotor kann in unipolarer (alle 6 Anschluumlsse verwendet) und bipolarer Schaltung (nur 4 An-schluumlsse verwendet gemeinsamer Anschluss der Teilspulen bleibt unverwendet) wie in Abb 12 dargestellt verwendet werden

24

Schrittmotoren erlauben nicht nur das Bewegen sondern innerhalb der Leistungsgrenzen (keine Schrittverluste) auch ein genaues Positionieren von Objekten Bei bekannter Schrittzahl auf einer gemessenen Strecke oder Schrittzahl fuumlr den Vollwinkel koumlnnen aus-gehend von einer Referenzstellung Objekte translatorisch oder rotatorisch positioniert werden

232 Schrittmotorsteuerung und Positionierungsmechanik Im Folgenden wird die bei allen RCLs mit Schrittmotoren eingesetzte Schrittmotorsteuerung die Mechanik zur translatorischen Positionierung von Objekten und die Funktionsweise eines Referenztasters beschrieben

Schrittmotorsteuerung Abb 13 zeigt das Blockschaltbild und das im Selbstbau herstellbare TMC222-Modul (rarr 4221 rarr 4222) mit dem IC TMC222 von Trinamic zur Steuerung bipolarer 2-phasiger Hybrid-Schrittmotoren

Abb 13 Blockschaltbild (links) und Platine des TMC222-Moduls (rechts) mit IC TMC 222 auf

der Loumltseite der Platine

Der IC TMC222 enthaumllt ein I2C-Interface zum Anschluss an den I2C-Bus des Mikrocon-trollers (Ports PC0 und PC1) Die 10 kΩ-Pull-up-Widerstaumlnde heben die Takt- (SCL clock) und Datenleitung (SDA data) auf ein Potential von 5 V Der IC TMC222 enthaumllt ei-nen Motortreiber fuumlr Spulenstroumlme bis zu 800 mA und einen Motor-Controller zur Steue-rung der Spulenstroumlme Ein Vorteil des TMC-Moduls ist der relativ geringe Programmier-aufwand fuumlr den Mikrocontroller (rarr 4223) da der IC TMC222 nach Uumlbergabe der Steu-erungsparameter (Drehrichtung Drehzahl hellip) vom Mikrocontroller die Ansteuerung des Schrittmotors uumlbernimmt Der IC TMC222 unterstuumltzt das Beschleunigen und Abbremsen des Schrittmotors enthaumllt einen Schrittpositionszaumlhler und unterstuumltzt Mikrostepping (va-riable Spulenstroumlme zur elektronischen Verkleinerung des Schrittwinkels und groumlszligerer Laufruhe)

25

Falls in RCLs Gleichstrommotoren mit houmlheren Drehzahlen als Schrittmotoren benoumltigt werden kann eine andere Erweiterungsschaltung (rarr 424) eingesetzt werden

Positionierungsmechanik und Referenz-Taster Die Mechanik zur rotatorischen Positionierung von Objekten kann meist kostenguumlnstig selbst oder durch Personal in einer Werkstatt angefertigt werden Abb 14 zeigt eine kos-tenguumlnstige Loumlsung zur translatorischen Positionierung von Objekten

Abb 14 Positionierungseinheit eines Flachbrett-

Scanners Schrittmotor (1) Getriebe (2) Li-nearfuumlhrung (3) Antriebsriemen (4) und er-gaumlnzter Referenz-Taster (5)

Falls der geometrische Aufbau und die geforderte Positionierungsgenauigkeit des RCLs es zulassen kann die Schrittmotor-Positionierungs-Einheit ausgedienter Flachbrett-Scanner zur translatorischen Positionierung von Objekten verwendet werden In Einzelfaumll-len wie dem RCL Weltpendel kann die Positionierungsmechanik auch selbst angefertigt werden Der Referenz-Taster in Abb 14 wird eingesetzt um abzufragen ob ein vom Schrittmotor bewegtes Objekt die Position des Tasters erreicht hat und um diese Position zu referenzieren Ohne eine solche Referenzierung kann die Positionierung eines Objekts langfristig ungenau werden So kann z B beim RCL Weltpendel das Auftreffen der Kugel auf den Magneten zum Uumlberspringen von Schrittmotorstellungen fuumlhren Der Zustand des Referenz-Tasters in Abb 15 wird z B uumlber den Port PA0 des Mikrocontrollers abgefragt

Abb 15 Referenz-Taster zum referenzieren der

Position des bewegten Objekts

26

Zu Problemen koumlnnen undefinierte Zustaumlnde der Eingaumlnge des Mikrocontrollers fuumlhren wie sie beim Prellen dem zeitlich begrenzten schwingen eines Tasters beim Oumlffnen oder Schlieszligen entstehen Abhilfe schafft ein passend dimensionierter parallel zum Taster ge-schalteter Kondensator Bei geoumlffnetem Taster ist der Kondensator aufgeladen Beim Schlieszligen haumllt der Kondensator die Spannung uumlber die Schwingphase trotz kurzzeitig wieder geoumlffnetem Schalter noch aufrecht Analoges gilt fuumlr den Uumlbergang vom geschlos-senen zum geoumlffneten Taster

3 Ferngesteuertes RCL 31 RCL-Server Fuumlr den Betrieb eines RCLs wird ein RCL-Server benoumltigt (larr 11) Vorausgesetzt wird dass bei einem neuen Computer alle notwendigen Treiber (Ethernet Video Audio hellip) zum Be-trieb der Hardware des Computers und Windows XP Professional mit Service Pack 3 instal-liert sind Ein Benutzerkonto braucht nicht angelegt zu werden

Der RCL-Server benoumltigt einen Internetzugang mit statischer IP-Adresse und Uploaddatenra-te von mindestens 200 kbits (DSL 2000) fuumlr die fluumlssige Wiedergabe von Bewegungen in Webcambildern Die statische IP-Adresse wird von der Institution am Standort des RCLs vergeben oder kann von Privatpersonen bei einem Provider beantragt werden Mit folgenden Schritten wird der RCL-Server eingerichtet

Internetzugang einrichten (rarr 451) und im Browser testen

Checken ob die Windows Firewall aktiviert ist

Virenschutzproramm Avira Antivir Personal herunterladen (larr Tab 1) installieren und ak-tualisieren

Uumlber Windows Update alle Updates von Windows XP Professional installieren

Fernwartungssoftware TeamViewer 6 Vollversion (larr Tab 1) herunterladen und auf dem RCL-Server und dem eigenen Computer installieren (rarr 455)

Webeditor Notepad++ herunterladen installieren und aktualisieren (larr Tab 1)

Videoserver WebcamXP 5 herunterladen und installieren (rarr 453)

Paket XAMPP herunterladen und installieren (rarr 452) Verknuumlpfungen mit den Dateien xampphtdocsapache_startbat und xampphtdocsapache_stopbat auf dem Desktop oder in der Schnellstartleiste erstellen und Webserver mit erstgenannter Verknuumlpfung starten Webserver durch Eingabe von 127001 oder localhost ins Adressfeld des Brow-sers testen Bei erfolgreichem Test werden die im Ordner xampphtdocs abgelegten Webseiten von XAMPP dargestellt Statische IP-Adresse des RCL-Servers im Browser eines anderen Computers mit Internetzugang eingegeben Bei erfolgreichem Test werden die Webseiten von XAMPP dargestellt In der Datei xamppphpphpini unter Resource Limits die max_execution_time mit dem Windows-Editor von 60 auf 300 erhoumlhen und die

27

Datei speichern damit PHP bei Befehlen mit laumlngerer Ausfuumlhrungsdauer keine Fehler-meldung liefert

Ordner xampphtdocs mit den Webseiten von XAMPP in xampphtdocs_xampp um-benennen und fuumlr spaumltere Testzwecke nicht loumlschen RCL-Ordner htdocs herunterladen (larr Tab 1) extrahieren und in das Verzeichnis xampp verschieben

Abb 16 zeigt die Struktur des RCL-Ordners htdocs

Abb 16 Struktur des RCL-Ordners htdocs RCL-spezifisch anzupassende Dateien sind grau

hinterlegt

Der geoumlffnete Ordner Labor enthaumllt alle PHP- und HTML-Dateien bzw Programmierungen fuumlr die Funktionalitaumlt des Bedienfelds der Laborseite (larr 11 Abb 3) An das RCL anzupas-sen sind die portalsprachenunabhaumlngigen Dateien configphp und experimentphp sowie fuumlr jede Portalsprache die Dateien defaultconf und experimenttpl in den Ordnern eng fra ger und ita

Datei configphp Zeit bis zum automatischen Logout beim Experimentieren mit dem RCL eintragen

Datei experimentphp PHP-Basisprogrammierung um die RCL-spezifische PHP-Programmierung erweitern (rarr 432)

Datei defaultconf Name des RCLs (z B Elektronenbeugung) in jeder Portalsprache ein-getragen

Datei experimenttpl HTML-Basisprogrammierung um RCL-spezifische Ein- und Ausga-befelder erweitern (rarr 433)

28

32 Laborseite 321 Steuerung des RCLs uumlber das Bedienfeld Das Bedienfeld der Laborseite (larr 11 Abb 3) wird von der Dateien indexphp und experi-menttpl erzeugt Befehle wie das Anklicken von Buttons Eingaben und Auswahl aus Listen werden in ein HTML-Formular mit Formularfeldern in der Datei experimenttpl geschrieben Die Daten werden von der PHP-Datei experimentphp ausgewertet und uumlber die serielle Schnittstelle dem Mikrocontroller-Programm zur Steuerung des Experiments uumlbergeben Die Dateien experimentphp und experimenttpl wurden getrennt angelegt um Code und Design zu trennen und nur das Design in der Datei experimenttpl an die Portalsprache anpasst werden muss

Tab 5 enthaumllt Ausschnitte der HTML-Datei experimenttpl (rarr 433) der Datei experi-mentphp (rarr 432) und des Mikrocontroller-Programms (rarr 431) fuumlr das RCL Elektronen-beugung

29

Code mit Erlaumluterung

expe

rimen

ttpl

1821 Tag ltformgtltformgt definiert ein Formular 18 Attribut action legt fest dass Formulardaten in der Datei indexphp verarbeitet werden Uumlbertragen

werden eine Session-ID ($sid) um exklusiven Zugriff des jeweilgen Besuchers zu sichern und ($portal) um die vom Besucher gewaumlhlte Sprache beizubehalten post ist eine Uumlbertragungsmethode zwischen Browser und Webserver und gibt die die vom Besucher gewaumlhlte Aktion zum Ansteuern des Experiments an die Datei experimenttpl weiter

20 Erzeugt im Bedienfeld den Sendebutton (submit) mit der Aufschrift Elektronenroumlhre einschalten (valu-e)

19 Unsichtbares Feld (hidden) mit Variablennamen action und Wert RoumlhreAn Der Variablenname ac-tion stimmt nur zufaumlllig mit action in Zeile 18 uumlberein

expe

rimen

tphp

24 Die Funktion wird als Eventhaumlndler bezeichnet weil je nach uumlbergebener Aktion - siehe Zeile 19 in experi-

menttpl - die entsprechenden Anweisungen (case) ausgefuumlhrt werden 37 Fuumlr den Fall dass die Variable $action den Wert RoumlhreAn hat wird die Funktion power_on() aufgeru-

fen

59 Schreibt in die Logdatei logtxt den Text RoumlhreAn 6061 Oumlffnet den in der Datei configphp zentral gespeicherten Com-Port an den das Interface angeschlossen ist

oder gibt Fehlermeldung Can not access file system im Bedienfeld aus falls der Com-Port sich nicht oumlff-nen laumlsst

62 Sendet die Zeichenfolge On und chr(13) (entspricht der Betaumltigung der Return-Taste im Hyperterminal) an den Mikrocontroller

63 Schlieszligt serielle Schnittstelle

Que

llcod

e M

ikro

cont

rolle

r

166 Wird uumlber die serielle Schnittstelle der Befehl on empfangen und ist das Einschalten zulaumlssig (Zeiten fuumlr

PowerOnDelay und Standby abgelaufen) dann hellip 167 Hochspannungsnetzgeraumlt einschalten 168 Der DA-Wandler PCF8591 wird unter seiner Adresse PCF8591 = 01001000 angesprochen Parameterein-

stellungen mit 01000000 und Ausgangsspannung auf 0 V einstellen 169 Setzt Standby auf vorgegebene Standbyzeit zuruumlck 171 Gibt Meldung aus wie lange PowerOnDelay noch dauert

Tab 5 Uumlbertragung des Befehls Elektronenroumlhre einschalten vom Bedienfeld zum Experi-ment

30

Anhand der Erlaumluterungen der Programmcodes koumlnnen die Ablaumlufe zwischen dem Druumlcken des Buttons Elektronenroumlhre einschalten und dem Einschalten der Elektronenbeugungs-roumlhre oder der Eingabe einer Beschleunigungsspannung und dem Anlegen einer Beschleu-nigungsspannung verfolgt werden Uumlber das Bedienfeld koumlnnen nur die von der Datei expe-rimenttpl bereitgestellten Befehle on und da der insgesamt implementierten Befehle (rarr 22 Abb 10) aufgerufen werden

322 Videouumlbertragung im Webcamfeld Zur Aufnahme von Livebildern des Experiments koumlnnen USB-Webcams und IP-Kameras (Netzwerkkameras) eingesetzt werden Teurere IP-Kameras muumlssen eingesetzt werden wenn die Kamera wie z B beim RCL Roboter im Labyrinth zu weit vom Computer entfernt ist oder eine besonders lichtempfindliche Kamera aus der Uumlberwachungstechnik wie z B beim RCL Millikan-Versuch benoumltigt wird W-LAN-Kameras kommen zum Einsatz wenn Bil-der von einem beweglichen Objekt aus wie z B beim RCL Roboter im Labyrinth uumlbertra-gen werden sollen

Das Videoserverprogramm webcamXP 5 erkennt beim Aufrufen automatisch an den RCL-Server angeschlossenen USB-Webcams Vor dem Kauf einer IP-Kamera ist zu pruumlfen ob das Modell unterstuumltzt wird14 IP-Kameras muumlssen im Kontextmenuuml der Videoquelle konfigu-riert werden Abb 17 zeigt das Webcambild einer USB-Webcam vom Szintillationsschirm der Elektronenbeugungsroumlhre

Abb 17 Webcambild des Szintillationsschirms der Elektro-

nenbeugungsroumlhre einer USB-Webcam in webcamXP 5 beim RCL Elektronenbeugung

14 Vgl Moonware Studios webcamXP IP-cameras for webcamXP

31

Zum Einbinden des Webcambilds in die Laborseite des RCLs wird die laborsprachenabhaumln-gige Datei videohtm (rarr 434) in den Ordnern eng fra ger und ita verwendet Standardmauml-szligig werden zwei Webcambilder und Screenshots unterstuumltzt der Code fuumlr weitere Webcam-bilder kann durch copy and paste hinzugefuumlgt werden

Unter den Technologien Java Javaskript Flash und Windows Media fuumlr die Wiedergabe ei-nes Livestreams auf eine Webseite wurde Javaskript gewaumlhlt weil die anderen Technologien die Installation des Java Runtime Environments (JRE) des Flash- oder Windows Media Players durch den Besucher eines RCLs voraussetzen Die Wiedergabe des Livestreams mit einem Java-Applet startet zudem erst verzoumlgert nachdem das Applet geladen ist und verfuumlgt uumlber eine zu geringe Wiedergabegeschwindigkeit

33 Standard-Lernumgebung Bestandteil der Entwicklung eines RCLs ist die Erstellung einer Standard-Lernumgebung zum RCL Abb 18 zeigt exemplarisch fuumlr die deutschen Webseiten im Ordner ger das Menuuml (larr 11 Abb 3) und die Dateistruktur der Standard-Lernumgebung

Abb 18 Deutschsprachiges Menuuml und Dateistruktur der Standard-Lernumgebung

RCL-spezifisch anzupassende Dateien sind grau hinterlegt

Die englischen Dateinamen introductionhtm setuphtm hellip im Ordner ger korrespondieren mit den deutschen Menuumlpunkten Wird das RCL unter dem Menuumlpunkt RCLs des RCL-Portals aufgerufen dann ruft die Frameset-Datei indexhtm die Dateien menuumlhtm und intro-ductionhtm auf und das Menuuml wird zusammen mit der Webseite Einstieg dargestellt Die Wahl weiterer Menuumlpunkte ruft jeweils die korrespondiere Datei im Ordner auf Bei Wahl des Menuumlpunkts Labor werden mit der Frameset-Datei laboratoryhtm die Dateien videohtm fuumlr das Webcamfeld und die Datei laborindexphp fuumlr das Bedienfeld aufgerufen

32

Im Ordner docsmaterial werden alle Dokumente fuumlr die Webseite Material im Ordner docsothers die Dokumente anderer Webseiten abgelegt Im Ordner docsoriginals sind die Originale von Dokumenten wie z B Word-Dateien und der verwendeten Bilder abgelegt Grafikdateien der Webseiten Einstieg hellip Auswertung hellip Betreuung werden in gleichnami-gen Ordnern wie z B imagesanalysis abgelegt Bei sprachenunabhaumlngigen Grafikdateien wird unter dem Dateinamen abbx bei sprachenabhaumlngigen unter dem Dateinamen abbx_lan mit lan = eng fra ger und ita gespeichert Analoges gilt fuumlr die als gif-Grafiken forxgif oder forx_langif zu speichernden Formeln Originale von Bildern werden im Ordner imagesoriginals abgelegt Die Webseite zur Datei htdocsindexhtm enthaumllt zum lokalen Aufrufen der Standard-Lernumgebung Links zu den vier Index-Dateien in den Ordnern eng fra ger und ita Die Stylesheet-Datei htdocsrcl_stylecss enthaumllt die Styles der Webseiten

In der Regel werden Standard-Lernumgebungen der RCLs des RCL-Portals von verschiede-nen Personen erstellt Fehlende Gestaltungs- und Formatierungsregeln fuumlhren zu einem un-einheitlichen inattraktivem Erscheinungsbild des RCL-Portals Tab 6 gibt einen Uumlberblick der wichtigsten Gestaltungs- und Formatierungsregeln

Element Richtlinien

Gliederung

Die Webseiten Einstieg Aufbau Aufgaben Diskussion Material und Support enthalten vorgegebene Gliederungspunkte teilweise mit ausgefuumlhrten Uumlberschriften

Die umfangreicheren Webseiten Theorie und Auswertung enthalten ein Inhaltsverzeichnis mit internen Links zu Gliederungspunkten Zwischen Punkten der ersten Gliederungsebene (1 2 hellip) ist ein zwei-zeiliger Abstand (ltpgtampnbspltpgtltpgtampnbspltpgt) zwischen Punkten der zweiten (11 12 hellip) und Punkten der nur falls unbedingt notwendig dritten 111 112 hellip) Gliederungsebene ein einzeiliger Abstand zu waumlhlen Nach Abbildungen und Tabellen folgt ein einzeiliger Abstand zum nachfolgenden Text

Links Keine internen Links zwischen den Webseiten der Lernumgebung Externe Links werden prinzipiell in einem neuen Browserfenster geoumlffnet (blank)

Abbildung

Alle Abbildungen erhalten fortlaufend beginnend mit 1 nummerierte Abbildungsunterschriften der Form Abb x hellip

Abbildungen sind moumlglichst spachenunabhaumlngig d h ohne Texte in der Abbildung zu erstellen Zur Beschriftung koumlnnen z B Zahlen verwendet werden die in der Abbildungsunterschrift oder im Text er-laumlutert werden

Tabellen Tabellen werden in jeder Webseite fortlaufend beginnend mit 1 nummeriert Tabellen sind zu zentrieren Rahmenstaumlrke 1

Formeln

Formeln sind nicht als Textzeichen oder Grafik im laufenden Text einzufuumlgen sondern stets zentriert in einer eigenen Zeile als gif-Grafik

Zum Erstellen der Formel-Grafiken eignet sich z B der Formel-Editor MathType15 mit der Aufloumlsungs-Einstellung 120 dpi fuumlr InternetGif

Formeln brauchen im Rahmen des begrenzten Umfangs der Webseiten nicht nummeriert zu werden Groumlszligen-symbole

Griechische Groumlszligensymbole und mathematische Symbole sind nicht als Grafiken im laufenden Text sondern als HTML-Code einzufuumlgen Eine Zeichenreferenz findet sich bei Selfhtml16

Styles Zur Formatierung der Webseiten werden aus der Stylesheet-Datei nur die drei Styles Uumlberschrift fuumlr

die Uumlberschriften Bildunterschrift fuumlr Abbildungs- und Tabellenunterschriften und Tabellentext fuumlr Tex-te in Tabellen benoumltigt

Tab 6 Richtlinien zur Gestaltung und Formatierung der Standard-Lernumgebung

Detailliertere Informationen zum Layout der Standard-Lernumgebung koumlnnen dem RCL-Ordner und dem Erscheinungsbild der Webseiten von RCLs in Browsern entnommen wer-den

15 Vgl Design Science MathType 16 Vgl Selfhtml HTML-Zeichreferenz

33

4 ANHANG

34

41 Interface in Basisschaltung 411 Schaltplan und Bauteilliste Abb 19 zeigt den Schaltplan der Basisschaltung des Interface und Tab 7 die dazugehoumlrige Bauteilliste

Abb 19 Basisschaltung des Interface

Nr Anzahl Kurzbeschreibung des Bauteils Best-Nr bei Reichelt electronic

Einzelpreis in euro

0 1 Epoxyd-Platine (190x112 mm) mit Anteil Loumltpunktraster (Spezi-

alanfertigung) - asymp 10

1 1

Epoxyd-Fotoplatine einseitig 160x100 mm 15 mm 35 microm Epoxyd-Lochrasterplatine 160x100 mm 15 mm 35 microm

BEL 160x100-1 UP 832EP

170 420

1 1 Hohlstecker-Einbaubuchse gewinkelt Loumltfahnen 21 mm HEBW 21 018 2 1 D-SUB-Stecker 9-polig gewinkelt RM 94 D-SUB ST 09EU 029 3 1 Schottky Diode DO41 40 V 1 A SB 140 008 4 1 Draht von abgeschnittenem Beinchen aus Pos-Nr 3 - - 5 1 IC-Sockel 16-polig superflach gedreht vergoldet GS 16P 029 6 1 IC-Sockel 40-polig superflach gedreht vergoldet GS 40P 061 7 1 2x10-pol-Stiftleiste gerade RM 254 SL 2X10G 254 007 8 1 Metallschichtwiderstand 100 kΩ Metall 100k 0082 9 1 Elektrolytkondensator 10x16 mm 470 microF RM 50 mm RAD 47025 006 10 1 Elektrolytkondensator 63x11 mm 100 microF RM 25 mm RAD 10016 004 11 5 Elektrolytkondensator 5x11 mm 10 microF RM 20 mm RAD 1035 004 12 2 Keramik-Kondensator 33 pF Kerko 33p 006 13 3 Vielschicht-Keramikkondensator 100 nF 20 Z5U-25 100n 004

35

14 1 Standardquarz Grundton 110592 MHz 110592-HC49U-S 018 15 1 Spannungsregler 1 A positiv TO-220 microA 7805 028 16 1 Kuumlhlkoumlrper fuumlr Gehaumluse TO-220 99KW V FI356 066 17 1 Zylinderkopfschraube Schlitz M3 10 mm fuumlr Kuumlhlkoumlrper M3x10mm 160 18 2 Sechskantmutter M3 fuumlr Kuumlhlkoumlrper SK M3 001 19 1 Stecker-Schaltnetzteil 12 V 2250 mA MW 3IP25GS 1150 20 1 RS232-Driver DIL-16 MAX 232 CPE 041 21 1 ATmega AVR-RISC-Controller DIL-40 ATmega16-16 DIP 420 22 3 10-poliger Wannenstecker RM 254 stehend (optional) WSL 10G 009 23 1 14-poliger Wannenstecker RM 254 stehend (optional) WSL 14G 014 24 1 40-polige Stiftleiste 1-reihig gerade RM254 (optional) SL 1x40G 254 023 25 1 Kunststoffgehaumluse 1982x1124x760 mm (Serientyp 202) - asymp 10 euro 26 1 D-SUB Nullmodem-Kabel 9-pol BUBU 3 m AK 143 155 27 x DIN-Einbaubuchse 5-pol Schraubver 360deg (optional) DIO-50W EMS 185 28 x DIN-Einbaubuchse 8-polig Schraubversch 270deg (optional) DIO-80SN EMS 180 29 x Pfostenstecker 10-polig mit Verrieglung gew (optional) PSL 10W 028 30 x Klemmleiste RM 254 Oumlffnungshebel 8-polig (optional) Wago 233 220

Tab 7 Bauteilliste mit Bestellnummer und Einzelpreisen der Bauelemente bei Reichelt electronic (Stand 23102010)

Anhand der Bauteilliste in koumlnnen die elektronischen Bauelemente der Basisschaltung (larr Tab 7 Nr 0 ndash 21 optional Nr 22 - 24) bei Reichelt electronic bestellt werden Das Gehaumluse des Interface (larr Tab 7 Nr 25) sollte vom Hersteller HAGOTECH GmbH bezogen werden Weiterhin wird ein Nullmodemkabel (larr Tab 7 Nr 26) zur Verbindung des Interface mit dem Computer benoumltigt Sensoren und Aktoren des Experiments koumlnnen mit optionalen Steck-verbindern (larr Tab 7 Nr 27 - 30) und entsprechende Kabelverbindungen an das Interface angeschlossen werden Die Nummern 0 - 25 stimmen mit der angegebenen Bestuumlckungs-reihenfolge auf der Platine uumlberein Das Interface kostet in der Basisschaltung ca 50 euro

412 Bestuumlckung der Platine Abb 20 zeigt zur Bestuumlckung der Platine benoumltigte Werkzeuge

Abb 20 Werkzeuge zur Bestuumlckung der Platine des Interface

36

Loumltkolben mit feiner Spitze in Meisselform 2 mm oder Loumltstation (1) Loumltzinnabsauger zum Entfernen von Loumltzinn (2) Nasser Schwamm zum Reinigen der Spitze des Loumltkolbens (3) Loumltzinn mit Durchmesser 08 - 10 mm (4) Flachspitzzange zum Biegen von Anschluumlssen der Bauelemente (5) Seitenschneider zum Kuumlrzen der Beinchen von Bauelementen (6) Multimeter zum Pruumlfen der Funktionsfaumlhigkeit der Schaltung (7) Sekundenkleber zur Befestigung von Bauelementen Kleine Bohrmaschine z B von Dremel und 08 mm Bohrer oder duumlnne Rundfeile zum

Weiten von Loumlchern auf der Platine des Interface

Abb 21 zeigt die Platine des Interface von der Loumltseite in der Spezialanfertigung der Elekt-ronik-Werkstatt an der Technischen Universitaumlt Kaiserslautern und in der Selbstbauvariante (larr Tab 7 Nr 0) Abb 22 zeigt das Platinenlayout

Abb 21 Platine des Interface von der Loumltseite als Spezialanfertigung (links) und der Selbstbauvariante

(rechts)

Abb 22 Layout zur Herstellung des geaumltzten Teils der

Platine in der Selbstbauvariante

37

In der Selbstbauvariante kann anhand des Platinenlayouts eine selbst geaumltzte Platine fuumlr die Basisschaltung auf einer Platine im Europakartenformat hergestellt und diese in der Laumlnge gekuumlrzt werden Eine gekuumlrzte Lochrasterplatine bildet den zweiten Teil der Platine Mit den optionalen vier Wannensteckern (larr Tab 7 Nr 22 - 23) oder den vier Stiftleisten (larr Tab 7 Nr 24) an den Ports des Mikrocontrollers koumlnnen leicht elektrische Verbindungen zum Rasterteil der Platine herstellt werden Abb 23 zeigt die fertig bestuumlckte Platine mit den Nummern aus Tab 7

Abb 23 Bestuumlckte Platine des Interface mit nummerierten Bauelementen

Tab 8 beschreibt das Einloumlten der elektronischen Bauelemente anhand der Nummern aus Tab 7 und in der angegebenen Reihenfolge

Nr Bauelement Beschreibung des Einbaus

0 Spezialanfertigung und Selbst-bauvariante der Epoxydharz-

Platine

1

Stromversorgungsbuchse ndash Hohlstecker 21 mm

Wenn die Loumltbeine nicht durch die Loumlcher der Platine passen die Loumlcher mit einer runden Schluumlsselfeile aufweiten

Stromversorgungsbuchse mit Sekundenkleber vor dem Festloumlten auf der Pla-tine fixieren da diese mechanischen Belastungen durch das Einstecken und Herausziehen des 12 V -Steckers ausgesetzt ist

Wahlweise kann die 25 mm-Version der Buchse verwendet werden

2

RS232 Datenstecker

RS232 Datenstecker mit Sekundenkleber vor dem Festloumlten auf der Platine fixieren da dieser mechanischen Belastungen durch das Einstecken und Herausziehen des Null-Modem-Kabels ausgesetzt ist

Alle Beinchen und Befestigungsstifte zur houmlheren Stabilitaumlt anloumlten

3

Ein Ring an einer Seite der Diode (hier links weiszlig) zeigt die Durchlass- bzw Sperrrichtung der Diode an Die Position des Ringes entspricht der Position des Balkens im Schaltungssymbol

38

Diode ndash SB140 Auf der Platine muss der Ring auf der von der Stromversorgungsbuchse ab-

gewandten Seite liegen

4 Drahtbruumlcke

Vor dem Einloumlten des 40-poligen IC-Sockels (Nr 5) muss eine Drahtbruumlcke unter diesem eingeloumltet werden Dazu koumlnnen die abgeschnittenen Beinchen der bereits eingeloumlteten Diode (Nr 3) verwendet werden

5 6

IC-Fassungen

Die 16-polige und 40-polige IC-Fassungen besitzen eventuell eine Markie-rung fuumlr Pin1 (z B Kerbe in der Stirnseite Punkt Pfeilhellip) als Hilfe fuumlr das richtige Einstecken der ICs Die Markierungen muumlssen bei beiden Fassungen nach oben also zum naumlchstliegenden Rand der Platine zeigen

Die ICs unbedingt noch nicht einstecken

7

ISP-Stiftleiste

Die doppelreihige ISP-Stiftleiste dient der Programmierung des Mikrocontrol-lers mit dem AVR-ISP-Programmer (ISP steht fuumlr In System Programming)

ISP-Stiftleiste auf 2 x 5 Stifte kuumlrzen und mit den kurzen Beinchen einloumlten so dass auf die langen Stifte der AVR-ISP-Programmer gesteckt werden kann

8

Widerstand 100 kΩ

Den 100 kΩ-Widerstand rechts neben der ISP-Stiftleiste einloumlten

9

10

11

Elkos

Bei den verwendeten Elektrolyt-Kondensatoren ist die Polung zu beachten (langes Beinchen = Plus-Pol) Weiterhin ist auf den Kondensatoren ein wei-szliger Streifen mit Minus-Zeichen aufgedruckt Die Kondensatoren sollten eine Spannungsfestigkeit von mindestens 16 V besser 25V besitzen

Auf der Kupferseite der Platine zeigt die Form der Loumltaugen die Polung an Rundes Loumltauge = Plus quadratisches Loumltauge = Minus

Der 470 microF Kondensator wird mit dem weiszligen Streifen in Richtung Stromver-sorgungsbuchse direkt unter diese montiert

Der 100 microF Kondensator sitzt direkt unter der 16-poligen IC-Fassung Sein weiszliger Streifen (Minus-Pol) zeigt in Richtung der Stromversorgungsbuchse

Vier der 10 microF Kondensatoren werden links neben der 16-poligen IC-Fassung montiert Deren Polung ist wie folgt Unterster Kondensator Minus nach oben naumlchster Kondensator Minus nach unten die beiden oberen Kondensatoren mit Minus nach oben

Ein weiterer 10 microF Kondensator wird rechts neben die 16-polige IC-Fassung geloumltet Sein Minus-Streifen zeigt nach unten

12

13

Keramik-Kondensatoren

Die Beschriftung 104 bedeutet 10e4 pF = 100 nF Die beiden 33 pF-Kerkos (Keramik-Kondensatoren) werden direkt nebenei-

nander rechts neben die 16-polige IC-Fassung geloumltet Zwei 100 nF-Kondensatoren werden unter dem 470 microF-Elko eingeloumltet ein

weiterer mittig an der linken Seite der 40-poligen IC-Fassung

14

Quarz

Als Quarz wird ein 110592 MHz-Typ verwendet Bei dieser Frequenz ist eine fehlerfreie Kommunikation uumlber RS232 mit 9600 Baud moumlglich Fuumlr den AT-mega16 koumlnnen Quarze bis 16 MHz eingesetzt werden Details siehe Daten-blatt

Der Quarz wird direkt rechts neben die beiden 33 pF-Kerkos geloumltet Die Ori-entierung des Quarz spielt keine Rolle

15

16

17

18

Der Spannungsregler L7805 erzeugt eine stabilisierte Spannung von 5 V Es muss ein Kuumlhlkoumlrper zur Waumlrmeabfuhr vom Spannungsregler verwendet werden

Vor dem Einloumlten zwischen Spannungsregler und Kuumlhlkoumlrper etwas Waumlrme-leitpaste aufgetragen Beide Bauteile fest mit einer Schraube M3x10 und ei-ner 1 Mutter verschrauben

Dann den Spannungsregler einloumlten um 90deg abzubiegen das uumlberstehende Gewinde durch das vorgesehene Loch stecken und alles mit einer 2 Mutter auf der Platine befestigen

1 Mutter

2 Mutter

Schr

aube

L7805

Platine

KuumlhlkoumlrperWaumlrmeleitpaste

Beinchen

Loumlten

39

Spannungsregler L7805 Kuumlhl-koumlrper und Montage

19

Steckernetzteil

Funktionskontrolle vor dem Einsetzen des Mikrocontrollers Polung der Elektrolyt-Kondensatoren (Elkos) pruumlfen Sind alle Beinchen angeloumltet Hat das Loumltzinn an den Beinchen und der Pla-

tine guten Kontakt Sind eventuell zwei benachbarte Beinchen unbeabsichtigt durch Loumltzinn verbunden Alle Loumltverbindungen nochmals genau z B mit ei-ner Lupe pruumlfen

Probeweise das Stecker-Netzteil an die Buchse anschlieszligen Am 100 nF-Kondensator links mittig der 40-poligen IC-Fassung muumlssen 5 V anliegen

Versorgungsspannung unbedingt wieder von der Platine trennen

20

21

ICs MAX232 und ATmega16

Die Nuten auf den ICs am linken Rand muumlssen nach oben zeigen d h Pin1 ist bei beiden ICs in der Abbildung links unten und auf der Platine oben links

Manchmal passen die Beinchen der ICs nicht in die Fassung weil die Fas-sung scheinbar zu schmal ist Dann den IC seitlich mit einer Beinchen-Reihe flach auf den Tisch legen den IC-Koumlrper links und rechts greifen und Bein-chen durch leichten Druck biegen Einzelne verbogene Beinchen vorsichtig mit einer kleinen Flachzange richten

22

23

Wannenstecker 10- und 14-polig

Wannenstecker an den vorgesehe-nen Stellen mit der Nut gegen Ver-polung in Richtung des naumlherliegen-den Platinenrands einloumlten

Die Abbildung rechts zeigt die Pin-Belegung der Wannenstecker

24

Stiftleiste 8-polig 40-pol Stiftleiste in 4 jeweils 8-polige Stuumlcke zerteilen und einloumlten

25

Kunststoffgehaumluse

In der Selbstbauvariante der Platine (Nr 0) vor dem Einsetzten der Platine in das Gehaumluse passend positionierte Kunststoffstege am Gehaumluseboden fest-kleben

Tab 8 Bestuumlckung der Platine des Interface mit Bauelementen

42 Erweiterungsschaltungen 421 Uumlbersicht In Tab 3 sind von RCLs des RCL-Portals Sensoren und Aktoren mit den dazugehoumlrigen Er-weiterungsschaltungen zusammengestellt Da alle RCLs obligatorisch uumlber mindestens eine Webcam verfuumlgen sind diese unter den Sensoren nicht aufgefuumlhrt Die wenigen Erweite-rungsschaltungen fuumlr Sensoren sind unter Sensoren in Klammern aufgelistet Unter Aktoren werden auszliger elektro-mechanischen Wandlern auch gesteuerte Geraumlte oder Bauelemente verstanden Anzeigeinstrumente sind unter Aktoren nur aufgefuumlhrt wenn sie direkt vom In-terface gesteuert werden Mit gekennzeichnete Erweiterungsschaltungen befinden sich au-szligerhalb des Interface

40

RCL Sensoren Aktoren Erweiterungsschaltungen fuumlr Aktoren

Beugung und Interferenz I Referenz-Taster

Schrittmotor (Rotation) Schrittmotorsteuerung Laser-Modul Geschaltete Spannungsversorgung

Beugung und Interferenz II

4 Referenz-Taster Lichtsensor

4 Schrittmotoren (Translation) 4 Schrittmotorsteuerungen 5 Laser-Module Geschaltete Spannungsversorgung LED fuumlr Position des

Lichtsensors Geschaltete Spannungsversorgung

LED fuumlr Linealbeleuchtung Geschaltete Spannungsversorgung

Elektronen-beugung

Hochspannungsnetzgeraumlt Geschaltete Spannungsversorgung Hochspannungsnetzgeraumlt Steuerung der Hochspannung

Fotoeffekt 2 Referenz-Taster Photozelle

2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen

Quecksilberdampflampe Geschaltete Spannungsversorgung

der Drossel fuumlr Quecksilberdampf-lampe

Halbleiter-kennlinien

und Halbleiterkennli-nien - Schuumller-

projekt

Referenz-Taster

Schrittmotor (Rotation) Schrittmotorsteuerung Oszilloskop Geschaltete Spannungsversorgung

Oszilloskop Instrumentenverstaumlrker fuumlr X- und Y-Ablenkung

Multimeter Steuerung Spannungs- oder Strom-anzeige

Heiszliger Draht 4 Endtaster 4 Drehgeber Kurzschlusssensor

4 Gleichstrommotoren 4 Treiber

Zweifarbige LED Steuerung der LED-Farbe

Lichtgeschwin-digkeit

Drehimpulsgeber 2 Taster an Enden

der Eisenbahnstre-cke

2 Schrittmotoren 2 Schrittmotorsteuerungen Oszilloskop Geschaltete Spannungsversorgung

Motor der Lokomotive Steuerung des Ein- und Ausschal-tens und der Bewegungsrichtung

Maut Infrarot-Sensor Gleichstrommotor Geschaltete Spannungsquelle 2 IR-Fernbedienungen Spannungsregler 2-stellige 7-Segmentanzeige LED-Treiber

Millikan-Versuch 2 Referenz-Taster

2 Schrittmotoren 2 Schrittmotorsteuerungen Lichtquelle (LED) fuumlr Millikan-

Kondensator Geschaltete Spannungsversorgung

Airbrush-Kompressor Geschaltete Spannungsversorgung Magnetventil Geschaltete Spannungsversorgung Millikan-Kondensator Gesteuertes Hochspannungsmodul

Optische Com-putertomogra-

phie

2 Referenz-Taster 2 Lichtsensoren

Schrittmotor (Rotation) Schrittmotorsteuerung Schrittmotor (Translation) Schrittmotorsteuerung

2 Laser-Module 2 geschaltete Spannungsversor-gungen

Optische Fou-rier-

Transformation 2 Referenz-Taster

2 Schrittmotoren (Translation) 2 Schrittmotorsteuerungen

Laser-Modul Geschaltete Spannungsversorgung

Oszilloskop Oszilloskop Geschaltete Spannungsversorgung Signalgenerator Steuerung der Signalart

Radioaktivitaumlt 4 Referenz-Taster Geiger-Muumlller-

Zaumlhlrohr

2 Schrittmotoren (Translation) 2 Schrittmotorsteuerungen 2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen 4-stellige 7-Segment-Anzeige Treiber Elektromagnet Geschaltete Spannungsversorgung

Roboter im Labyrinth Infrarot-Sensor

2 Schrittmotoren 2 Schrittmotorsteuerung Infrarot-Sender Treiber

Rutherfordscher Streuversuch

2 Referenz-Taster Halbleiterdetektor

(Impulsformer)

2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen

4-stellige 7-Segment-Anzeige Treiber

Weltpendel

Referenz-Taster Lichtsensor der

Lichtschranke (Im-pulsformer)

Temperatursensor

Schrittmotor (Translation) Schrittmotorsteuerung Elektromagnet Geschaltete Spannungsversorgung

Laser der Lichtschranke Geschaltete Spannungsversorgung

Windkanal Referenz-Taster Schrittmotor (Translation) Schrittmotorsteuerung

41

Dehnungsmess-streifen (Wheat-stonesche Bruumlcke Messverstaumlrker Multimeter)

Geblaumlsemotor Geschaltete Spannungsversorgung

und Ansteuerung mit Pulsweiten-modulation

Anemometer Geschaltete Spannungsversorgung Multimeter Geschaltete Spannungsversorgung

Tab 9 Sensoren Aktoren und Erweiterungsschaltungen der RCLs des RCL-Portals

422 TMC222-Modul zur Schrittmotorsteuerung 4221 Schaltplan und Bauteilliste Abb 1 zeigt die Beschaltung des TMC222 von Trinamic auf dem TMC222-Modul

Abb 24 Beschaltung des TMC222 von Trinamic

Anhand der Bauteilliste in Tab 10 koumlnnen die elektronischen Bauelemente des TMC222-Moduls bei Reichelt electronic bestellt werden Ein TMC222-Modul kostet ungefaumlhr 10 euro

Nr Anzahl Kurzbeschreibung des Bauteils Best-Nr bei Reichelt electronic

Einzelpreis in euro

0 1 Epoxyd-Fotoplatine einseitig 75x100 mm 15 mm 35 microm BEL75X100-1 096 1 1 Integrierter TMC-Schrittmotor-Controller TMC 222 SI asymp 7 2 1 Elektrolytkondensator 8x11 mm Rm 35 mm 100 microF35 V RAD 10035 004 3 1 Tantal-Kondensator Rm 25 10 microF35 V Tantal 1035 014 4 2 Vielschicht-Keramikkondensator 220 nF 20 Z5U-25 220N 011 5 3 Vielschicht-Keramikkondensator 100 nF 20 Z5U-25 100N 004 6 2 Metallschichtwiderstand 100 kΩ Metall 100K 0082 7 1 1x36pol Stiftleiste gewinkelt Rm 254 SL 1X36W 027 8 1 1x36pol Buchsenleiste gerade Rm 254 BL 1X36G 025

Tab 10 Bauteilliste mit Bestellnummer und Einzelpreisen der Bauelemente bei Reichelt electronic (Stand 23102010)

4222 Bestuumlckung der Platine

42

Abb 25 zeigt die fertig bestuumlckte Platine mit den Nummern aus Tab 10

Abb 25 Bestuumlckte Platine des TMC222-Moduls

mit nummerierten Bauelementen

Die Platine (35 mm x 30 mm) kann anhand des Layouts in Abb 26 hergestellt werden Der IC TMC222 wird auf der Loumltseite der Platine aufgeloumltet Das TMC222-Modul kann mit der Stiftleiste (larr Tab 10 Nr 7) in eine Buchsenleiste (larr Tab 10 Nr 8) auf die Platine des In-terface gesteckt werden

Abb 26 Platine des TMC222-Moduls von der Loumltseite (links) und Layout

4223 Quellcode des Mikrocontroller-Programms Im Folgenden ist ein mit Bascom (larr 12 Tab 1 Entwicklungsumgebungen) erstelltes Bei-spiel-Programm zur Ansteuerung des Schrittmotormoduls TMC222 durch den Mikrocontroller ATmega16 angegeben $regfile = m16DEFdat $crystal = 11059200 $baud = 9600 Definitionen Config Scl = Portc0 Taktleitung Config Sda = Portc1 Datenleitung Const Adress = ampB11000000 I2C Adresse des TMC222 Const GetFullstatus1 = ampB10000001 Kommando des TMC222 Const Resetpos = ampB10000110 Kommando des TMC222 Const Motorparameter = ampB10001001 Kommando des TMC222 Const Setposition = ampB10001011 Dim Puffer(10) As Byte

43

Programm I2csend Adress GetFullstatus1 GetFullstatus1 (Initialisierung des TMC222) I2creceive Adress 7 Ack Daten in Puffer auslesen Puffer(1) = Motorparameter puffer auffuumlllen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB11110011 1111irun 0011ihold Puffer(5) = ampB01110001 0111vmax 0001vmin Puffer(6) = ampB00010000 000securepos(bit10-8) 1shaft 0000acceleration Puffer(7) = 0 securepos(bit7-0) Puffer(8) = ampB00001100 000nicht belegt 0accshape 11stepmode 00nicht belegt I2csend Adress Puffer(1) 8 I2csend Adress Resetpos aktuelle Position auf 0 setzen Puffer(1) = Setposition Motor bewegen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB01111111 position(bit 15-8) Puffer(5) = ampB11111111 position(bit 7-0)acute I2csend Adress Puffer(1) 5 End

423 Geschaltete Spannungsquellen und Verbraucher Die Ausgaumlnge des Mikrocontrollers duumlrfen nur mit Stroumlmen kleiner als ungefaumlhr 20 mA belas-tet werden Verbraucher mit einer Stromlast groumlszliger als 20 mA koumlnnen daher nicht direkt an den Mikrocontroller angeschlossen werden Abb 27 zeigt links eine Schaltung zum Schalten eines Verbrauchers wie z B des Relais und rechts eine Schaltung mit dem IC ULN2803A zum Schalten mehrerer Verbraucher wie z B Gluumlhlampen

Abb 27 Erweiterungsschaltungen zum Schalten eines (links) oder

mehrerer Verbraucher (rechts)

Zu beachten ist dass der Transistor BC337 maximal 800 mA schalten kann und fuumlr groumlszligere Stroumlme andere Transistoren verwendet werden muumlssen

424 Steuerung von Gleichstrommotoren

44

Sollen Gleichstrommotoren zum Bewegen von Objekten mit dem Mikrocontroller gesteuert werden dann eignet sich dazu der in Abb 28 dargestellte beschaltete IC L293D

Abb 28 Beschaltung des L293D zum

Steuern zweier Gleichstrom-motoren

Mit Pin 1 = Pin 9 = 1 (High) koumlnnen zwei Gleichstrommotoren M1 und M2 (Versorgungs-spannung UM lt 36 V Spulendauerstrom IM lt 600 mA) unabhaumlngig voneinander ein- und ausgeschaltet sowie in der Drehrichtung uumlber die Ports PA0 und PA1 fuumlr M1 und PA2 und PA3 fuumlr M2 gesteuert werden Z B gilt mit PA0 = PA1 = 0 (M1 ausgeschaltet) PA0 = 1 und PA1 = 0 (M1 dreht sich) PA0 = 0 und PA1 = 1 (M1 dreht sich in Gegenrichtung)

45

43 Quellcodes zum RCL Elektronenbeugung 431 Mikrocontroller-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

46

47

48

49

432 PHP-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

50

51

433 Bedienfeld der Laborseite

Tab 11 erlaumlutert die Funktion der Bloumlcke im Quellcode

Zeilen Funktion 1 Datei defaultconf einbinden 2 Datei headtpl einbinden

5 - 11 Ausgabe der verbleibenden Experimentierzeit 18 - 21 Button zum Einschalten der Elektronenbeugungsroumlhre 28 - 30 Eingabefeld fuumlr die Beschleunigungsspannung

37 Ruumlckmeldung zur eingegebenen Beschleunigungsspannung 42 Datei foottpl einbinden

Tab 11 Funktion der Programmbloumlcke in der Datei experi-menttpl

52

434 Webcamfeld der Laborseite

In Tab 12 ist die Funktion der Programmbloumlcke und die Anpassungen der Vorlage an das RCL Elektronenbeugung beschrieben

Zeilen Funktion Anpassung RCL Elektronenbeugung

5 Titelangabe erscheint als Tabulatorbeschriftung in Browsern

Name des RCLs eintragen

11 - 15 16 - 20

Zwei Javascripts zum getrennten Aufrufen zweier Po-pup-Fenster mit dargestelltem Webcambildern 1 und 2

Javascript 1 die IP-Adresse eintragen Javascript 2 auskommentiert weil nicht benoumltigt

24 - 40 42 - 60

Zwei Javascripts zum Aktualisieren der Webcambilder 1 und 2

Javascript 2 auskommentiert weil nicht benoumltigt

67 - 71 79 - 83

Aufrufen des ersten Webcambilds der Webcams 1 und 2 beim Aufrufen der Datei

Webcambild 2 auskommentiert weil nicht benoumltigt

72 - 78 84 - 90

Buttons zum Aufrufen der Screenshots der Webcam-bilder 1 und 2

Button 2 auskommentiert weil nicht benoumltigt

91 - 95 Zeile der Tabelle zum Eintragen von Informationen die sich auf die Webcambilder oder den Versuch beziehen

Text in Zeile der Tabelle geschrieben

Tab 12 Funktionen der Codeabschnitte in der Datei videohtm und Anpassung der Vor-lage an das RCL Elektronenbeugung

53

44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung Im Folgenden wird die Installation und Konfiguration des AVR-Studios 418 und der Bascom 11198 Demoversion beschrieben Alle Anleitungen sind zeilenweise von links nach rechts zu lesen

441 AVR-Studio 418 4411 Installation Auf der Webseite von ATMEL Register AVR Studio 418 (build 684) anklicken und Registrie-rungsformular ausfuumlllen Danach die Datei AvrStudio418Setup herunterladen Durch Dop-pelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen Next waumlhlen

I accept hellip und Next waumlhlen Installationsordner und Next waumlhlen

54

Installupgrade hellip und Next waumlhlen Install waumlhlen Die Installation beginnt

Finish waumlhlen

4412 Konfiguration AVR Studio 418 in Windows XP Professional unter StartProgramme aufrufen

Startfenster mit Cancel schlieszligen Unter ToolsProgram AVR Auto Connect waumlhlen

55

Im eingeblendeten Fenster auf der Registerkarte Main als Device ATmega16 und als Programming Mode ISP mo-de waumlhlen

Optional kann Signatur gelesen werden

In der Registerkarte Fuses alle Haumlkchen und Auswahlfel-der wie angegeben waumlhlen

Dann Program waumlhlen

442 BASCOM 11198 Demoversion 4421 Installation Auf der Webseite von Bascom unter Bascom AVR Demo die Zip-Datei setupdemoexe her-untergeladen Durch Doppelklick auf den Dateinamen die Installation starten

Next waumlhlen I accept the agreement und Next waumlhlen

56

Next waumlhlen Installationsordner eingeben und Next waumlhlen

Eintrag im Start-Menuuml eingeben und Next waumlhlen Next waumlhlen

Yes restart the computer now und Finish waumlhlen

57

4422 Konfiguration Bascom AVR in Windows XP Professional unter StartProgramme zum Einstellen der Para-meter des Mikrocontrollers und des Terminals aufrufen

OptionsCompilerChip waumlhlen Einstellungen wie im Bild vornehmen und OK waumlhlen

Auf der Registerkarte Communications Einstellungen wie im Bild vornehmen und OK waumlhlen

Unter OptionsCommunication Einstellungen wie im Bild

vornehmen und OK waumlhlen FileNew waumlhlen Unter ToolsTerminal emulator das Terminal aufrufen und

eingeben Die Befehlsliste des RCLs Elektronenbeu-gung wird angezeigt

45 Installation und Konfiguration von Programmen auf dem RCL-Server Im Folgenden wird der Download die Installation und die Konfiguration von Programmen auf dem RCL-Server unter Windows XP Professional beschrieben Alle Anleitungen sind zeilen-weise von links nach rechts zu lesen Die Installation der Programme sollte in der angegebe-nen Reihenfolge erfolgen

58

451 Einrichten des Internet-Zugangs LAN-Verbindung unter StartSystemsteuerungNetzwerkverbindungen aufrufen

Internetprotokoll (TCPIP) und Eigenschaften waumlhlen Folgende IP-Adresse verwenden waumlhlen IP-Adressen ein-

geben und OK waumlhlen

452 Paket XAMPP 174 Unter apache friends - xampp fuumlr windows und XAMPP Windows 174 Installer anklicken und Datei xampp-win32-174-VC6-installerexe speichern Durch Doppelklick auf die Datei die Installation starten

Sprache und Ok waumlhlen Ok waumlhlen

59

Weiter waumlhlen Zielverzeichnis mit Durchsuchen waumlhlen oder eingeben

Apache nicht als Dienst installieren Fertig stellen waumlhlen

Ja waumlhlen Zum Starten des Apache Webservers das Control Panel

unter StartProgrammeXAMPP 173 for Windows mit Start starten Anstelle von Start erscheint Running

Zum Beenden des Apache Webservers Stop waumlhlen Zum Beenden des Control Panels Exit waumlhlen

60

453 Videoserver webcamXP 5 Private Auf der Webseite von Moonware Studios unter webcamXP 55xx die Datei wlite550 herun-terladen Durch Doppelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen I Agree waumlhlen

Next waumlhlen Auszliger webcamXP 5 brauchen keine weiteren Komponen-

ten installiert zu werden

Den vorgeschlagenen Ordner und Install waumlhlen Finish waumlhlen

61

WebcamXP unter StartProgramme aufrufen Zugesandte

Lizenz-Daten in das eingeblendete Fenster eingeben und Register waumlhlen

Beim Starten des Programms stellt webcamXP automa-tisch eine Verbindung zu den am Computer angeschlosse-nen Webcams her

Nach dem Start ist Uumlberwachen gewaumlhlt Durch Rechts-klick mit der Maus auf das Videofenster wird zu jeder Vi-deoquelle ein Kontextmenuuml angezeigt Wird kein Videobild dargestellt das Kontextmenuuml aufrufen Art der Videoquelle waumlhlen (hier USB) und unter den erkannten Videoquellen (hier USB-Videogeraumlt) die gewuumlnschte waumlhlen

Das Videoformat muss fuumlr eine passende Darstellung auf

der Laborseite auf 320 x 240 eingestellt sein Ist das nicht der Fall im Kontextmenuuml unter Video Format einstellen

In gleicher Weise kann eine zweite Videoquelle hinzugefuumlgt werden

In der Registerkarte Web Broadcast kann unter

Broadcast (HTTP) der Videoserver mit Ausschalten ge-stoppt und mit Aktivieren gestartet werden

Zur Zielwahl des Webservers (131246237167 - Internet D16W3X3J - Computer 127001 - Local Host) Videoser-ver stoppen und einstellen Videoserver wieder starten

62

454 Terminalprogramm Hyperterminal Hyperterminal in Windows XP Professional unter StartProgrammeZubehoumlrKommunikation aufrufen

Name der neuen Verbindung - z B Interface - eingeben

und OK waumlhlen Die Verbindung zwischen Computer und Interface wurde

uumlber einen USB-Seriell-Adapter hergestellt Dann erschei-nen zwei zusaumltzliche Eintraumlge (Motorola Comp Modem und COM5) in der Liste Prinzipiell muss eine COMx-Verbindung gewaumlhlt werden

Eigenschaften von COM 5 wie im Bild einstellen und OK

waumlhlen DateiEigenschaften aufrufen und ASCII-Konfiguration

waumlhlen

63

Haken bei Eingegebene Zeichen lokal ausgeben (lokales

Echo) setzen um eingegebenen Zeichen im Hyperterminal zu sehen

Bei funktionsfaumlhiger Verbindung erscheint nach Eingabe von Return die Befehlsliste des Interface

Durch Aufrufen von DateiSpeichern die erstellte Verbin-

dung z B auf dem Desktop speichern Dadurch braucht die Verbindung nicht immer wieder von neuem konfiguriert wer-den

Nach Aufrufen von DateiBeenden die bestehende Verbin-dung mit Ja beenden

64

Wurde ein falscher COM-Port gewaumlhlt reagiert das Inter-

face auf die Eingabe Return nicht Hyperterminal dann beenden

Der COM-Port kann dann nicht unter DateiEigenschaften im Hyperterminal aber unter Eigenschaften des Kontext-menuumls der Datei Interfaceht in der Registerkarte Verbin-den mit geaumlndert werden Dann OK waumlhlen und erneut Verbindung testen

65

455 Fernwartungssoftware TeamViewer 6 Host Auf der Webseite von Teamviewer GmbH unter Fuumlr unbeaufsichtigte Server TeamViewer Vollversion die Datei TeamViewer_Setup-wq herunterladen Das Programm muss auf dem RCL-Server und dem Computer der auf den RCL-Server zugreifen soll installiert werden Durch Doppelklick auf die Datei die Installation starten

Ausfuumlhren waumlhlen Weiter waumlhlen

Fuumlr die private nicht kommerzielle Nutzung ist Teamviewer kostenlos

privat nicht-kommerziell und Weiter waumlhlen

Beide Haumlkchen setzen und Weiter waumlhlen

66

Ja un Weiter waumlhlen Weiter

Computername und Kennwort fuumlr den Zugriff auf den RCL-Server oder den eigenen Computer vergeben Kenn wort notie-ren

Ein Teamviewerkonto ist nicht erforderlich Kann auch spaumlter noch eingerichtet werden

ID fuumlr den Computer auf dem das Programm installiert wird fuumlr Zugriff notieren

Das Programm wird gestartet Standardmaumlszligig vorein-gestellt ist der Start des Programms beim Start des Be-trienssystems

67

46 Selbstbau eines elementaren RCLs 461 Hard- und Software Auch ohne gleich ein vielleicht teures physikalisches Experiment zu steuern laumlsst sich mit wenigen Bauelementen ein elementares RCL realisieren Von einer Webseite im Internet sol-len eine Leuchtdiode (LED) ein- oder ausgeschaltet sowie der Zustand der Leuchtdiode und eines Tasters abgefragt werden An Hard- und Software werden benoumltigt

1 Low-Current-LED 5 mm 2 mA 1 Widerstand 18 kΩ 1 Taster und optional zwei 10-polige Wannenstecker mit ungefaumlhr 10 cm passendem Flachbandkabel und Buchsen

Interface in Basisschaltung Null-Modem-Kabel 12 V DC Steckernetzteil (larr 1)

Installierte Bascom-Demo-Version (larr 42)

AVR ISP-Programmer mit 10-poligem Programmierkabel

Installiertes und konfiguriertes AVR Studio 418 (larr 41)

Installiertes Paket XAMPP (larr 52)

Texteditor wie z B Notepad in Windows XP Professional

Konfigurierte Hyperterminalverbindung (larr 54)

462 Bestuumlckung der Platine Abb 29 zeigt zur Orientierung fuumlr das Einloumlten der Bauelemente die fertig bestuumlckte Platine des Interface

Abb 29 Mit elementarem RCL bestuumlckte Platine

des Interface

LED mit Vorwiderstand und der Taster sind rechts neben dem Mikrocontroller im Lochraster-bereich aufgebaut und uumlber Wannenstecker und Flachbandkabel mit dem Port A des Mikro-controllers verbunden (die drei Bauteile rechts neben dem ATmega16 werden nicht benouml-tigt) Tab 13 erlaumlutert die Schritte zur Bestuumlckung der Platine des Interface

68

Nr Schaltung Erlaumluterung

1

Die Leuchtdiode (LED) mit dem Pluspol (langes Beinchen) an PortA0 (PIN40 oben rechts) des Mikrocontrollers anloumlten

An das kurze Beinchen einen 18kΩ Widerstand loumlten dessen anderes Ende mit der Masse (GND) verbinden

2

Den Taster mit PortA1 (PIN39 = 2 Beinchen von oben rechts) und Masse (GND) verbinden

3

Draufsicht

Belegung des 10-poligen Wannensteckers 1 GND (Masse) im Foto oben links 2 +5 V 3 PortA0 4 PortA1 10 PortA7 im Foto unten rechts

Tab 13 Schritte zum Aufbau des elementaren RCLs

463 Lokal gesteuertes RCL Nachfolgend ist der Basic-Programmcode des Mikrocontrollers zur Steuerung und Abfrage der LED und des Tasters angegeben 01 $regfile = m16DEFdat Microcontroller ATmega16 02 $crystal = 11059200 110592MHz Quarz 03 $baud = 9600 Baudrate 04 05 ---[ Variables ]--------------------------------------------------------------- 06 Dim Rs232kommando As String 10 erst Befehlspuffer dann Kommando 07 Dim Parameter As String 10 Parameter 08 Dim Str_pos As Byte Position von Leerzeichen zur Trennung von Kommando und Pa-rameter 09 10 ---[ Initialisierung ]--------------------------------------------------------- 11 Ddra0 = 1 PortA0 als Ausgang fuumlr LED 12 Porta0 = 0 LED aus 13 Ddra1 = 0 PortA1 als Eingang fuumlr Taster 14 Porta1 = 1 Pull-Up aktivieren 15 16 ---[ Main program loop ]------------------------------------------------------- 17 Do Start der Endlos-Schleife 18 19 If Ischarwaiting() = 1 Then Zeichen uumlber RS232 empfangen 20 Input Rs232kommando neues Kommando lesen 21 Parameter = Parameter initialisieren 22 Str_pos = Instr(rs232kommando ) Leerzeichen im Kommando suchen 23 If Str_pos gt 0 Then falls Leerzeichen dann in Kommando+Parameter zerlegen 24 Incr Str_pos Str_pos soll jetzt auf 1Zeichen des Parameters zeigen 25 Parameter = Mid(rs232kommando Str_pos ) Parameter = Teilstring nach Leerzeichen 26 Parameter = Ucase(parameter) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 27 Str_pos = Str_pos - 2 Str_pos soll jetzt auf letztes Zeichen des Kommandos zeigen 28 Rs232kommando = Left(rs232kommando Str_pos)Kommando = Teilstring vor Leerzeichen 29 Rs232kommando = Ucase(rs232kommando) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 30 End If 31 32 Select Case Rs232kommando Eventhandler Interpretation der Kommandos 33 Case Print Hilfe Hilfeseite anzeigen 34 Print LED on - LED einschalten 35 Print LED off - LED ausschalten 36 Print LED - zeigt Status der LED an 37 Print SW - zeigt Status des Schalters an 38

1K8

LED rotmicroC PortA0(PIN40)

Taster

microC PortA1(PIN39)

1

3

2

69

39 Case LED If Parameter = ON Then LED schalten 40 Porta0 = 1 41 End If 42 If Parameter = OFF Then 43 Porta0 = 0 44 End If 45 46 Case LED If Porta0 = 0 Then Status der LED ausgeben 47 Print LED aus 48 Else 49 Print LED an 50 End If 51 52 Case SW If Pina1 = 1 Then Status des Schalters ausgeben 53 Print Taster offen 54 Else 55 Print Taster geschlossen 56 End If 57 58 Case Else Print gt Rs232kommando lt ungueltiger Befehl - weitere Infos mit Info bei unguumlltigen Eingaben 59 End Select 60 61 End If 62 63 Loop Endlos-Schleife Springe zu Do 64 65 End wird nie erreicht

Der erste Teil des Programms (Zeilen 1 - 15) enthaumllt die Systemparameter Variablen und Initialisierung der Ein- und Ausgaumlnge Der zweite Teil enthaumllt ab Zeile 17 das Hauptpro-gramm in dem Benutzereingaben uumlber die serielle Schnittstelle empfangen interpretiert und in entsprechende Anweisungen umgesetzt werden Tab 14 erlaumlutert den Programmcode de-taillierter

Zeilen Erlaumluterung

1 - 3 Diese Angaben teilen dem Compiler (Bascom) mit welcher Prozessor eingesetzt wird wie schnell dieser getaktet (Quarz) ist und mit welcher Uumlbertragungsgeschwindigkeit die Kommunikation uumlber die serielle Schnittstelle (RS232) mit dem PC erfolgen soll

6 - 8 Es werden drei Variablen genutzt Die Eingabe uumlber die serielle Schnittstelle wird in rs232kommando gespeichert Es wird ein Text der Form Kommando ltLeerzeichengt Parameter erwartet so dass die Variable Parameter den-selbigen aufnimmt Die Variable str_pos wird fuumlr die Trennung von Kommando und Parameter benoumltigt

11 - 14

Mit dem Befehl ddrPX (ddr = data direction) wird festgelegt ob ein Beinchen als Ausgang (=1) oder als Eingang (=0) arbeiten soll Der ATmega16 besitzt 32 Ein-Ausgaumlnge die in vier Ports (P=AD) zu je 8 Pins (X=07) unterteilt sind ddrA0 = 1 legt also das 1 Beinchen (Pin 0) von PortA als Ausgang (=1) fest Mit dem Befehl PortA0 =1 kann dieser Pin dann durch Zuweisen von 1 oder 0 an- bzw ausgeschaltet werden Im Datenblatt erfahren Sie welches der 40 Beinchen des Mikrocontrollers wie bezeichnet wird (Pin-Belegung) Wird ein Beinchen als Eingang verwendet (ddrA1 = 0) koumlnnen Sie optional einen so genannten Pull-Up-Widerstand aktivieren (PortA1=1) oder deaktivieren (PortA1=0) Auch hierzu sollten Sie sich unbedingt mit dem Datenblatt vertraut machen

17 63 Das Hauptprogramm besteht aus einer Endlosschleife d h der Mikrocontroller verrichtet ununterbrochen seinen Job so lange er mit Strom versorgt wird

19 - 30 Falls ein Zeichen uumlber die serielle Schnittstelle empfangen wurde wird dieses und alle folgenden gelesen Anschlie-szligend wird gepruumlft ob der empfangene Text von der Form Kommando ltLeerzeichengt Parameter ist so dass er ge-gebenenfalls in ein Kommando und einen Parameter zerlegt werden kann

32 - 59 Dieser Abschnitt wird mit Event-Handler bezeichnet Hier wird auf die Kommandos (Events) reagiert und die ent-sprechenden Schritte ausgefuumlhrt zB schalten LED je nach Wert der Variablen Parameter an- bzw ausschalten

46 52

In beiden Zeilen wird ein Wert eines Ports abgefragt Unterschiedlich ist dass in Zeile 46 der Status eines Ausgangs abgefragt wird (porta0) und in Zeile 52 der Zustand eines Eingangs (pina0) Die Anweisung IF porta0 = 0 THEN pruumlft (hier ist = ein Vergleich und KEINE Zuweisung) ob zuletzt die LED ausgeschaltet (Zuweisung porta0 = 0) wurde Die Anweisung IF pina1= 1 THEN liest den Status eines Eingangs Hier kann festgestellt werden ob der Eingang uumlber den internen Pull-UP-Widerstand auf +5V liegt (pina1 liefert 1) oder ob der Schalter den Eingang mit Masse (0V) verbindet (pina1 liefert 0)

Tab 14 Erlaumluterung des Mikrocontroller-Programmcodes fuumlr elementares RCL

70

In Bascom AVR eine neue Datei erzeugen (FileNew) den Programmcode ohne Kommenta-re eingeben und mit ProgramCompile (F7) eine Hexadezimaldatei erzeugen Die Hexadezi-maldatei mit dem AVR-Studio und dem AVR-ISP-Programmer in den Mikrocontroller schrei-ben (larr 222 Programmuumlbertragung) Nach dem Verbinden von Computer und Interface per Null-Modem-Kabel kann durch Eingabe von in das konfigurierte Hyperterminal die Befehls-liste in Abb 30 aufgerufen werden

Abb 30 Aufgerufene Befehlsliste im Hyperterminal

Durch Eingabe von LED on oder LED off kann die LED ein- und ausgeschaltet LED zeigt den Status der LED und sw den Status des Tasters an Alternativ zum Hyperterminal kann auch das Terminal in BASCOM unter ToolsTerminal Emulator verwendet werden (larr 422)

464 Ferngesteuertes RCL Zum Ansteuern des Interfaces und zum Bedienen des Versuchsaufbaus uumlber das Internet wird eine Webseite benoumltigt die dem Benutzer alle Bedienelemente des Experiments zur Verfuumlgung stellt

Der Benutzer benoumltigt anklickbare Buttons im Webbrowser

Der Webserver muss die Information welcher Button gedruumlckt wurde empfangen und ein entsprechendes Kommando uumlber die serielle Schnittstelle an das Interface senden

Beide Schritte sind im nachfolgenden PHPHTML-Quellcode zusammengefasst 01 ltDOCTYPE HTML PUBLIC -W3CDTD HTML 401 TransitionalEN httpwwww3orgTRhtml4loosedtdgt 02 lthtmlgt 03 ltheadgt 04 ltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1gt 05 lttitlegtelementares RCLlttitlegt 06 ltheadgt 07 08 ltbodygt 09 ltphp 10 if (isset($_POST[Kommando])) wurde bereits Kommando gesendet 11 if( ( $handle = fopen( COM1 w+ ) ) ) Schnittstelle oumlffnen 12

71

13 throw new Exception( Can not access serial port 2 ) ohne Erfolg 14 15 fwrite( $handle $_POST[Kommando] chr( 13 ) ) Befehl an Interface senden 16 switch ( $_POST[Kommando] ) Antwort von Interface auswerten 17 case LED $tmp = fgets( $handle ) Echo von Interface ignorieren 18 $antwort = fgets( $handle ) Antwort des Interfaces 19 echo Antwort $antwort Ausgabe auf Webseite 20 break switch verlassen 21 22 case SW $tmp = fgets( $handle ) Echo von Interface ignorieren 23 $antwort = fgets( $handle ) Antwort des Interfaces 24 echo Antwort $antwort Ausgabe auf Webseite 25 break switch verlassen 26 27 28 29 fclose( $handle ) Schnittstelle schlieszligen 30 31 else 32 `mode com1 BAUD=9600 PARITY=N data=8 stop=1 xon=off` Schnittstellenparameter setzen 33 34 35 gt 36 37 lth3gtBefehl sendenlth3gt 38 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 39 ltinput type=hidden name=Kommando value=LED ON gt 40 ltinput type=submit value=LED anschalten gt 41 ltformgt 42 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 43 ltinput type=hidden name=Kommando value=LED OFF gt 44 ltinput type=submit value=LED ausschalten gt 45 ltformgt 46 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 47 ltinput type=hidden name=Kommando value=LED gt 48 ltinput type=submit value=LED abfragen gt 49 ltformgt 50 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 51 ltinput type=hidden name=Kommando value=SW gt 52 ltinput type=submit value=Taster abfragen gt 53 ltformgt 54 ltbodygt 55 lthtmlgt Den Quellcode in den Texteditor kopieren und im Ordner htdocs von XAMPP z B unter rclphp speichern HTML-Dateien mit PHP-Code (Zeilen 9-35) muumlssen mit der Erweiterung php gespeichert werden damit der Apache Webserver zwischen HTML-Seiten mit und ohne PHP-Code unterscheiden kann Den installierten Apache Webserver starten (larr 452) und im Adressfeld des Webbrowsers die IP-Adresse http127001rclphp aufrufen Das Bedi-enfeld des elementaren RCLs in Abb 31 wird im Browserfenster angezeigt

72

Abb 31 Laborseite des elementaren RCLs

Im Bedienfeld kann die LED an- und ausgeschaltet sowie der Status von LED und Taster abgefragt werden

  • 0 Warum ein Tutorial zur RCL-Technik
  • 1 Technische Konzeption
    • 11 Einfuumlhrung
    • 12 Wahl der RCL-Technik
      • 2 Lokal gesteuertes RCL
        • 21 Interface
          • 211 Mikrocontroller
          • 212 Basisschaltung und Erweiterungsschaltungen
          • 213 Programmierung des Mikrocontrollers
            • 22 Hyperterminal
            • 23 Positionieren von Objekten
              • 231 Hybrid-Schrittmotoren
              • 232 Schrittmotorsteuerung und Positionierungsmechanik
                  • 3 Ferngesteuertes RCL
                    • 31 RCL-Server
                    • 32 Laborseite
                      • 321 Steuerung des RCLs uumlber das Bedienfeld
                      • 322 Videouumlbertragung im Webcamfeld
                        • 33 Standard-Lernumgebung
                          • 4 ANHANG
                            • 41 Interface in Basisschaltung
                              • 411 Schaltplan und Bauteilliste
                              • 412 Bestuumlckung der Platine
                                • 42 Erweiterungsschaltungen
                                  • 421 Uumlbersicht
                                  • 422 TMC222-Modul zur Schrittmotorsteuerung
                                    • 4221 Schaltplan und Bauteilliste
                                    • 4222 Bestuumlckung der Platine
                                    • 4223 Quellcode des Mikrocontroller-Programms
                                      • 423 Geschaltete Spannungsquellen und Verbraucher
                                      • 424 Steuerung von Gleichstrommotoren
                                        • 43 Quellcodes zum RCL Elektronenbeugung
                                          • 431 Mikrocontroller-Programmierung
                                          • 432 PHP-Programmierung
                                          • 433 Bedienfeld der Laborseite
                                          • 434 Webcamfeld der Laborseite
                                            • 44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung
                                              • 441 AVR-Studio 418
                                                • 4411 Installation
                                                • 4412 Konfiguration
                                                  • 442 BASCOM 11198 Demoversion
                                                    • 4421 Installation
                                                    • 4422 Konfiguration
                                                        • 45 Installation und Konfiguration von Programmen auf dem RCL-Server
                                                          • 451 Einrichten des Internet-Zugangs
                                                          • 452 Paket XAMPP 174
                                                          • 453 Videoserver webcamXP 5 Private
                                                          • 454 Terminalprogramm Hyperterminal
                                                          • 455 Fernwartungssoftware TeamViewer 6 Host
                                                            • 46 Selbstbau eines elementaren RCLs
                                                              • 461 Hard- und Software
                                                              • 462 Bestuumlckung der Platine
                                                              • 463 Lokal gesteuertes RCL
                                                              • 464 Ferngesteuertes RCL

8

12 Wahl der RCL-Technik Es existiert eine nur schwer im Detail zu uumlberblickende und zu beherrschende Vielzahl von Hard- und Softwaretechnologien (Interfaces und Programmiersprachen) um ein Experiment uumlber das Internet fernbedienbar zu machen Im Folgenden wird die Wahl der Technik von RCLs des RCL-Portals begruumlndet

Interface Zu Beginn des RCL-Projekts war es naheliegend auf vorhandene technische Loumlsungen zum Interface zuruumlckzugreifen Das RCL Elektronenbeugung wurde zunaumlchst mit dem Power-Cassy4 und dem Sensor-Cassy5 von Leybold zur Steuerung und Messung der Be-schleunigungsspannung betrieben Der heutige Preis fuumlr beide Komponenten zusammen liegt bei ungefaumlhr 1700 euro Ein Datenaustausch zwischen dem RCL-Server und dem Sen-sor-Cassy wurde uumlber das Common Gate Interface (CGI) realisiert Bei den nicht mehr existierenden Versionen der RCLs Beugung und Interferenz und Computertomographie wurde das Intelligent Interface6 von Fischertechnik eingesetzt Fuumlr 130 euro wurden 4 umpolbare kurzschlussfeste digitale Ausgaumlnge mit 025 A Dauerbelast-barkeit fuumlr Gleichstrommotoren Elektromagneten oder Lampen geboten Digitale Senso-ren wie z B Taster konnten an 8 digitale Eingaumlnge angeschlossen werden Fuumlr Potenti-ometer Temperatur- oder Helligkeitssensoren mit variablem Widerstand als Ausgangs-groumlszlige waren 2 analoge Eingaumlnge mit Eingangswiderstand zwischen 0 und 5 kΩ und einer Abtastrate von 50 Hz verfuumlgbar Programmiert werden konnte das Interface mit C++ Vi-sual Basic oder als Einstieg in die Technik des Programmierens mit der graphisch orien-tierten Programmiersprache LLWin Ein nutzerspezifisches im RAM des Interface gespei-chertes Programm ging ohne Spannungsversorgung verloren Die Nachteile dieser Interfaces wie zu hohe Kosten zu geringe Flexibilitaumlt beim Anschluss von Sensoren und Aktoren - insbesondere von Schrittmotoren - und zu geringe Messraten wurden erst durch das programmierbare Eigenbau-Interface (rarr 21) fuumlr ungefaumlhr 50 euro (rarr 41) und eine modular gestaltete an das jeweilige RCL anzupassende PHP-Basisprogrammierung (rarr 432) geloumlst Zur Programmierung des Interface wird ein USB-ISP-Programmer fuumlr ungefaumlhr 30 euro benoumltigt

Software fuumlr RCL-Server Mikrocontroller und Standard-Lernumgebung Tab 1 enthaumllt eine Uumlbersicht der Programme fuumlr den RCL-Server und einem weiteren Computer Die Links fuumlhren auf die Webseite zum Download des Programms und Preise sind angegeben Auf Installation und Konfiguration von Programmen wird in den einzel-nen Abschnitten des Tutorials eingegangen

4 Vgl LD Didactic Power-Cassy 5 Vgl LD Didactic Sensor-Cassy 6 Vgl Fischertechnik Intelligent Interface nicht mehr lieferbare Art-Nr 30402 bei Knobloch GmbH

9

Typ Hersteller Name und Version Preis

RC

L-Se

rver

Betriebssystem und Terminal

Microsoft Windows XP Professional mit Service Pack 3 Microsoft Hyperterminal in Windows XP Professional unter

StartProgrammeKommunikationHyperterminal asymp 20 euro

Webserver und PHP Apache Friends XAMPP 174 fuumlr Windows Installer-Version The PHP Group PHP 531 (enthalten in XAMPP 174)

-

Videoserver Moonware Studios webcamXP 5 Free (eine Videoquelle) Moonware Studios webcamXP 5 Private (bis zu 5 Videoquellen)

- 4495 euro

RCL-Software Technische Universitaumlt Kaiserslautern RCL-Ordner htdocs -

Fernwartung- und Desktop-Sharing TeamViewer GmbH TeamViewer 6 Vollversion -

Virenscanner Avira AntiVir Personal Webeditor Notepad++ team Notepad++ 59 -

Com

pute

r

Entwicklungsumgebungen fuumlr Mikrocontroller ATmega16

ATMEL AVR-Studio 418 - Sourceforge WinAVR - MCS Electronics BASCOM-AVR Demoversion (maximal 4 kB

Programmcode) MCS Electronics BASCOM-AVR Vollversion

-

89 euro MikroElektronika MikroPascal Pro for AVR asymp 140 euro

Webeditor Notepad++ team Notepad++ 59 Adobe Dreamweaver CS557

- asymp 115 euro

Fernwartung- und Desktop-Sharing TeamViewer GmbH Teamviewer 6 Vollversion -

Tab 1 Programme fuumlr den RCL-Server und fuumlr weiteren Computer zur Prgrammie-rung des Mikrocontrollers Webseitenerstellung und Fernwartung ( optio-nale Programme Links fuumlhren auf Webseite zum Download Stand Juni 2011)

Fuumlr den RCL-Server wird als stabiles Betriebssystem Windows XP Professional einge-setzt Microsoft vertreibt seit Dezember 2008 Windows XP nicht mehr Sicherheitspatches werden noch bis April 2014 bereitgestellt ein Bezug ist z B uumlber Ebay8 moumlglich Das Hy-perterminal-Programm zur Kommunikation mit dem Interface ist Teil von Windows XP Professional Vom Open-Source-Paket XAMPP wird der Apache Webserver und der PHP-Interpreter eingesetzt Da in der Regel bei RCLs zwei Webcambilder uumlber das Inter-net uumlbertragen werden muumlssen ist der Videoserver webcamXP 5 nicht kostenlos Im RCL-Ordner htdocs befindet sich die Basissoftware die noch an das zu realisierende RCL anzupassen ist Ein kostenloser Virenscanner wie z B Antivir Personal ist erfahrungsge-maumlszlig ausreichend Als Fernwartungssoftware fuumlr den RCL-Server wird Teamviewer emp-fohlen Es genuumlgt der Teamviewer Host weil vom RCL-Server kein Remote-Zugriff auf den Computer erfolgen muss Fuumlr kleinere Arbeiten an der RCL-Software oder der Stan-dard-Lernumgebung waumlhrend der Fernwartung sollte ein kostenloser Webeditor wie z B Notepad++ installiert werden Auf einem weiteren Computer kann zur Programmierung des Mikrocontroller eine Ent-wicklungsumgebung fuumlr folgende Programmiersprachen installiert werden Mit dem AVR-Studio kann in Assembler und nach der Installation von WinAVR in C bzw C++ program-miert werden Fuumlr Einsteiger wird eine Programmierung in Basic mit BASCOM-AVR emp-fohlen Falls der Programmcode groumlszliger als 4 kB ist muss die Vollversion erworben wer-

7 Vgl Adobe Dreamweaver CS55 8 Vgl Ebay Windows XP Professional

10

den Eine Programmierung in Pascal ist fuumlr ungefaumlhr 140 euro mit dem Pascal-Compiler von MikroElektronika moumlglich Mit Notepad++ steht ein kostenloser und guter Webeditor zum Erweitern der PHP-Basissoftware und zum Erstellen von Webseiten der Standard-Lernumgebung bereit Als professionellerer Editor kann z B Dreamweaver verwendet werden Fuumlr die Fernwartung des RCL-Servers muss auf dem zugreifenden Computer die Vollversion von Teamviewer installiert werden

Die gewaumlhlte Hard- und Software fuumlr RCLs bietet folgende Vorteile

Geringe Hard- und Softwarekosten Interface mit Erweiterungsschaltungen (asymp 70 euro) USB-ISP-Programmer (asymp 30 euro) AVR-Studio zur Programmierung in C (0 euro) Betriebssystem Windows XP Professional (asymp 20 euro) webcamXP 5 fuumlr ein Webcambild (0 euro) koumlnnen zusammen fuumlr 120 euro erworben werden Mit einem nicht mehr benoumltigtem aumllteren Computer Tastatur und Maus (0 euro) einem ausge-dientem Monitor (0 euro) einer einfachen USB-Webcam (asymp 20 euro) und der Positionierungsme-chanik eines nicht mehr benoumltigten aumllteren Scanners (0 euro) kann ein RCL schon ab 140 euro realisiert werden

Einfache Adaptierbarkeit des Interface und der PHP-Basissoftware an das Experiment Der Mikrocontroller des Interface kann frei programmiert werden Mit der Aufteilung der Schaltung des Interface in eine fuumlr alle RCLs gleiche Basisschaltung und RCL-spezifische Erweiterungsschaltungen (rarr 212) ist das Interface leicht an das Experiment anpassbar Durch die im Mikrocontroller integrierten Peripheriebausteine genuumlgen meist wenige Bau-elemente und die unterschiedlichsten Mess- und Steuergroumlszligen koumlnnen verarbeitet wer-den Die PHP-Basissoftware braucht nur um wenige Programmbloumlcke erweitert zu wer-den

Einfacher Zugang zu Ressourcen der RCL-Technik Die weite Verbreitung des Mikrocontrollers ATmega16 im Hobbybereich korrespondiert mit einem umfangreichen kostenlosen Informationsmaterial zur Hardware und Software des Mikrocontrollers im Internet In Tab 2 sind unter Mikrocontroller Links zu Datenblaumlt-tern Portalen und Foren mit praxisnahen Loumlsungen fuumlr Probleme der Mikrocontroller-Programmierung zusammengestellt Ein staumlrker strukturiertes Erlernen der Funktionen und Programmierung von AVR-Mikrocontrollern ist uumlber die genannten Tutorials im Inter-net und Buumlcher moumlglich

11

Ressource Kurzbeschreibung

Mik

roco

ntro

ller

Mikrocontroller mega16A Mikrocontroller ATmega16A Summary

Ausfuumlhrliches und zusammenfassendes Datenblatt des Mikrocon-trollers ATmega16

wwwmicrocontrollernet Portal fuumlr Mikrocontroller RoboterNETZ Portal fuumlr Robotik Mikrocontroller und Elektronik AVR-Tutorial Tutorial zur AVR-Familie auf microcontrollernet BASCOM-AVR Online-Hilfe zur Entwicklungsumgebung BASCOM-AVR myAVR Mikrocontrollerloumlsungen fuumlr Ausbildung und Selbststudium BASCOM-Forum Forum von MCS BASCOM RoboterNETZ-Forum Forum von RoboterNETZ myAVR-Forum Forum von myAVR AVR-Forum Forum von Atmel Roland Walter AVR Mikrocontroller Lehr-buch Buch zur Programmierung von AVR-Mikrocontrollern mit Basic

Guumlnter Schmitt Mikrocomputertechnik mit Controllern der Atmel AVR-RISC-Familie

Buch zur Programmierung von AVR-Mikrocontrollern in Assemb-ler und C

Claus Kuumlhnel Programmierung der AVR RISC Mikrocontroller mit BASCOM-AVR

Buch zur Programmierung von AVR-Mikrocontrollern in BAS-COM-AVR (Basic)

Frank Sichla Schaltungssammlung Mikro-controller und USB

Buch mit praktischen Anwendungsschaltungen und Einsatzmoumlg-lichkeiten von Mikrocontrollern

HTM

LPH

P

SELFHTML Portal zum Erstellen von Webseiten mit HTML SELTPHP Portal zum Programmieren von Webseiten mit PHP PHP Entwicklerseite von PHP Kleines Tutorial PHP-Tutorial PHP-Handbuch PHP-Handbuch

Elek

tron

ik

reichelt elektronik Elektronikversand Conrad Elektronikversand ELV Elektronik Elektronikversand Datasheet Catalogcom Datenbank fuumlr Datenblaumltter elektronischer Bauelemente Datasheet Archive Datenbank fuumlr Datenblaumltter elektronischer Bauelemente Pegelwandler Max232 fuumlr serielle Schnitt-stelle Datenblatt des ICs Max232 von Texas Instruments

Spannungsregler L7805 Datenblatt des ICs L7805 von STMicroelectronics Schrittmotormodul TMC222 Datenblatt des ICs TMC222 von Trinamic

Schr

ittm

otor

en

Minebea Hybrid Stepping Motors Datenblaumltter von 12 Hybrid-Schrittmotoren Trinamic Stepper Motors Datenblaumltter und Bezugsquellen von 6 Hybrid-Schrittmotoren reichelt elektronik Groszliges Angebot an Schrittmotoren Quality Motors Auf TMC-Module und -ICs abgestimmte Schrittmotoren Nanotec Schrittmotor-Animation Animation von unipolarem und bipolarem Schrittmotor

Nanotec Glossar Glossar mit Erklaumlrungen zu wichtigen Begriffen aus der Schrittmo-tor-Antriebstechnik

Erich Rummich Elektrische Schrittmoto-ren und -antriebe- Funktionsprinzip- Be-triebseigenschaften - Messtechnik

Buch zum Erwerb von Kenntnissen zum Aufbau und zur Funkti-onsweise von Schrittmotoren

Tab 2 Ressourcen zur Realisation eines RCLs

Die seit 1996 zunehmende Bedeutung der kostenlosen Skriptsprache PHP und das Wachstum des Internets korrespondieren mit einer Zunahme an kostenlosem Informati-onsmaterial zur PHPHTML-Programmierung Neben den unter PHPHTML in Tab 2 ge-nannten Ressourcen sind wegen des groszligen Marktes keine Buumlcher zu PHP genannt Die teuren und schnell veraltenden Buumlcher sollten in Bibliotheken geliehen werden Unter Elektronik sind in Tab 2 Links zum Versandhandel elektronischer Bauelemente zu Datenbanken mit Datenblaumlttern elektronischer Bauelemente und zu Datenblaumlttern der wichtigsten ICs des Interface zu finden Unter Schrittmotoren sind Links zu Schrittmotoren

12

wichtiger Anbieter zusammengestellt die uumlber den Elektronikhandel leicht bezogen wer-den koumlnnen Das Buch von Erich Rummich erklaumlrt Zusammenhaumlnge zwischen Bauform und Funktionsweise von Schrittmotoren die uumlber Informationen zu Schrittmotoren im Tu-torial (rarr 231) gegebenen Informationen hinausgehen

Programmierung des Mikrocontrollers in Basic Besonders die Moumlglichkeit der Programmierung des Mikrocontrollers in der Hochsprache Basic (larr 12 Tab 1 Bascom AVR) erleichtert den Einstieg in den Selbstbau von RCLs Daruumlber hinaus besteht analog zur PHP-Programmierung die Mikrocontroller-Programmierung aus einer an das jeweilige RCL lediglich anzupassenden Basispro-grammierung (rarr 431)

Betriebssystemunabhaumlngigkeit Das Interface kommt ohne betriebssystemspezische Treiber aus PHP und HTML sind be-triebsystemunabhaumlngige Sprachen Der Apache Webserver XAMPP ist auszliger fuumlr Windows fuumlr die Betriebssysteme Linux Mac OS X und Solaris9 erhaumlltlich

Wartung von Programmierung und Interface Aumlnderungen der PHPHTML-Programmierung koumlnnen leicht uumlber einen Fernzugriff auf den RCL-Server vorgenommen werden Da der PHPHTML-Quellcode im RCL-Betrieb stets in einer lauffaumlhigen Form vorliegt fuumlhren Wechsel von Personen die Zugriff auf die Programmierung haben nicht zu Ausfaumlllen des RCLs Aumlnderungen und Reparaturen an den Ergaumlnzungsschaltungen des Interface koumlnnen aufgrund des Lochrasteranteils der Platine (rarr 412) leicht durchgefuumlhrt werden

Zerstoumlrungssichere Versuchskomponenten Versuchskomponenten sind durch die Programmierung des Mikrocontrollers vor Fehlbe-dienungen des RCLs geschuumltzt Da der Mikrocontroller die Zulaumlssigkeit von Parameter-werten uumlberwacht ist kein Missbrauch des Experiments durch Dritte moumlglich Abstuumlrze des RCL-Servers fuumlhren nicht zu undefinierten Zustaumlnden des Experiments weil der Mik-rocontroller das Experiment steuert In der Lebensdauer staumlrker begrenzte Versuchskom-ponenten wie z B die Elektronenbeugungsroumlhre beim RCL Elektronenbeugung (larr 11 Abb 2) koumlnnen durch eine programmierte Standby-Funktion des Mikrocontrollers bei Nichtgebrauch ausgeschaltet werden

Keine Installation von Zusatzsoftware Besucher benoumltigen zum Experimentieren mit RCLs lediglich einen kostenlos verfuumlgbaren Webbrowser wie z B die auf Funktionsfaumlhigkeit fuumlr die RCLs getesteten Internet Explo-rer Opera Firefox Safari oder Konquerer mit aktivierter Javaskript-Funktion Es muss keine weitere Zusatzsoftware installiert werden

Eine alternative technische Loumlsung fuumlr RCLs ist LabVIEW (Laboratory Virtual Instrument En-gineering Workbench) von National Instruments (NI)10 LabVIEW ist eine sehr umfangreiche

9 Apache friends XAMPP

13

mittlerweile als Industriestandard geltende grafische Programmierumgebung zum Messen Steuern und Regeln von Systemen Uumlber umfangreiche Treiber-Bibliotheken lassen sich fast alle gaumlngigen mit einer entsprechenden Schnittstelle ausgestatteten Geraumlte in LabVIEW ein-binden LabVIEW wurde als technische Loumlsung im RCL-Projekt aus mehreren Gruumlnden nicht eingesetzt

Besucher muumlssen einmalig vor dem Experimentieren mit RCLs die LabVIEW Run-Time Engine11 installieren

Es existieren nur wenige Schulgeraumlte mit den erforderlichen Schnittstellen

Die Kosten von ungefaumlhr 1300 euro fuumlr die Basisversion und ungefaumlhr 2800 euro fuumlr die Vollver-sion sind zu hoch

LabVIEW ist fuumlr die zu entwickelnden RCLs bzw die Zielgruppe aus Schuumllern und Studie-rende uumlberdimensioniert Der Nachbau von RCLs durch interessierte Schuumller und Studie-rende waumlre aus Kosten und Anforderungsgruumlnden nur schwer moumlglich

Trotz der graphischen Programmieroberflaumlche von LabVIEW muumlssen im Programmcode immer noch Anpassungen in der speziell fuumlr LabVIEW entwickelten Programmiersprache G vorgenommen werden

Die Einarbeitung in LabVIEW ist vom Zeitaufwand und den Anforderungen her mindes-tens genauso hoch wie die fuumlr Mikrocontroller- und PHP-Programmierung

Eine mit fertigen LabVIEW-Elementen gestaltete Laborseite ist nicht unbedingt nutzer-freundlicher als eine mit PHPHTML erstellte Laborseite

2 Lokal gesteuertes RCL 21 Interface 211 Mikrocontroller Zentrales Bauelement des Interface ist ein ATMEL AVR 8-bit RISC Mikrocontroller ATme-ga16 Dieser enthaumllt im Vergleich zu einem Mikroprozessor auszliger dem Prozessor auch peri-phere Module wie z B Speicher digitale und analoge Ein- und Ausgaumlnge oder Timer fuumlr Zu-satzfunktionen Dadurch kommen Anwendungen von Mikrocontrollern wie z B RCLs meist mit wenigen zusaumltzlichen Bauelementen aus Tab 3 enthaumllt eine Uumlbersicht der wichtigsten Features des Mikrocontrollers zum Prozessor zur Programmierung und Datenspeicherung zu peripheren Modulen und erlaumlutert einige Fachbegriffe

10 Vgl National Instruments 11 Vgl National Instruments LabVIEW Run-Time Engine

14

Feature Erlaumluterung

Proz

esso

r

ATMEL AVR 8 bit RISC Mik-rocontroller ATmega16

ATMEL US-amerikanischer Hersteller von Mikrocontrollern AVR Familie von Mikrocontrollern 8 bit Breite des internen Datenbusses des Mikrocontrollers RISC steht fuumlr Reduced Instruction Set Computer (Rechner mit reduziertem Befehls-

satz) Designphilosophie von Mikrocontrollern mit Befehlssatz aus moumlglichst einfa-chen Befehlen und houmlherer Effizienz des Prozessors

ATmega Eine der Mikrocontroller-Serien von ATMEL 16 steht fuumlr 16 kB Flash-ROM Groumlszlige des Programmspeichers des Mikrocontrollers

131 Befehle mit 1-2 Taktzyk-lenBefehl

Die ATmega-Serie besitzt unter den Mikrocontroller-Serien von ATMEL den groumlszligten Befehlssatz Die meisten Befehle benoumltigen zur Ausfuumlhrung nur einen Taktzyklus

Variabel waumlhlbare Taktfre-quenzen bis zu 16 MHz

Ein externer Schwingquarz legt die Schwingungsfrequenz einer Oszillatorschaltung und damit die Taktfrequenz des Mikrocontrollers fest

Prog

ram

mie

rung

und

Dat

ensp

eich

erun

g

ISP uumlber SPI-Bus in 16 kB Flash-ROM Programm-Speicher

ISP steht fuumlr In System Programming Der Mikrocontroller kann ohne aus der Schal-tung entfernt zu werden programmiert werden Es wird kein teures Programmierge-raumlt sondern nur ein Programmieradapter benoumltigt

SPI steht fuumlr Serial Peripheral Interface (Serielles Peripheres Interface) Nach dem Master-Slave-Prinzip arbeitender synchroner serieller Datenbus zur Kommunikation zwischen digitalen Schaltungen

Flash-ROM Kann zur Speicherung des Programmcodes ca 1000-mal neu be-schriebengeloumlscht - geflashed - werden aber beliebig oft gelesen werden Daten bleiben auch ohne Versorgungsspannung erhalten

512 B EEPROM 1 kB internes SRAM

EEPROM steht fuumlr Electrically Erasable Programmable Read Only Memory (Elektrisch loumlschbarer und programmierbarer Nur-Lese-Speicher) Nichtfluumlchtiger Speicher der beliebig oft gelesen und mindestens 100000 mal beschrieben werden kann Kann z B zum Speichern von Messwerten und Konfigurationsdaten verwen-det und uumlber ISP programmiert werden

SRAM steht fuumlr Static Random Access Memory Fluumlchtiger Speicher der beliebig oft gelesen und beschrieben werden kann Wird z B zur Speicherung von Variablen und des Stacks verwendet

Perip

here

Mod

ule

32 programmierbare Ein- und Ausgaumlnge

Der Mikrocontroller ist 40-polig Davon koumlnnen 32 Pole entweder als Ein- oder Aus-gang programmiert werden

Zwei 8-bit- und ein 16-bit-Timer mit Vorteilern und Ver-gleichs-Modus

Die vom Quarzoszillator gesteuerten Timer erlauben z B praumlzise Zeitmessungen oder Interrupts bei bestimmten Zaumlhlerstaumlnden Die maximalen Zaumlhlerstaumlnde sind bei 8 bit 255 und bei 16 bit 1023 Vorteiler erlauben eine Verringerung der Zaumlhlrate

Programmierbare USART USART steht fuumlr Universal SynchronousAsynchronous Receiver Transmitter Seriel-

le Schnittstelle die zur Datenuumlbertragung zwischen Mikrocontroller und Computer benutzt wird

I2C Interface

I2C ist ein synchroner serieller Zweidraht-Bus mit einer Daten- und einer Taktleitung zur Kommunikation zwischen ICs Nach dem Master-Slave-Prinzip kann ein Master bis zu 128 Slaves ansprechen Die Uumlbertragungsrate liegt im Standard-Mode bei 100 kbits

Externe und interne Interrupts

Interrupts unterbrechen das Hauptprogramm des Mikrocontrollers um kurzfristige und zeitkritische Verarbeitungen durchzufuumlhren Externe Interrupts werden durch am Mikrocontroller angeschlossene Hardware gesteuert interne Interrupts durch die Programmierung des Mikrocontrollers

4 PWM-Ausgaumlnge PWM steht fuumlr Pulse Width Modulation (Pulsweitenmodulation) Timer stellen an 4

Ausgaumlngen Rechteckimpulse der Dauer t und Unterbrechungsdauer T-t mit variab-lem Tastverhaumlltnis tT zur Verfuumlgung

8 10-bit ADC

ADC steht fuumlr Analog to Digital Converter (AD-Wandler) Integrierte Schaltung die analoge Eingangsspannung Ue in digitale Ausgangsspannung (Zahl) umwandelt

10-bit Aufloumlsungsvermoumlgen des AD-Wandlers Kleinster aufloumlsbarer Spannungsun-terschied ist (Uemax - Uemin)210

Tab 3 Features des Mikrocontrollers ATmega16

15

212 Basisschaltung und Erweiterungsschaltungen Abb 5 zeigt am Beispiel des RCLs Elektronenbeugung die Platine des Interface mit den Funktionsgruppen 1 - 5 der Basisschaltung und den Funktionsgruppen 6 und 7 der Erweite-rungsschaltungen (larr 11 Abb 4)

Abb 5 Platine des Interface des RCLs Elektronenbeugung

Abb 6 zeigt den dazugehoumlrigen Schaltplan mit den Nummern der Funktionsgruppen und die Pinbelegung des Mikrocontrollers ATmega16

Abb 6 Schaltplan des Interface des RCLs Elektronenbeugung (links) und Pinbelegung

des Mikrocontrollers ATmega16 (rechts)

16

Basisschaltung Die Spannungsversorgung (1) des Interface erfolgt uumlber ein Universal-Steckernetzteil mit der Betriebsspannung Ub = 12 V Eine Diode SB140 schuumltzt die Elektronik des Interface vor falscher Polung der Spannungsversorgung Der Spannungsregler L7805 wandelt die Betriebsspannung am Hohlstecker in eine Gleichspannung von 5 V fuumlr die Spannungs-versorgung der elektronischen Bauelemente des Interface um Die Betriebsspannung kann im Interface auch direkt zur Ansteuerung von Relais oder zur Spannungsversorgung kleinerer Motoren verwendet werden Bei Bedarf kann unter Beachtung der Kuumlhlung des L7805 das Interface mit houmlheren Betriebsspannungen z B fuumlr staumlrkere Schrittmotoren betrieben werden Die nicht hinreichend stabile und temperaturabhaumlngige Frequenz des internen RC-Oszillators im Mikrocontroller (2) kann bei Verwendung der USART zu Problemen fuumlhren Daher wird ein externer 110592 MHz Schwingquarz (3) eingesetzt Der IC MAX232 ist ein Pegelwandler der die 0V+5 V-Signale der seriellen Schnittstelle (4) des Mikrocontrol-lers an die plusmn12 V-Signale der seriellen Schnittstelle des Computers anpasst Uumlber den ISP-Stecker kann der Mikrocontroller programmiert werden (5) Das Interface in der Ba-sisschaltung kann im Selbstbau angefertigt werden (rarr 41)

Erweiterungsschaltungen Nur die wenigsten Aktoren Sensoren gesteuerte Geraumlte und Bauelemente eines RCLs lassen sich direkt vom Mikrocontroller ansteuern Beim RCL Elektronenbeugung wird die Heizspannung der Elektronenkanone mit einem Relais zum Schalten der Netzspannung des Hochspannungsnetzgeraumltes ein- und ausgeschaltet (6) Liefert der Mikrocontroller am Port PA0 die Spannung 5 V (high) so wird die Kollektor-Emitter-Strecke des Transistors BC 337 niederohmig fast die gesamte Betriebsspannung Ub = 12 V faumlllt uumlber dem Relais ab und es flieszligt ein Strom durch das Relais Die Diode 1N4001 schuumltzt den Transistor vor Induktionsspannungsspitzen beim Ein- und Ausschalten der Spule im Relais Am Steuereingang des Hochspannungsnetzgeraumlts kann durch Anlegen einer Steuer-spannung US zwischen 0 V und 5 V die Beschleunigungsspannung der Elektronenkanone zwischen 0 und 43 kV im belasteten Zustand bei eingeschalteter Gluumlhkathode variiert werden Die analoge Steuerspannung US erzeugt ein 8-bit Digital-Analog-Wandler PCF8591 der uumlber den I2C-Bus des Mikrocontrollers (Ports PC0 und PC1) mit Binaumlr-codes zwischen 0 und 255 angesteuert wird (7) Die Ausgangsspannung des DA-Wandlers liegt in 256 Stufen zwischen 370 mV und 497 V Dieser Schaltung wurde der Vorzug gegenuumlber der Erzeugung einer Steuerspannung mit Hilfe eines der Pulsweiten-modulationsausgaumlnge des Mikrocontrollers gegeben weil der Programmieraufwand ge-ringer und die Steuerspannung keine Restwelligkeit aufweist

Eine Uumlbersicht zu Erweiterungsschaltungen fuumlr Sensoren und Aktoren (rarr 421) zeigt die Anpassungsfaumlhigkeit des Interface an die unterschiedlichsten Experimente

17

213 Programmierung des Mikrocontrollers Im Folgenden wird die Programmstruktur des Mikrocontroller-Programms und die Uumlbertra-gung des Programmcodes in den Mikrocontroller beschrieben

Programmstruktur Der Mikrocontroller ist mit einem Programm (Firmware) ausgestattet um die Aufgaben des Interfaces abzuarbeiten Hierzu zaumlhlen im Wesentlichen Programmteile zur Kommu-nikation mit dem RCL-Server und zur Steuerung des Experiments da das Interface eine Schnittstelle zwischen Experiment und RCL-Server darstellt Weitere Programmteile sind beispielsweise zur Initialisierung des Versuchsaufbaus und der Steuerparameter sowie zur Konfiguration des Interfaces realisiert Abb 7 zeigt ein Flussdiagramm der Programm-teile zur Kommunikation mit dem RCL-Server und zur Steuerung des Experiments

Abb 7 Flussdiagramm der Programmierung des Mikrocontrollers

Der Programmteil zur Kommunikation mit dem RCL-Server besteht im Wesentlichen aus einer Schleife die unablaumlssig auf Steuerzeichen des RCL-Servers wartet diese gegebe-nenfalls empfaumlngt und auswertet Soll mittels eines empfangenen Steuerzeichens der Versuchsaufbau angesteuert werden wird vom Kommunikations-Programmteil eine ent-sprechende Anweisung fuumlr den Steuerungs-Programmteil generiert In der Schleife wer-den auch Antworten wie z B Messergebnisse des Steuerungs-Programmteils entgegen-genommen und an den RCL-Server ausgegeben Der Kommunikations-Programmteil kann Kommandos mit und ohne Parameter entgegen-nehmen und verarbeiten So lassen sich einfache Befehle wie Start und Stopp eines Mo-tors aber auch speziellere Anweisungen wie Messe uumlber den Bereich von a nach b mit einer Schrittweite c ausfuumlhren Auch Messergebnisse oder Statusinformationen in Form einzelner Daten wie Zahlen oder Listen koumlnnen vom Kommunikations-Programmteil an den RCL-Server uumlbertragen werden Ferner uumlbernimmt der Kommunikations-Programmteil auch den Austausch von Konfigurationsdaten fuumlr das Interface beispiels-

18

weise Motorparameter oder Zeitvorgaben fuumlr eine Standby-Funktion Schlieszliglich gibt der Kommunikations-Programmteil auch Fehlermeldungen an den RCL-Server aus etwa bei einem Fehlerzustand im Experiment oder bei fehlerhaften Anweisungen des Besuchers bzw des RCL-Servers Im Programmteil zur Steuerung des Experiments erfolgt die Ansteuerung von Aktoren und das Auslesen von Sensoren mittels elektronischer Aus- und Eingaumlnge (Ports) des Mikro-controllers Gegebenenfalls sind zwischen den Ports des Mikrocontrollers und dem Expe-riment Erweiterungsschaltungen erforderlich (larr 212 Erweiterungsschaltungen) Der Steuerungs-Programmteil ist als Interrupt-Routine implementiert Interne Zeitgeber des Mikrocontrollers rufen den Programmteil zyklisch z B alle 1 oder 10 Millisekunden auf wobei die zuvor beschriebene Schleife des Kommunikations-Programmteils kurzzeitig fuumlr die Abarbeitung des Steuerungs-Programmteils unterbrochen wird Hierdurch wird die Steuerung als Real-Time-Prozess12 ausgefuumlhrt und es koumlnnen insbesondere zeitkritische Steueraufgaben mit einer Aufloumlsung von ungefaumlhr 1 - 10 ms zuverlaumlssig erledigt werden Ferner ist im Mikrocontroller und dem Programm ein sogenannter Watchdog installiert der das Programm bei einem Programmabsturz automatisch neu startet Der Watchdog als elektronische Baugruppe im Mikrocontroller fuumlhrt einen Neustart des Mikrocontrollers (Reset) durch sofern er nicht mehr uumlber das Programm in vorgegebenen Zeitintervallen angesteuert wird Je nach RCL gibt es noch weitere Interrupt-Routinen die unabhaumlngig vom Zeittakt des Mikrocontrollers auf externe Ereignisse wie z B Ausgangsspannungsaumlnderungen eines Sensors reagieren Damit kann besonders schnell auf Erfordernisse des Experiments re-agiert oder es koumlnnen Zeitmessungen mit einer Genauigkeit von ungefaumlhr 10-6 s durchge-fuumlhrt werden Im Anhang (rarr 431) ist der Pascal-Quellcode fuumlr den Mikrocontroller des RCLs Elektronenbeugung verfuumlgbar

Programmuumlbertragung Nach der Kompilierung des Assembler- Basic- C+- C++- oder Pascal-Programms liegt eine Hexadezimaldatei vor die vom Computer in den Mikrocontroller uumlbertragen werden muss (Flashen des Programms) Zur Programmuumlbertragung muss das AVR-Studio instal-liert und konfiguriert sein (rarr 441) Abb 8 zeigt wie die Programmuumlbertragung durchge-fuumlhrt wird

12 Real-Time bedeutet hier dass die maximale Dauer eines Vorgangs vorhersehbar und gewaumlhrleistet ist dass eine Steuer-

aufgabe nach einer vorhersehbaren Zeit abgeschlossen ist

19

Abb 8 Programmuumlbertragung zwischen Computer und Mikrocontroller im Inter-

face des RCLs Elektronenbeugung uumlber USB-Seriell-Adapter und ISP-Programmer

Das Interface braucht nicht mit dem Experiment verbunden zu sein Auch Erweiterungs-schaltungen innerhalb oder auszligerhalb des Interface muumlssen nicht mit dem Mikrocontroller verbunden sein Das Interface ermoumlglicht uumlber die ISP-Schnittstelle die Programmierung mit einem preisguumlnstigen ISP-Programmer ohne ein teureres Experimentierboard13 Zur Uumlbertragung des Programms muss in folgenden Schritten vorgegangen werden

(1) Spannungsversorgung des Interface zur Sicherheit unterbrechen weil beim Verbinden mehrpoliger Steckerverbindungen es zu Kurzschluumlssen kommen kann

(2) 10-poligen ISP-Stecker des ISP-Programmers an die ISP-Schnittstelle des Interface anschlieszligen

(3) ISP-Programmer an die serielle Schnittstelle oder uumlber USB-Seriell-Adapter an die USB-Schnittstelle des Computers anschlieszligen

(4) Spannungsversorgung des Interface wieder herstellen

(5) AVR-Studio unter StartProgramme aufrufen und nach Abb 9 in der Registerkarte Program unter Flash die zu uumlbertragende Hexadezimal-Datei z B Elektronenbeu-gunghex auf der Festplatte auswaumlhlen und Program waumlhlen

13 Vgl ATMEL STK 500 Entwicklerkit bei Reichelt Elektronik

20

Abb 9 Uumlbertragung der Hexadezimaldatei Elekt-

ronenbeugunghex in den Mikrocontroller

(6) Spannungsversorgung des Interface unterbrechen ISP-Programmer vom Interface trennen AVR-Studio beenden und den ISP-Programmer vom Computer trennen

22 Hyperterminal Nach der Programmuumlbertragung kann das Experiment uumlber das konfigurierte Hyperterminal (rarr 454) lokal gesteuert werden Mit dem Hyperterminal koumlnnen als Text eingegebene Be-fehle oder Abfragen an den Mikrocontroller gesendet oder von diesem empfangen werden Der Computer muss wie bei der Programmuumlbertragung mit dem Interface per Null-Modem-Kabel uumlber die serielle Schnittstelle oder einen USB-Seriell-Adapter verbunden sein Das In-terface muss an die Versorgungsspannung anschlossen sein braucht aber nicht mit dem Experiment verbunden zu sein Abb 10 zeigt nach Eingabe von und von param im Hyper-terminal die Befehlsliste des Mikrocontrollers fuumlr das RCL Elektronenbeugung

21

Abb 10 Befehlsliste des Mikrocontrollers im Hyperterminal fuumlr das RCL Elektronenbeugung

Tab 4 gibt Erlaumluterungen zur Befehlsliste

BefehlAbfrage Erlaumluterung

DA x Am Eingang des DA-Wandlers wird die Zahl x (0 - 255) im Binaumlrcode

angelegt und die Ausgangsspannung des Hochspannungsnetzgeraumlts bzw die Beschleunigungsspannung der Elektronenkanone eingestellt

OnOff Hochspannungsnetzgeraumlt und Gluumlhkathode der Elektronenkanone ein-

oder ausschalten Beim Einschalten wird die Steuerspannung des Inter-face am Hochspannungsnetzgeraumlt auf asymp 0 V einstellt

Standby Ausgabe der eingestellten Standbyzeit von 300 s setSB x Standbyzeit einstellen

next Standby in Ausgabe der verbleibenden Standbyzeit (254 s) bis das Experiment

ausgeschaltet wird Eine negative Standbyzeit gibt die Zeit seit dem Ab-lauf der Standbyzeit an

Power On Delay Ausgabe der Verzoumlgerungszeit (2 s) bis das Hochspannungsnetzge-

raumltElektronenbeugungsroumlhre nach dem Ausschalten oder nach Ablauf der Standbyzeit erneut eingeschaltet werden kann

setPOD x Verzoumlgerungszeit einstellen

power on enabled in Ausgabe wie lange Hochspannungsnetzgeraumlt nicht eingeschaltet wer-

den kann Zeiten unter 0 bedeuten dass Power-On-Delay-Zeit ablaufen ist

Tab 4 Erlaumluterung der Befehle in Abb 10

23 Positionieren von Objekten In fast allen RCLs des RCL-Portals auszliger den RCLs Elektronenbeugung und Oszilloskop muumlssen Objekte rotatorisch oder translatorisch positioniert werden Eingesetzt werden Hyb-rid-Schrittmotoren als Aktoren eine Schrittmotorsteuerung von Trinamic als Erweiterungs-schaltung (TMC222-Modul) die Positionierungseinheit ausgedienter Flachbrett-Scanner und ein Referenz-Taster als Sensor

231 Hybrid-Schrittmotoren Abb 11 zeigt den vereinfachten schematischen Aufbau eines zweiphasigen Schrittmotors mit getrennten magnetischen Kreisen des Stators und einem permanent magnetisierten zweipoligen Rotor (Polpaarzahl 1)

22

Abb 11 Funktionsprinzip von Schrittmotoren Unipolare (links) und bipolare Schaltung (rechts)

von Schrittmotoren mit Bestromungstabellen fuumlr Voll- und Halbschrittbetrieb Darge-stellt ist der Schritt 0

Der Rotor verfuumlgt bei der dargestellten Polreihenfolge S-S-N-N des Stators uumlber eine stabile Stellung bei einer hypothetischen (magnetische Monopole) Polreihenfolge N-S-N-S gaumlbe es mit diesem Aufbau des Stators nur instabile Stellungen des Rotors Um den Rotor in Bewe-gung zu setzen muss die Polreihenfolge S-S-N-N im oder entgegen den Uhrzeigersinn (Rechts- oder Linksdrehung) weitergeschaltet und der Rotor vom magnetischen Schrittfeld mitgenommen werden

Die magnetische Polaritaumlt eines magnetischen Kreises laumlsst sich entweder durch zwei Spu-len konstanter elektrischer Polaritaumlt mit unterschiedlichem Wicklungssinn (herstellungstech-nisch zu aufwendig) durch eine Spule mit Mittelanzapfung und konstanter elektrischer Pola-ritaumlt der beiden Teilspulen (unipolare Schaltung) oder durch eine Spule mit wechselnder elektrischer Polaritaumlt (bipolare Schaltung) realisieren In Abb 11 sind dazu die elektrischen Beschaltungen und die Bestromungstabellen fuumlr eine Rechtsdrehung des Rotors dargestellt Fuumlr eine Linksdrehung des Rotors muss die Schrittfolge in umgekehrter Reihenfolge durch-laufen werden

Es wird zwischen Vollschrittbetrieb (graue Zeilen der Tabellen) mit Schrittwinkel 90deg bzw Schrittzahl 4 und Halbschrittbetrieb (alle Zeilen der Tabellen) mit Schrittwinkel 45deg bzw Schrittzahl 8 unterschieden Beim Vollschrittbetrieb werden immer beide magnetische Kreise bestromt und die N-S-Polachse des Rotors nimmt nur Stellungen zwischen den Statorpolen

23

an Beim Halbschrittbetrieb wird zwischen den Vollschritten nur einer der magnetischen Krei-se bestromt und die N-S-Polachse des Rotors kann zusaumltzlich 4 Stellungen in Richtung der Statorpole einnehmen Der Hybrid-Schrittmotor ist die am haumlufigsten vertretene Bauform von Schrittmotoren Abb 12 zeigt den Aufbau eines Hybrid-Schrittmotors

Abb 12 Aufbau eines Hybrid-Schrittmotors fuumlr unipolare und

bipolare Schaltung Daten Schrittwinkel 18deg max Drehmoment 155 Ncm

Der Stator besteht aus zwei Straumlngen mit je 4 in Reihe geschalteten Spulen Der Wick-lungssinn der Spulen ist in beiden Straumlngen so dass sich die Polfolge N-S-N-S uumlber den Umfang ergibt Beide Straumlnge zusammen ergeben unabhaumlngig von der Stromrichtung ei-ne Polfolge N-N-S-S-N-N-S-S uumlber den Umfang Ein zweipoliger Rotor (Polpaarzahl 1) kann im Vollschrittbetrieb 4 Stellungen annehmen Der Rotor des Hybridschrittmotors be-steht aber aus axial magnetisierten Permanentmagneten deren Polpaarzahl durch axial versetzte weichmagnetische Zahnscheiben auf 50 erhoumlht wurde Dadurch erhoumlht sich die Schrittzahl auf 4 sdot 50 = 200 und der Schrittwinkel verkleinert sich auf 360deg200 = 18deg Um stabile Rotorstellungen zu erhalten muumlssen die Statorsegmente ebenfalls gezahnt ausge-fuumlhrt werden

Ein solcher Hybrid-Schrittmotor vereint die Vorteile des Reluktanz- und des permanenter-regten Schrittmotors Ein kleiner Schrittwinkel wird durch das von Reluktanzschrittmotoren bekannte Prinzip der Erzeugung einer Vielzahl von Polen des Rotors durch Zahnscheiben erzielt Ein hohes Drehmoment wird durch das von permanenterregten Schrittmotoren be-kannte Prinzip der Ausfuumlhrung des Rotors als Permanentmagnet erzielt Aufgrund der bi-filaren Wicklung besteht jede Statorwicklung aus zwei Teilspulen und der Schrittmotor kann in unipolarer (alle 6 Anschluumlsse verwendet) und bipolarer Schaltung (nur 4 An-schluumlsse verwendet gemeinsamer Anschluss der Teilspulen bleibt unverwendet) wie in Abb 12 dargestellt verwendet werden

24

Schrittmotoren erlauben nicht nur das Bewegen sondern innerhalb der Leistungsgrenzen (keine Schrittverluste) auch ein genaues Positionieren von Objekten Bei bekannter Schrittzahl auf einer gemessenen Strecke oder Schrittzahl fuumlr den Vollwinkel koumlnnen aus-gehend von einer Referenzstellung Objekte translatorisch oder rotatorisch positioniert werden

232 Schrittmotorsteuerung und Positionierungsmechanik Im Folgenden wird die bei allen RCLs mit Schrittmotoren eingesetzte Schrittmotorsteuerung die Mechanik zur translatorischen Positionierung von Objekten und die Funktionsweise eines Referenztasters beschrieben

Schrittmotorsteuerung Abb 13 zeigt das Blockschaltbild und das im Selbstbau herstellbare TMC222-Modul (rarr 4221 rarr 4222) mit dem IC TMC222 von Trinamic zur Steuerung bipolarer 2-phasiger Hybrid-Schrittmotoren

Abb 13 Blockschaltbild (links) und Platine des TMC222-Moduls (rechts) mit IC TMC 222 auf

der Loumltseite der Platine

Der IC TMC222 enthaumllt ein I2C-Interface zum Anschluss an den I2C-Bus des Mikrocon-trollers (Ports PC0 und PC1) Die 10 kΩ-Pull-up-Widerstaumlnde heben die Takt- (SCL clock) und Datenleitung (SDA data) auf ein Potential von 5 V Der IC TMC222 enthaumllt ei-nen Motortreiber fuumlr Spulenstroumlme bis zu 800 mA und einen Motor-Controller zur Steue-rung der Spulenstroumlme Ein Vorteil des TMC-Moduls ist der relativ geringe Programmier-aufwand fuumlr den Mikrocontroller (rarr 4223) da der IC TMC222 nach Uumlbergabe der Steu-erungsparameter (Drehrichtung Drehzahl hellip) vom Mikrocontroller die Ansteuerung des Schrittmotors uumlbernimmt Der IC TMC222 unterstuumltzt das Beschleunigen und Abbremsen des Schrittmotors enthaumllt einen Schrittpositionszaumlhler und unterstuumltzt Mikrostepping (va-riable Spulenstroumlme zur elektronischen Verkleinerung des Schrittwinkels und groumlszligerer Laufruhe)

25

Falls in RCLs Gleichstrommotoren mit houmlheren Drehzahlen als Schrittmotoren benoumltigt werden kann eine andere Erweiterungsschaltung (rarr 424) eingesetzt werden

Positionierungsmechanik und Referenz-Taster Die Mechanik zur rotatorischen Positionierung von Objekten kann meist kostenguumlnstig selbst oder durch Personal in einer Werkstatt angefertigt werden Abb 14 zeigt eine kos-tenguumlnstige Loumlsung zur translatorischen Positionierung von Objekten

Abb 14 Positionierungseinheit eines Flachbrett-

Scanners Schrittmotor (1) Getriebe (2) Li-nearfuumlhrung (3) Antriebsriemen (4) und er-gaumlnzter Referenz-Taster (5)

Falls der geometrische Aufbau und die geforderte Positionierungsgenauigkeit des RCLs es zulassen kann die Schrittmotor-Positionierungs-Einheit ausgedienter Flachbrett-Scanner zur translatorischen Positionierung von Objekten verwendet werden In Einzelfaumll-len wie dem RCL Weltpendel kann die Positionierungsmechanik auch selbst angefertigt werden Der Referenz-Taster in Abb 14 wird eingesetzt um abzufragen ob ein vom Schrittmotor bewegtes Objekt die Position des Tasters erreicht hat und um diese Position zu referenzieren Ohne eine solche Referenzierung kann die Positionierung eines Objekts langfristig ungenau werden So kann z B beim RCL Weltpendel das Auftreffen der Kugel auf den Magneten zum Uumlberspringen von Schrittmotorstellungen fuumlhren Der Zustand des Referenz-Tasters in Abb 15 wird z B uumlber den Port PA0 des Mikrocontrollers abgefragt

Abb 15 Referenz-Taster zum referenzieren der

Position des bewegten Objekts

26

Zu Problemen koumlnnen undefinierte Zustaumlnde der Eingaumlnge des Mikrocontrollers fuumlhren wie sie beim Prellen dem zeitlich begrenzten schwingen eines Tasters beim Oumlffnen oder Schlieszligen entstehen Abhilfe schafft ein passend dimensionierter parallel zum Taster ge-schalteter Kondensator Bei geoumlffnetem Taster ist der Kondensator aufgeladen Beim Schlieszligen haumllt der Kondensator die Spannung uumlber die Schwingphase trotz kurzzeitig wieder geoumlffnetem Schalter noch aufrecht Analoges gilt fuumlr den Uumlbergang vom geschlos-senen zum geoumlffneten Taster

3 Ferngesteuertes RCL 31 RCL-Server Fuumlr den Betrieb eines RCLs wird ein RCL-Server benoumltigt (larr 11) Vorausgesetzt wird dass bei einem neuen Computer alle notwendigen Treiber (Ethernet Video Audio hellip) zum Be-trieb der Hardware des Computers und Windows XP Professional mit Service Pack 3 instal-liert sind Ein Benutzerkonto braucht nicht angelegt zu werden

Der RCL-Server benoumltigt einen Internetzugang mit statischer IP-Adresse und Uploaddatenra-te von mindestens 200 kbits (DSL 2000) fuumlr die fluumlssige Wiedergabe von Bewegungen in Webcambildern Die statische IP-Adresse wird von der Institution am Standort des RCLs vergeben oder kann von Privatpersonen bei einem Provider beantragt werden Mit folgenden Schritten wird der RCL-Server eingerichtet

Internetzugang einrichten (rarr 451) und im Browser testen

Checken ob die Windows Firewall aktiviert ist

Virenschutzproramm Avira Antivir Personal herunterladen (larr Tab 1) installieren und ak-tualisieren

Uumlber Windows Update alle Updates von Windows XP Professional installieren

Fernwartungssoftware TeamViewer 6 Vollversion (larr Tab 1) herunterladen und auf dem RCL-Server und dem eigenen Computer installieren (rarr 455)

Webeditor Notepad++ herunterladen installieren und aktualisieren (larr Tab 1)

Videoserver WebcamXP 5 herunterladen und installieren (rarr 453)

Paket XAMPP herunterladen und installieren (rarr 452) Verknuumlpfungen mit den Dateien xampphtdocsapache_startbat und xampphtdocsapache_stopbat auf dem Desktop oder in der Schnellstartleiste erstellen und Webserver mit erstgenannter Verknuumlpfung starten Webserver durch Eingabe von 127001 oder localhost ins Adressfeld des Brow-sers testen Bei erfolgreichem Test werden die im Ordner xampphtdocs abgelegten Webseiten von XAMPP dargestellt Statische IP-Adresse des RCL-Servers im Browser eines anderen Computers mit Internetzugang eingegeben Bei erfolgreichem Test werden die Webseiten von XAMPP dargestellt In der Datei xamppphpphpini unter Resource Limits die max_execution_time mit dem Windows-Editor von 60 auf 300 erhoumlhen und die

27

Datei speichern damit PHP bei Befehlen mit laumlngerer Ausfuumlhrungsdauer keine Fehler-meldung liefert

Ordner xampphtdocs mit den Webseiten von XAMPP in xampphtdocs_xampp um-benennen und fuumlr spaumltere Testzwecke nicht loumlschen RCL-Ordner htdocs herunterladen (larr Tab 1) extrahieren und in das Verzeichnis xampp verschieben

Abb 16 zeigt die Struktur des RCL-Ordners htdocs

Abb 16 Struktur des RCL-Ordners htdocs RCL-spezifisch anzupassende Dateien sind grau

hinterlegt

Der geoumlffnete Ordner Labor enthaumllt alle PHP- und HTML-Dateien bzw Programmierungen fuumlr die Funktionalitaumlt des Bedienfelds der Laborseite (larr 11 Abb 3) An das RCL anzupas-sen sind die portalsprachenunabhaumlngigen Dateien configphp und experimentphp sowie fuumlr jede Portalsprache die Dateien defaultconf und experimenttpl in den Ordnern eng fra ger und ita

Datei configphp Zeit bis zum automatischen Logout beim Experimentieren mit dem RCL eintragen

Datei experimentphp PHP-Basisprogrammierung um die RCL-spezifische PHP-Programmierung erweitern (rarr 432)

Datei defaultconf Name des RCLs (z B Elektronenbeugung) in jeder Portalsprache ein-getragen

Datei experimenttpl HTML-Basisprogrammierung um RCL-spezifische Ein- und Ausga-befelder erweitern (rarr 433)

28

32 Laborseite 321 Steuerung des RCLs uumlber das Bedienfeld Das Bedienfeld der Laborseite (larr 11 Abb 3) wird von der Dateien indexphp und experi-menttpl erzeugt Befehle wie das Anklicken von Buttons Eingaben und Auswahl aus Listen werden in ein HTML-Formular mit Formularfeldern in der Datei experimenttpl geschrieben Die Daten werden von der PHP-Datei experimentphp ausgewertet und uumlber die serielle Schnittstelle dem Mikrocontroller-Programm zur Steuerung des Experiments uumlbergeben Die Dateien experimentphp und experimenttpl wurden getrennt angelegt um Code und Design zu trennen und nur das Design in der Datei experimenttpl an die Portalsprache anpasst werden muss

Tab 5 enthaumllt Ausschnitte der HTML-Datei experimenttpl (rarr 433) der Datei experi-mentphp (rarr 432) und des Mikrocontroller-Programms (rarr 431) fuumlr das RCL Elektronen-beugung

29

Code mit Erlaumluterung

expe

rimen

ttpl

1821 Tag ltformgtltformgt definiert ein Formular 18 Attribut action legt fest dass Formulardaten in der Datei indexphp verarbeitet werden Uumlbertragen

werden eine Session-ID ($sid) um exklusiven Zugriff des jeweilgen Besuchers zu sichern und ($portal) um die vom Besucher gewaumlhlte Sprache beizubehalten post ist eine Uumlbertragungsmethode zwischen Browser und Webserver und gibt die die vom Besucher gewaumlhlte Aktion zum Ansteuern des Experiments an die Datei experimenttpl weiter

20 Erzeugt im Bedienfeld den Sendebutton (submit) mit der Aufschrift Elektronenroumlhre einschalten (valu-e)

19 Unsichtbares Feld (hidden) mit Variablennamen action und Wert RoumlhreAn Der Variablenname ac-tion stimmt nur zufaumlllig mit action in Zeile 18 uumlberein

expe

rimen

tphp

24 Die Funktion wird als Eventhaumlndler bezeichnet weil je nach uumlbergebener Aktion - siehe Zeile 19 in experi-

menttpl - die entsprechenden Anweisungen (case) ausgefuumlhrt werden 37 Fuumlr den Fall dass die Variable $action den Wert RoumlhreAn hat wird die Funktion power_on() aufgeru-

fen

59 Schreibt in die Logdatei logtxt den Text RoumlhreAn 6061 Oumlffnet den in der Datei configphp zentral gespeicherten Com-Port an den das Interface angeschlossen ist

oder gibt Fehlermeldung Can not access file system im Bedienfeld aus falls der Com-Port sich nicht oumlff-nen laumlsst

62 Sendet die Zeichenfolge On und chr(13) (entspricht der Betaumltigung der Return-Taste im Hyperterminal) an den Mikrocontroller

63 Schlieszligt serielle Schnittstelle

Que

llcod

e M

ikro

cont

rolle

r

166 Wird uumlber die serielle Schnittstelle der Befehl on empfangen und ist das Einschalten zulaumlssig (Zeiten fuumlr

PowerOnDelay und Standby abgelaufen) dann hellip 167 Hochspannungsnetzgeraumlt einschalten 168 Der DA-Wandler PCF8591 wird unter seiner Adresse PCF8591 = 01001000 angesprochen Parameterein-

stellungen mit 01000000 und Ausgangsspannung auf 0 V einstellen 169 Setzt Standby auf vorgegebene Standbyzeit zuruumlck 171 Gibt Meldung aus wie lange PowerOnDelay noch dauert

Tab 5 Uumlbertragung des Befehls Elektronenroumlhre einschalten vom Bedienfeld zum Experi-ment

30

Anhand der Erlaumluterungen der Programmcodes koumlnnen die Ablaumlufe zwischen dem Druumlcken des Buttons Elektronenroumlhre einschalten und dem Einschalten der Elektronenbeugungs-roumlhre oder der Eingabe einer Beschleunigungsspannung und dem Anlegen einer Beschleu-nigungsspannung verfolgt werden Uumlber das Bedienfeld koumlnnen nur die von der Datei expe-rimenttpl bereitgestellten Befehle on und da der insgesamt implementierten Befehle (rarr 22 Abb 10) aufgerufen werden

322 Videouumlbertragung im Webcamfeld Zur Aufnahme von Livebildern des Experiments koumlnnen USB-Webcams und IP-Kameras (Netzwerkkameras) eingesetzt werden Teurere IP-Kameras muumlssen eingesetzt werden wenn die Kamera wie z B beim RCL Roboter im Labyrinth zu weit vom Computer entfernt ist oder eine besonders lichtempfindliche Kamera aus der Uumlberwachungstechnik wie z B beim RCL Millikan-Versuch benoumltigt wird W-LAN-Kameras kommen zum Einsatz wenn Bil-der von einem beweglichen Objekt aus wie z B beim RCL Roboter im Labyrinth uumlbertra-gen werden sollen

Das Videoserverprogramm webcamXP 5 erkennt beim Aufrufen automatisch an den RCL-Server angeschlossenen USB-Webcams Vor dem Kauf einer IP-Kamera ist zu pruumlfen ob das Modell unterstuumltzt wird14 IP-Kameras muumlssen im Kontextmenuuml der Videoquelle konfigu-riert werden Abb 17 zeigt das Webcambild einer USB-Webcam vom Szintillationsschirm der Elektronenbeugungsroumlhre

Abb 17 Webcambild des Szintillationsschirms der Elektro-

nenbeugungsroumlhre einer USB-Webcam in webcamXP 5 beim RCL Elektronenbeugung

14 Vgl Moonware Studios webcamXP IP-cameras for webcamXP

31

Zum Einbinden des Webcambilds in die Laborseite des RCLs wird die laborsprachenabhaumln-gige Datei videohtm (rarr 434) in den Ordnern eng fra ger und ita verwendet Standardmauml-szligig werden zwei Webcambilder und Screenshots unterstuumltzt der Code fuumlr weitere Webcam-bilder kann durch copy and paste hinzugefuumlgt werden

Unter den Technologien Java Javaskript Flash und Windows Media fuumlr die Wiedergabe ei-nes Livestreams auf eine Webseite wurde Javaskript gewaumlhlt weil die anderen Technologien die Installation des Java Runtime Environments (JRE) des Flash- oder Windows Media Players durch den Besucher eines RCLs voraussetzen Die Wiedergabe des Livestreams mit einem Java-Applet startet zudem erst verzoumlgert nachdem das Applet geladen ist und verfuumlgt uumlber eine zu geringe Wiedergabegeschwindigkeit

33 Standard-Lernumgebung Bestandteil der Entwicklung eines RCLs ist die Erstellung einer Standard-Lernumgebung zum RCL Abb 18 zeigt exemplarisch fuumlr die deutschen Webseiten im Ordner ger das Menuuml (larr 11 Abb 3) und die Dateistruktur der Standard-Lernumgebung

Abb 18 Deutschsprachiges Menuuml und Dateistruktur der Standard-Lernumgebung

RCL-spezifisch anzupassende Dateien sind grau hinterlegt

Die englischen Dateinamen introductionhtm setuphtm hellip im Ordner ger korrespondieren mit den deutschen Menuumlpunkten Wird das RCL unter dem Menuumlpunkt RCLs des RCL-Portals aufgerufen dann ruft die Frameset-Datei indexhtm die Dateien menuumlhtm und intro-ductionhtm auf und das Menuuml wird zusammen mit der Webseite Einstieg dargestellt Die Wahl weiterer Menuumlpunkte ruft jeweils die korrespondiere Datei im Ordner auf Bei Wahl des Menuumlpunkts Labor werden mit der Frameset-Datei laboratoryhtm die Dateien videohtm fuumlr das Webcamfeld und die Datei laborindexphp fuumlr das Bedienfeld aufgerufen

32

Im Ordner docsmaterial werden alle Dokumente fuumlr die Webseite Material im Ordner docsothers die Dokumente anderer Webseiten abgelegt Im Ordner docsoriginals sind die Originale von Dokumenten wie z B Word-Dateien und der verwendeten Bilder abgelegt Grafikdateien der Webseiten Einstieg hellip Auswertung hellip Betreuung werden in gleichnami-gen Ordnern wie z B imagesanalysis abgelegt Bei sprachenunabhaumlngigen Grafikdateien wird unter dem Dateinamen abbx bei sprachenabhaumlngigen unter dem Dateinamen abbx_lan mit lan = eng fra ger und ita gespeichert Analoges gilt fuumlr die als gif-Grafiken forxgif oder forx_langif zu speichernden Formeln Originale von Bildern werden im Ordner imagesoriginals abgelegt Die Webseite zur Datei htdocsindexhtm enthaumllt zum lokalen Aufrufen der Standard-Lernumgebung Links zu den vier Index-Dateien in den Ordnern eng fra ger und ita Die Stylesheet-Datei htdocsrcl_stylecss enthaumllt die Styles der Webseiten

In der Regel werden Standard-Lernumgebungen der RCLs des RCL-Portals von verschiede-nen Personen erstellt Fehlende Gestaltungs- und Formatierungsregeln fuumlhren zu einem un-einheitlichen inattraktivem Erscheinungsbild des RCL-Portals Tab 6 gibt einen Uumlberblick der wichtigsten Gestaltungs- und Formatierungsregeln

Element Richtlinien

Gliederung

Die Webseiten Einstieg Aufbau Aufgaben Diskussion Material und Support enthalten vorgegebene Gliederungspunkte teilweise mit ausgefuumlhrten Uumlberschriften

Die umfangreicheren Webseiten Theorie und Auswertung enthalten ein Inhaltsverzeichnis mit internen Links zu Gliederungspunkten Zwischen Punkten der ersten Gliederungsebene (1 2 hellip) ist ein zwei-zeiliger Abstand (ltpgtampnbspltpgtltpgtampnbspltpgt) zwischen Punkten der zweiten (11 12 hellip) und Punkten der nur falls unbedingt notwendig dritten 111 112 hellip) Gliederungsebene ein einzeiliger Abstand zu waumlhlen Nach Abbildungen und Tabellen folgt ein einzeiliger Abstand zum nachfolgenden Text

Links Keine internen Links zwischen den Webseiten der Lernumgebung Externe Links werden prinzipiell in einem neuen Browserfenster geoumlffnet (blank)

Abbildung

Alle Abbildungen erhalten fortlaufend beginnend mit 1 nummerierte Abbildungsunterschriften der Form Abb x hellip

Abbildungen sind moumlglichst spachenunabhaumlngig d h ohne Texte in der Abbildung zu erstellen Zur Beschriftung koumlnnen z B Zahlen verwendet werden die in der Abbildungsunterschrift oder im Text er-laumlutert werden

Tabellen Tabellen werden in jeder Webseite fortlaufend beginnend mit 1 nummeriert Tabellen sind zu zentrieren Rahmenstaumlrke 1

Formeln

Formeln sind nicht als Textzeichen oder Grafik im laufenden Text einzufuumlgen sondern stets zentriert in einer eigenen Zeile als gif-Grafik

Zum Erstellen der Formel-Grafiken eignet sich z B der Formel-Editor MathType15 mit der Aufloumlsungs-Einstellung 120 dpi fuumlr InternetGif

Formeln brauchen im Rahmen des begrenzten Umfangs der Webseiten nicht nummeriert zu werden Groumlszligen-symbole

Griechische Groumlszligensymbole und mathematische Symbole sind nicht als Grafiken im laufenden Text sondern als HTML-Code einzufuumlgen Eine Zeichenreferenz findet sich bei Selfhtml16

Styles Zur Formatierung der Webseiten werden aus der Stylesheet-Datei nur die drei Styles Uumlberschrift fuumlr

die Uumlberschriften Bildunterschrift fuumlr Abbildungs- und Tabellenunterschriften und Tabellentext fuumlr Tex-te in Tabellen benoumltigt

Tab 6 Richtlinien zur Gestaltung und Formatierung der Standard-Lernumgebung

Detailliertere Informationen zum Layout der Standard-Lernumgebung koumlnnen dem RCL-Ordner und dem Erscheinungsbild der Webseiten von RCLs in Browsern entnommen wer-den

15 Vgl Design Science MathType 16 Vgl Selfhtml HTML-Zeichreferenz

33

4 ANHANG

34

41 Interface in Basisschaltung 411 Schaltplan und Bauteilliste Abb 19 zeigt den Schaltplan der Basisschaltung des Interface und Tab 7 die dazugehoumlrige Bauteilliste

Abb 19 Basisschaltung des Interface

Nr Anzahl Kurzbeschreibung des Bauteils Best-Nr bei Reichelt electronic

Einzelpreis in euro

0 1 Epoxyd-Platine (190x112 mm) mit Anteil Loumltpunktraster (Spezi-

alanfertigung) - asymp 10

1 1

Epoxyd-Fotoplatine einseitig 160x100 mm 15 mm 35 microm Epoxyd-Lochrasterplatine 160x100 mm 15 mm 35 microm

BEL 160x100-1 UP 832EP

170 420

1 1 Hohlstecker-Einbaubuchse gewinkelt Loumltfahnen 21 mm HEBW 21 018 2 1 D-SUB-Stecker 9-polig gewinkelt RM 94 D-SUB ST 09EU 029 3 1 Schottky Diode DO41 40 V 1 A SB 140 008 4 1 Draht von abgeschnittenem Beinchen aus Pos-Nr 3 - - 5 1 IC-Sockel 16-polig superflach gedreht vergoldet GS 16P 029 6 1 IC-Sockel 40-polig superflach gedreht vergoldet GS 40P 061 7 1 2x10-pol-Stiftleiste gerade RM 254 SL 2X10G 254 007 8 1 Metallschichtwiderstand 100 kΩ Metall 100k 0082 9 1 Elektrolytkondensator 10x16 mm 470 microF RM 50 mm RAD 47025 006 10 1 Elektrolytkondensator 63x11 mm 100 microF RM 25 mm RAD 10016 004 11 5 Elektrolytkondensator 5x11 mm 10 microF RM 20 mm RAD 1035 004 12 2 Keramik-Kondensator 33 pF Kerko 33p 006 13 3 Vielschicht-Keramikkondensator 100 nF 20 Z5U-25 100n 004

35

14 1 Standardquarz Grundton 110592 MHz 110592-HC49U-S 018 15 1 Spannungsregler 1 A positiv TO-220 microA 7805 028 16 1 Kuumlhlkoumlrper fuumlr Gehaumluse TO-220 99KW V FI356 066 17 1 Zylinderkopfschraube Schlitz M3 10 mm fuumlr Kuumlhlkoumlrper M3x10mm 160 18 2 Sechskantmutter M3 fuumlr Kuumlhlkoumlrper SK M3 001 19 1 Stecker-Schaltnetzteil 12 V 2250 mA MW 3IP25GS 1150 20 1 RS232-Driver DIL-16 MAX 232 CPE 041 21 1 ATmega AVR-RISC-Controller DIL-40 ATmega16-16 DIP 420 22 3 10-poliger Wannenstecker RM 254 stehend (optional) WSL 10G 009 23 1 14-poliger Wannenstecker RM 254 stehend (optional) WSL 14G 014 24 1 40-polige Stiftleiste 1-reihig gerade RM254 (optional) SL 1x40G 254 023 25 1 Kunststoffgehaumluse 1982x1124x760 mm (Serientyp 202) - asymp 10 euro 26 1 D-SUB Nullmodem-Kabel 9-pol BUBU 3 m AK 143 155 27 x DIN-Einbaubuchse 5-pol Schraubver 360deg (optional) DIO-50W EMS 185 28 x DIN-Einbaubuchse 8-polig Schraubversch 270deg (optional) DIO-80SN EMS 180 29 x Pfostenstecker 10-polig mit Verrieglung gew (optional) PSL 10W 028 30 x Klemmleiste RM 254 Oumlffnungshebel 8-polig (optional) Wago 233 220

Tab 7 Bauteilliste mit Bestellnummer und Einzelpreisen der Bauelemente bei Reichelt electronic (Stand 23102010)

Anhand der Bauteilliste in koumlnnen die elektronischen Bauelemente der Basisschaltung (larr Tab 7 Nr 0 ndash 21 optional Nr 22 - 24) bei Reichelt electronic bestellt werden Das Gehaumluse des Interface (larr Tab 7 Nr 25) sollte vom Hersteller HAGOTECH GmbH bezogen werden Weiterhin wird ein Nullmodemkabel (larr Tab 7 Nr 26) zur Verbindung des Interface mit dem Computer benoumltigt Sensoren und Aktoren des Experiments koumlnnen mit optionalen Steck-verbindern (larr Tab 7 Nr 27 - 30) und entsprechende Kabelverbindungen an das Interface angeschlossen werden Die Nummern 0 - 25 stimmen mit der angegebenen Bestuumlckungs-reihenfolge auf der Platine uumlberein Das Interface kostet in der Basisschaltung ca 50 euro

412 Bestuumlckung der Platine Abb 20 zeigt zur Bestuumlckung der Platine benoumltigte Werkzeuge

Abb 20 Werkzeuge zur Bestuumlckung der Platine des Interface

36

Loumltkolben mit feiner Spitze in Meisselform 2 mm oder Loumltstation (1) Loumltzinnabsauger zum Entfernen von Loumltzinn (2) Nasser Schwamm zum Reinigen der Spitze des Loumltkolbens (3) Loumltzinn mit Durchmesser 08 - 10 mm (4) Flachspitzzange zum Biegen von Anschluumlssen der Bauelemente (5) Seitenschneider zum Kuumlrzen der Beinchen von Bauelementen (6) Multimeter zum Pruumlfen der Funktionsfaumlhigkeit der Schaltung (7) Sekundenkleber zur Befestigung von Bauelementen Kleine Bohrmaschine z B von Dremel und 08 mm Bohrer oder duumlnne Rundfeile zum

Weiten von Loumlchern auf der Platine des Interface

Abb 21 zeigt die Platine des Interface von der Loumltseite in der Spezialanfertigung der Elekt-ronik-Werkstatt an der Technischen Universitaumlt Kaiserslautern und in der Selbstbauvariante (larr Tab 7 Nr 0) Abb 22 zeigt das Platinenlayout

Abb 21 Platine des Interface von der Loumltseite als Spezialanfertigung (links) und der Selbstbauvariante

(rechts)

Abb 22 Layout zur Herstellung des geaumltzten Teils der

Platine in der Selbstbauvariante

37

In der Selbstbauvariante kann anhand des Platinenlayouts eine selbst geaumltzte Platine fuumlr die Basisschaltung auf einer Platine im Europakartenformat hergestellt und diese in der Laumlnge gekuumlrzt werden Eine gekuumlrzte Lochrasterplatine bildet den zweiten Teil der Platine Mit den optionalen vier Wannensteckern (larr Tab 7 Nr 22 - 23) oder den vier Stiftleisten (larr Tab 7 Nr 24) an den Ports des Mikrocontrollers koumlnnen leicht elektrische Verbindungen zum Rasterteil der Platine herstellt werden Abb 23 zeigt die fertig bestuumlckte Platine mit den Nummern aus Tab 7

Abb 23 Bestuumlckte Platine des Interface mit nummerierten Bauelementen

Tab 8 beschreibt das Einloumlten der elektronischen Bauelemente anhand der Nummern aus Tab 7 und in der angegebenen Reihenfolge

Nr Bauelement Beschreibung des Einbaus

0 Spezialanfertigung und Selbst-bauvariante der Epoxydharz-

Platine

1

Stromversorgungsbuchse ndash Hohlstecker 21 mm

Wenn die Loumltbeine nicht durch die Loumlcher der Platine passen die Loumlcher mit einer runden Schluumlsselfeile aufweiten

Stromversorgungsbuchse mit Sekundenkleber vor dem Festloumlten auf der Pla-tine fixieren da diese mechanischen Belastungen durch das Einstecken und Herausziehen des 12 V -Steckers ausgesetzt ist

Wahlweise kann die 25 mm-Version der Buchse verwendet werden

2

RS232 Datenstecker

RS232 Datenstecker mit Sekundenkleber vor dem Festloumlten auf der Platine fixieren da dieser mechanischen Belastungen durch das Einstecken und Herausziehen des Null-Modem-Kabels ausgesetzt ist

Alle Beinchen und Befestigungsstifte zur houmlheren Stabilitaumlt anloumlten

3

Ein Ring an einer Seite der Diode (hier links weiszlig) zeigt die Durchlass- bzw Sperrrichtung der Diode an Die Position des Ringes entspricht der Position des Balkens im Schaltungssymbol

38

Diode ndash SB140 Auf der Platine muss der Ring auf der von der Stromversorgungsbuchse ab-

gewandten Seite liegen

4 Drahtbruumlcke

Vor dem Einloumlten des 40-poligen IC-Sockels (Nr 5) muss eine Drahtbruumlcke unter diesem eingeloumltet werden Dazu koumlnnen die abgeschnittenen Beinchen der bereits eingeloumlteten Diode (Nr 3) verwendet werden

5 6

IC-Fassungen

Die 16-polige und 40-polige IC-Fassungen besitzen eventuell eine Markie-rung fuumlr Pin1 (z B Kerbe in der Stirnseite Punkt Pfeilhellip) als Hilfe fuumlr das richtige Einstecken der ICs Die Markierungen muumlssen bei beiden Fassungen nach oben also zum naumlchstliegenden Rand der Platine zeigen

Die ICs unbedingt noch nicht einstecken

7

ISP-Stiftleiste

Die doppelreihige ISP-Stiftleiste dient der Programmierung des Mikrocontrol-lers mit dem AVR-ISP-Programmer (ISP steht fuumlr In System Programming)

ISP-Stiftleiste auf 2 x 5 Stifte kuumlrzen und mit den kurzen Beinchen einloumlten so dass auf die langen Stifte der AVR-ISP-Programmer gesteckt werden kann

8

Widerstand 100 kΩ

Den 100 kΩ-Widerstand rechts neben der ISP-Stiftleiste einloumlten

9

10

11

Elkos

Bei den verwendeten Elektrolyt-Kondensatoren ist die Polung zu beachten (langes Beinchen = Plus-Pol) Weiterhin ist auf den Kondensatoren ein wei-szliger Streifen mit Minus-Zeichen aufgedruckt Die Kondensatoren sollten eine Spannungsfestigkeit von mindestens 16 V besser 25V besitzen

Auf der Kupferseite der Platine zeigt die Form der Loumltaugen die Polung an Rundes Loumltauge = Plus quadratisches Loumltauge = Minus

Der 470 microF Kondensator wird mit dem weiszligen Streifen in Richtung Stromver-sorgungsbuchse direkt unter diese montiert

Der 100 microF Kondensator sitzt direkt unter der 16-poligen IC-Fassung Sein weiszliger Streifen (Minus-Pol) zeigt in Richtung der Stromversorgungsbuchse

Vier der 10 microF Kondensatoren werden links neben der 16-poligen IC-Fassung montiert Deren Polung ist wie folgt Unterster Kondensator Minus nach oben naumlchster Kondensator Minus nach unten die beiden oberen Kondensatoren mit Minus nach oben

Ein weiterer 10 microF Kondensator wird rechts neben die 16-polige IC-Fassung geloumltet Sein Minus-Streifen zeigt nach unten

12

13

Keramik-Kondensatoren

Die Beschriftung 104 bedeutet 10e4 pF = 100 nF Die beiden 33 pF-Kerkos (Keramik-Kondensatoren) werden direkt nebenei-

nander rechts neben die 16-polige IC-Fassung geloumltet Zwei 100 nF-Kondensatoren werden unter dem 470 microF-Elko eingeloumltet ein

weiterer mittig an der linken Seite der 40-poligen IC-Fassung

14

Quarz

Als Quarz wird ein 110592 MHz-Typ verwendet Bei dieser Frequenz ist eine fehlerfreie Kommunikation uumlber RS232 mit 9600 Baud moumlglich Fuumlr den AT-mega16 koumlnnen Quarze bis 16 MHz eingesetzt werden Details siehe Daten-blatt

Der Quarz wird direkt rechts neben die beiden 33 pF-Kerkos geloumltet Die Ori-entierung des Quarz spielt keine Rolle

15

16

17

18

Der Spannungsregler L7805 erzeugt eine stabilisierte Spannung von 5 V Es muss ein Kuumlhlkoumlrper zur Waumlrmeabfuhr vom Spannungsregler verwendet werden

Vor dem Einloumlten zwischen Spannungsregler und Kuumlhlkoumlrper etwas Waumlrme-leitpaste aufgetragen Beide Bauteile fest mit einer Schraube M3x10 und ei-ner 1 Mutter verschrauben

Dann den Spannungsregler einloumlten um 90deg abzubiegen das uumlberstehende Gewinde durch das vorgesehene Loch stecken und alles mit einer 2 Mutter auf der Platine befestigen

1 Mutter

2 Mutter

Schr

aube

L7805

Platine

KuumlhlkoumlrperWaumlrmeleitpaste

Beinchen

Loumlten

39

Spannungsregler L7805 Kuumlhl-koumlrper und Montage

19

Steckernetzteil

Funktionskontrolle vor dem Einsetzen des Mikrocontrollers Polung der Elektrolyt-Kondensatoren (Elkos) pruumlfen Sind alle Beinchen angeloumltet Hat das Loumltzinn an den Beinchen und der Pla-

tine guten Kontakt Sind eventuell zwei benachbarte Beinchen unbeabsichtigt durch Loumltzinn verbunden Alle Loumltverbindungen nochmals genau z B mit ei-ner Lupe pruumlfen

Probeweise das Stecker-Netzteil an die Buchse anschlieszligen Am 100 nF-Kondensator links mittig der 40-poligen IC-Fassung muumlssen 5 V anliegen

Versorgungsspannung unbedingt wieder von der Platine trennen

20

21

ICs MAX232 und ATmega16

Die Nuten auf den ICs am linken Rand muumlssen nach oben zeigen d h Pin1 ist bei beiden ICs in der Abbildung links unten und auf der Platine oben links

Manchmal passen die Beinchen der ICs nicht in die Fassung weil die Fas-sung scheinbar zu schmal ist Dann den IC seitlich mit einer Beinchen-Reihe flach auf den Tisch legen den IC-Koumlrper links und rechts greifen und Bein-chen durch leichten Druck biegen Einzelne verbogene Beinchen vorsichtig mit einer kleinen Flachzange richten

22

23

Wannenstecker 10- und 14-polig

Wannenstecker an den vorgesehe-nen Stellen mit der Nut gegen Ver-polung in Richtung des naumlherliegen-den Platinenrands einloumlten

Die Abbildung rechts zeigt die Pin-Belegung der Wannenstecker

24

Stiftleiste 8-polig 40-pol Stiftleiste in 4 jeweils 8-polige Stuumlcke zerteilen und einloumlten

25

Kunststoffgehaumluse

In der Selbstbauvariante der Platine (Nr 0) vor dem Einsetzten der Platine in das Gehaumluse passend positionierte Kunststoffstege am Gehaumluseboden fest-kleben

Tab 8 Bestuumlckung der Platine des Interface mit Bauelementen

42 Erweiterungsschaltungen 421 Uumlbersicht In Tab 3 sind von RCLs des RCL-Portals Sensoren und Aktoren mit den dazugehoumlrigen Er-weiterungsschaltungen zusammengestellt Da alle RCLs obligatorisch uumlber mindestens eine Webcam verfuumlgen sind diese unter den Sensoren nicht aufgefuumlhrt Die wenigen Erweite-rungsschaltungen fuumlr Sensoren sind unter Sensoren in Klammern aufgelistet Unter Aktoren werden auszliger elektro-mechanischen Wandlern auch gesteuerte Geraumlte oder Bauelemente verstanden Anzeigeinstrumente sind unter Aktoren nur aufgefuumlhrt wenn sie direkt vom In-terface gesteuert werden Mit gekennzeichnete Erweiterungsschaltungen befinden sich au-szligerhalb des Interface

40

RCL Sensoren Aktoren Erweiterungsschaltungen fuumlr Aktoren

Beugung und Interferenz I Referenz-Taster

Schrittmotor (Rotation) Schrittmotorsteuerung Laser-Modul Geschaltete Spannungsversorgung

Beugung und Interferenz II

4 Referenz-Taster Lichtsensor

4 Schrittmotoren (Translation) 4 Schrittmotorsteuerungen 5 Laser-Module Geschaltete Spannungsversorgung LED fuumlr Position des

Lichtsensors Geschaltete Spannungsversorgung

LED fuumlr Linealbeleuchtung Geschaltete Spannungsversorgung

Elektronen-beugung

Hochspannungsnetzgeraumlt Geschaltete Spannungsversorgung Hochspannungsnetzgeraumlt Steuerung der Hochspannung

Fotoeffekt 2 Referenz-Taster Photozelle

2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen

Quecksilberdampflampe Geschaltete Spannungsversorgung

der Drossel fuumlr Quecksilberdampf-lampe

Halbleiter-kennlinien

und Halbleiterkennli-nien - Schuumller-

projekt

Referenz-Taster

Schrittmotor (Rotation) Schrittmotorsteuerung Oszilloskop Geschaltete Spannungsversorgung

Oszilloskop Instrumentenverstaumlrker fuumlr X- und Y-Ablenkung

Multimeter Steuerung Spannungs- oder Strom-anzeige

Heiszliger Draht 4 Endtaster 4 Drehgeber Kurzschlusssensor

4 Gleichstrommotoren 4 Treiber

Zweifarbige LED Steuerung der LED-Farbe

Lichtgeschwin-digkeit

Drehimpulsgeber 2 Taster an Enden

der Eisenbahnstre-cke

2 Schrittmotoren 2 Schrittmotorsteuerungen Oszilloskop Geschaltete Spannungsversorgung

Motor der Lokomotive Steuerung des Ein- und Ausschal-tens und der Bewegungsrichtung

Maut Infrarot-Sensor Gleichstrommotor Geschaltete Spannungsquelle 2 IR-Fernbedienungen Spannungsregler 2-stellige 7-Segmentanzeige LED-Treiber

Millikan-Versuch 2 Referenz-Taster

2 Schrittmotoren 2 Schrittmotorsteuerungen Lichtquelle (LED) fuumlr Millikan-

Kondensator Geschaltete Spannungsversorgung

Airbrush-Kompressor Geschaltete Spannungsversorgung Magnetventil Geschaltete Spannungsversorgung Millikan-Kondensator Gesteuertes Hochspannungsmodul

Optische Com-putertomogra-

phie

2 Referenz-Taster 2 Lichtsensoren

Schrittmotor (Rotation) Schrittmotorsteuerung Schrittmotor (Translation) Schrittmotorsteuerung

2 Laser-Module 2 geschaltete Spannungsversor-gungen

Optische Fou-rier-

Transformation 2 Referenz-Taster

2 Schrittmotoren (Translation) 2 Schrittmotorsteuerungen

Laser-Modul Geschaltete Spannungsversorgung

Oszilloskop Oszilloskop Geschaltete Spannungsversorgung Signalgenerator Steuerung der Signalart

Radioaktivitaumlt 4 Referenz-Taster Geiger-Muumlller-

Zaumlhlrohr

2 Schrittmotoren (Translation) 2 Schrittmotorsteuerungen 2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen 4-stellige 7-Segment-Anzeige Treiber Elektromagnet Geschaltete Spannungsversorgung

Roboter im Labyrinth Infrarot-Sensor

2 Schrittmotoren 2 Schrittmotorsteuerung Infrarot-Sender Treiber

Rutherfordscher Streuversuch

2 Referenz-Taster Halbleiterdetektor

(Impulsformer)

2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen

4-stellige 7-Segment-Anzeige Treiber

Weltpendel

Referenz-Taster Lichtsensor der

Lichtschranke (Im-pulsformer)

Temperatursensor

Schrittmotor (Translation) Schrittmotorsteuerung Elektromagnet Geschaltete Spannungsversorgung

Laser der Lichtschranke Geschaltete Spannungsversorgung

Windkanal Referenz-Taster Schrittmotor (Translation) Schrittmotorsteuerung

41

Dehnungsmess-streifen (Wheat-stonesche Bruumlcke Messverstaumlrker Multimeter)

Geblaumlsemotor Geschaltete Spannungsversorgung

und Ansteuerung mit Pulsweiten-modulation

Anemometer Geschaltete Spannungsversorgung Multimeter Geschaltete Spannungsversorgung

Tab 9 Sensoren Aktoren und Erweiterungsschaltungen der RCLs des RCL-Portals

422 TMC222-Modul zur Schrittmotorsteuerung 4221 Schaltplan und Bauteilliste Abb 1 zeigt die Beschaltung des TMC222 von Trinamic auf dem TMC222-Modul

Abb 24 Beschaltung des TMC222 von Trinamic

Anhand der Bauteilliste in Tab 10 koumlnnen die elektronischen Bauelemente des TMC222-Moduls bei Reichelt electronic bestellt werden Ein TMC222-Modul kostet ungefaumlhr 10 euro

Nr Anzahl Kurzbeschreibung des Bauteils Best-Nr bei Reichelt electronic

Einzelpreis in euro

0 1 Epoxyd-Fotoplatine einseitig 75x100 mm 15 mm 35 microm BEL75X100-1 096 1 1 Integrierter TMC-Schrittmotor-Controller TMC 222 SI asymp 7 2 1 Elektrolytkondensator 8x11 mm Rm 35 mm 100 microF35 V RAD 10035 004 3 1 Tantal-Kondensator Rm 25 10 microF35 V Tantal 1035 014 4 2 Vielschicht-Keramikkondensator 220 nF 20 Z5U-25 220N 011 5 3 Vielschicht-Keramikkondensator 100 nF 20 Z5U-25 100N 004 6 2 Metallschichtwiderstand 100 kΩ Metall 100K 0082 7 1 1x36pol Stiftleiste gewinkelt Rm 254 SL 1X36W 027 8 1 1x36pol Buchsenleiste gerade Rm 254 BL 1X36G 025

Tab 10 Bauteilliste mit Bestellnummer und Einzelpreisen der Bauelemente bei Reichelt electronic (Stand 23102010)

4222 Bestuumlckung der Platine

42

Abb 25 zeigt die fertig bestuumlckte Platine mit den Nummern aus Tab 10

Abb 25 Bestuumlckte Platine des TMC222-Moduls

mit nummerierten Bauelementen

Die Platine (35 mm x 30 mm) kann anhand des Layouts in Abb 26 hergestellt werden Der IC TMC222 wird auf der Loumltseite der Platine aufgeloumltet Das TMC222-Modul kann mit der Stiftleiste (larr Tab 10 Nr 7) in eine Buchsenleiste (larr Tab 10 Nr 8) auf die Platine des In-terface gesteckt werden

Abb 26 Platine des TMC222-Moduls von der Loumltseite (links) und Layout

4223 Quellcode des Mikrocontroller-Programms Im Folgenden ist ein mit Bascom (larr 12 Tab 1 Entwicklungsumgebungen) erstelltes Bei-spiel-Programm zur Ansteuerung des Schrittmotormoduls TMC222 durch den Mikrocontroller ATmega16 angegeben $regfile = m16DEFdat $crystal = 11059200 $baud = 9600 Definitionen Config Scl = Portc0 Taktleitung Config Sda = Portc1 Datenleitung Const Adress = ampB11000000 I2C Adresse des TMC222 Const GetFullstatus1 = ampB10000001 Kommando des TMC222 Const Resetpos = ampB10000110 Kommando des TMC222 Const Motorparameter = ampB10001001 Kommando des TMC222 Const Setposition = ampB10001011 Dim Puffer(10) As Byte

43

Programm I2csend Adress GetFullstatus1 GetFullstatus1 (Initialisierung des TMC222) I2creceive Adress 7 Ack Daten in Puffer auslesen Puffer(1) = Motorparameter puffer auffuumlllen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB11110011 1111irun 0011ihold Puffer(5) = ampB01110001 0111vmax 0001vmin Puffer(6) = ampB00010000 000securepos(bit10-8) 1shaft 0000acceleration Puffer(7) = 0 securepos(bit7-0) Puffer(8) = ampB00001100 000nicht belegt 0accshape 11stepmode 00nicht belegt I2csend Adress Puffer(1) 8 I2csend Adress Resetpos aktuelle Position auf 0 setzen Puffer(1) = Setposition Motor bewegen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB01111111 position(bit 15-8) Puffer(5) = ampB11111111 position(bit 7-0)acute I2csend Adress Puffer(1) 5 End

423 Geschaltete Spannungsquellen und Verbraucher Die Ausgaumlnge des Mikrocontrollers duumlrfen nur mit Stroumlmen kleiner als ungefaumlhr 20 mA belas-tet werden Verbraucher mit einer Stromlast groumlszliger als 20 mA koumlnnen daher nicht direkt an den Mikrocontroller angeschlossen werden Abb 27 zeigt links eine Schaltung zum Schalten eines Verbrauchers wie z B des Relais und rechts eine Schaltung mit dem IC ULN2803A zum Schalten mehrerer Verbraucher wie z B Gluumlhlampen

Abb 27 Erweiterungsschaltungen zum Schalten eines (links) oder

mehrerer Verbraucher (rechts)

Zu beachten ist dass der Transistor BC337 maximal 800 mA schalten kann und fuumlr groumlszligere Stroumlme andere Transistoren verwendet werden muumlssen

424 Steuerung von Gleichstrommotoren

44

Sollen Gleichstrommotoren zum Bewegen von Objekten mit dem Mikrocontroller gesteuert werden dann eignet sich dazu der in Abb 28 dargestellte beschaltete IC L293D

Abb 28 Beschaltung des L293D zum

Steuern zweier Gleichstrom-motoren

Mit Pin 1 = Pin 9 = 1 (High) koumlnnen zwei Gleichstrommotoren M1 und M2 (Versorgungs-spannung UM lt 36 V Spulendauerstrom IM lt 600 mA) unabhaumlngig voneinander ein- und ausgeschaltet sowie in der Drehrichtung uumlber die Ports PA0 und PA1 fuumlr M1 und PA2 und PA3 fuumlr M2 gesteuert werden Z B gilt mit PA0 = PA1 = 0 (M1 ausgeschaltet) PA0 = 1 und PA1 = 0 (M1 dreht sich) PA0 = 0 und PA1 = 1 (M1 dreht sich in Gegenrichtung)

45

43 Quellcodes zum RCL Elektronenbeugung 431 Mikrocontroller-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

46

47

48

49

432 PHP-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

50

51

433 Bedienfeld der Laborseite

Tab 11 erlaumlutert die Funktion der Bloumlcke im Quellcode

Zeilen Funktion 1 Datei defaultconf einbinden 2 Datei headtpl einbinden

5 - 11 Ausgabe der verbleibenden Experimentierzeit 18 - 21 Button zum Einschalten der Elektronenbeugungsroumlhre 28 - 30 Eingabefeld fuumlr die Beschleunigungsspannung

37 Ruumlckmeldung zur eingegebenen Beschleunigungsspannung 42 Datei foottpl einbinden

Tab 11 Funktion der Programmbloumlcke in der Datei experi-menttpl

52

434 Webcamfeld der Laborseite

In Tab 12 ist die Funktion der Programmbloumlcke und die Anpassungen der Vorlage an das RCL Elektronenbeugung beschrieben

Zeilen Funktion Anpassung RCL Elektronenbeugung

5 Titelangabe erscheint als Tabulatorbeschriftung in Browsern

Name des RCLs eintragen

11 - 15 16 - 20

Zwei Javascripts zum getrennten Aufrufen zweier Po-pup-Fenster mit dargestelltem Webcambildern 1 und 2

Javascript 1 die IP-Adresse eintragen Javascript 2 auskommentiert weil nicht benoumltigt

24 - 40 42 - 60

Zwei Javascripts zum Aktualisieren der Webcambilder 1 und 2

Javascript 2 auskommentiert weil nicht benoumltigt

67 - 71 79 - 83

Aufrufen des ersten Webcambilds der Webcams 1 und 2 beim Aufrufen der Datei

Webcambild 2 auskommentiert weil nicht benoumltigt

72 - 78 84 - 90

Buttons zum Aufrufen der Screenshots der Webcam-bilder 1 und 2

Button 2 auskommentiert weil nicht benoumltigt

91 - 95 Zeile der Tabelle zum Eintragen von Informationen die sich auf die Webcambilder oder den Versuch beziehen

Text in Zeile der Tabelle geschrieben

Tab 12 Funktionen der Codeabschnitte in der Datei videohtm und Anpassung der Vor-lage an das RCL Elektronenbeugung

53

44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung Im Folgenden wird die Installation und Konfiguration des AVR-Studios 418 und der Bascom 11198 Demoversion beschrieben Alle Anleitungen sind zeilenweise von links nach rechts zu lesen

441 AVR-Studio 418 4411 Installation Auf der Webseite von ATMEL Register AVR Studio 418 (build 684) anklicken und Registrie-rungsformular ausfuumlllen Danach die Datei AvrStudio418Setup herunterladen Durch Dop-pelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen Next waumlhlen

I accept hellip und Next waumlhlen Installationsordner und Next waumlhlen

54

Installupgrade hellip und Next waumlhlen Install waumlhlen Die Installation beginnt

Finish waumlhlen

4412 Konfiguration AVR Studio 418 in Windows XP Professional unter StartProgramme aufrufen

Startfenster mit Cancel schlieszligen Unter ToolsProgram AVR Auto Connect waumlhlen

55

Im eingeblendeten Fenster auf der Registerkarte Main als Device ATmega16 und als Programming Mode ISP mo-de waumlhlen

Optional kann Signatur gelesen werden

In der Registerkarte Fuses alle Haumlkchen und Auswahlfel-der wie angegeben waumlhlen

Dann Program waumlhlen

442 BASCOM 11198 Demoversion 4421 Installation Auf der Webseite von Bascom unter Bascom AVR Demo die Zip-Datei setupdemoexe her-untergeladen Durch Doppelklick auf den Dateinamen die Installation starten

Next waumlhlen I accept the agreement und Next waumlhlen

56

Next waumlhlen Installationsordner eingeben und Next waumlhlen

Eintrag im Start-Menuuml eingeben und Next waumlhlen Next waumlhlen

Yes restart the computer now und Finish waumlhlen

57

4422 Konfiguration Bascom AVR in Windows XP Professional unter StartProgramme zum Einstellen der Para-meter des Mikrocontrollers und des Terminals aufrufen

OptionsCompilerChip waumlhlen Einstellungen wie im Bild vornehmen und OK waumlhlen

Auf der Registerkarte Communications Einstellungen wie im Bild vornehmen und OK waumlhlen

Unter OptionsCommunication Einstellungen wie im Bild

vornehmen und OK waumlhlen FileNew waumlhlen Unter ToolsTerminal emulator das Terminal aufrufen und

eingeben Die Befehlsliste des RCLs Elektronenbeu-gung wird angezeigt

45 Installation und Konfiguration von Programmen auf dem RCL-Server Im Folgenden wird der Download die Installation und die Konfiguration von Programmen auf dem RCL-Server unter Windows XP Professional beschrieben Alle Anleitungen sind zeilen-weise von links nach rechts zu lesen Die Installation der Programme sollte in der angegebe-nen Reihenfolge erfolgen

58

451 Einrichten des Internet-Zugangs LAN-Verbindung unter StartSystemsteuerungNetzwerkverbindungen aufrufen

Internetprotokoll (TCPIP) und Eigenschaften waumlhlen Folgende IP-Adresse verwenden waumlhlen IP-Adressen ein-

geben und OK waumlhlen

452 Paket XAMPP 174 Unter apache friends - xampp fuumlr windows und XAMPP Windows 174 Installer anklicken und Datei xampp-win32-174-VC6-installerexe speichern Durch Doppelklick auf die Datei die Installation starten

Sprache und Ok waumlhlen Ok waumlhlen

59

Weiter waumlhlen Zielverzeichnis mit Durchsuchen waumlhlen oder eingeben

Apache nicht als Dienst installieren Fertig stellen waumlhlen

Ja waumlhlen Zum Starten des Apache Webservers das Control Panel

unter StartProgrammeXAMPP 173 for Windows mit Start starten Anstelle von Start erscheint Running

Zum Beenden des Apache Webservers Stop waumlhlen Zum Beenden des Control Panels Exit waumlhlen

60

453 Videoserver webcamXP 5 Private Auf der Webseite von Moonware Studios unter webcamXP 55xx die Datei wlite550 herun-terladen Durch Doppelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen I Agree waumlhlen

Next waumlhlen Auszliger webcamXP 5 brauchen keine weiteren Komponen-

ten installiert zu werden

Den vorgeschlagenen Ordner und Install waumlhlen Finish waumlhlen

61

WebcamXP unter StartProgramme aufrufen Zugesandte

Lizenz-Daten in das eingeblendete Fenster eingeben und Register waumlhlen

Beim Starten des Programms stellt webcamXP automa-tisch eine Verbindung zu den am Computer angeschlosse-nen Webcams her

Nach dem Start ist Uumlberwachen gewaumlhlt Durch Rechts-klick mit der Maus auf das Videofenster wird zu jeder Vi-deoquelle ein Kontextmenuuml angezeigt Wird kein Videobild dargestellt das Kontextmenuuml aufrufen Art der Videoquelle waumlhlen (hier USB) und unter den erkannten Videoquellen (hier USB-Videogeraumlt) die gewuumlnschte waumlhlen

Das Videoformat muss fuumlr eine passende Darstellung auf

der Laborseite auf 320 x 240 eingestellt sein Ist das nicht der Fall im Kontextmenuuml unter Video Format einstellen

In gleicher Weise kann eine zweite Videoquelle hinzugefuumlgt werden

In der Registerkarte Web Broadcast kann unter

Broadcast (HTTP) der Videoserver mit Ausschalten ge-stoppt und mit Aktivieren gestartet werden

Zur Zielwahl des Webservers (131246237167 - Internet D16W3X3J - Computer 127001 - Local Host) Videoser-ver stoppen und einstellen Videoserver wieder starten

62

454 Terminalprogramm Hyperterminal Hyperterminal in Windows XP Professional unter StartProgrammeZubehoumlrKommunikation aufrufen

Name der neuen Verbindung - z B Interface - eingeben

und OK waumlhlen Die Verbindung zwischen Computer und Interface wurde

uumlber einen USB-Seriell-Adapter hergestellt Dann erschei-nen zwei zusaumltzliche Eintraumlge (Motorola Comp Modem und COM5) in der Liste Prinzipiell muss eine COMx-Verbindung gewaumlhlt werden

Eigenschaften von COM 5 wie im Bild einstellen und OK

waumlhlen DateiEigenschaften aufrufen und ASCII-Konfiguration

waumlhlen

63

Haken bei Eingegebene Zeichen lokal ausgeben (lokales

Echo) setzen um eingegebenen Zeichen im Hyperterminal zu sehen

Bei funktionsfaumlhiger Verbindung erscheint nach Eingabe von Return die Befehlsliste des Interface

Durch Aufrufen von DateiSpeichern die erstellte Verbin-

dung z B auf dem Desktop speichern Dadurch braucht die Verbindung nicht immer wieder von neuem konfiguriert wer-den

Nach Aufrufen von DateiBeenden die bestehende Verbin-dung mit Ja beenden

64

Wurde ein falscher COM-Port gewaumlhlt reagiert das Inter-

face auf die Eingabe Return nicht Hyperterminal dann beenden

Der COM-Port kann dann nicht unter DateiEigenschaften im Hyperterminal aber unter Eigenschaften des Kontext-menuumls der Datei Interfaceht in der Registerkarte Verbin-den mit geaumlndert werden Dann OK waumlhlen und erneut Verbindung testen

65

455 Fernwartungssoftware TeamViewer 6 Host Auf der Webseite von Teamviewer GmbH unter Fuumlr unbeaufsichtigte Server TeamViewer Vollversion die Datei TeamViewer_Setup-wq herunterladen Das Programm muss auf dem RCL-Server und dem Computer der auf den RCL-Server zugreifen soll installiert werden Durch Doppelklick auf die Datei die Installation starten

Ausfuumlhren waumlhlen Weiter waumlhlen

Fuumlr die private nicht kommerzielle Nutzung ist Teamviewer kostenlos

privat nicht-kommerziell und Weiter waumlhlen

Beide Haumlkchen setzen und Weiter waumlhlen

66

Ja un Weiter waumlhlen Weiter

Computername und Kennwort fuumlr den Zugriff auf den RCL-Server oder den eigenen Computer vergeben Kenn wort notie-ren

Ein Teamviewerkonto ist nicht erforderlich Kann auch spaumlter noch eingerichtet werden

ID fuumlr den Computer auf dem das Programm installiert wird fuumlr Zugriff notieren

Das Programm wird gestartet Standardmaumlszligig vorein-gestellt ist der Start des Programms beim Start des Be-trienssystems

67

46 Selbstbau eines elementaren RCLs 461 Hard- und Software Auch ohne gleich ein vielleicht teures physikalisches Experiment zu steuern laumlsst sich mit wenigen Bauelementen ein elementares RCL realisieren Von einer Webseite im Internet sol-len eine Leuchtdiode (LED) ein- oder ausgeschaltet sowie der Zustand der Leuchtdiode und eines Tasters abgefragt werden An Hard- und Software werden benoumltigt

1 Low-Current-LED 5 mm 2 mA 1 Widerstand 18 kΩ 1 Taster und optional zwei 10-polige Wannenstecker mit ungefaumlhr 10 cm passendem Flachbandkabel und Buchsen

Interface in Basisschaltung Null-Modem-Kabel 12 V DC Steckernetzteil (larr 1)

Installierte Bascom-Demo-Version (larr 42)

AVR ISP-Programmer mit 10-poligem Programmierkabel

Installiertes und konfiguriertes AVR Studio 418 (larr 41)

Installiertes Paket XAMPP (larr 52)

Texteditor wie z B Notepad in Windows XP Professional

Konfigurierte Hyperterminalverbindung (larr 54)

462 Bestuumlckung der Platine Abb 29 zeigt zur Orientierung fuumlr das Einloumlten der Bauelemente die fertig bestuumlckte Platine des Interface

Abb 29 Mit elementarem RCL bestuumlckte Platine

des Interface

LED mit Vorwiderstand und der Taster sind rechts neben dem Mikrocontroller im Lochraster-bereich aufgebaut und uumlber Wannenstecker und Flachbandkabel mit dem Port A des Mikro-controllers verbunden (die drei Bauteile rechts neben dem ATmega16 werden nicht benouml-tigt) Tab 13 erlaumlutert die Schritte zur Bestuumlckung der Platine des Interface

68

Nr Schaltung Erlaumluterung

1

Die Leuchtdiode (LED) mit dem Pluspol (langes Beinchen) an PortA0 (PIN40 oben rechts) des Mikrocontrollers anloumlten

An das kurze Beinchen einen 18kΩ Widerstand loumlten dessen anderes Ende mit der Masse (GND) verbinden

2

Den Taster mit PortA1 (PIN39 = 2 Beinchen von oben rechts) und Masse (GND) verbinden

3

Draufsicht

Belegung des 10-poligen Wannensteckers 1 GND (Masse) im Foto oben links 2 +5 V 3 PortA0 4 PortA1 10 PortA7 im Foto unten rechts

Tab 13 Schritte zum Aufbau des elementaren RCLs

463 Lokal gesteuertes RCL Nachfolgend ist der Basic-Programmcode des Mikrocontrollers zur Steuerung und Abfrage der LED und des Tasters angegeben 01 $regfile = m16DEFdat Microcontroller ATmega16 02 $crystal = 11059200 110592MHz Quarz 03 $baud = 9600 Baudrate 04 05 ---[ Variables ]--------------------------------------------------------------- 06 Dim Rs232kommando As String 10 erst Befehlspuffer dann Kommando 07 Dim Parameter As String 10 Parameter 08 Dim Str_pos As Byte Position von Leerzeichen zur Trennung von Kommando und Pa-rameter 09 10 ---[ Initialisierung ]--------------------------------------------------------- 11 Ddra0 = 1 PortA0 als Ausgang fuumlr LED 12 Porta0 = 0 LED aus 13 Ddra1 = 0 PortA1 als Eingang fuumlr Taster 14 Porta1 = 1 Pull-Up aktivieren 15 16 ---[ Main program loop ]------------------------------------------------------- 17 Do Start der Endlos-Schleife 18 19 If Ischarwaiting() = 1 Then Zeichen uumlber RS232 empfangen 20 Input Rs232kommando neues Kommando lesen 21 Parameter = Parameter initialisieren 22 Str_pos = Instr(rs232kommando ) Leerzeichen im Kommando suchen 23 If Str_pos gt 0 Then falls Leerzeichen dann in Kommando+Parameter zerlegen 24 Incr Str_pos Str_pos soll jetzt auf 1Zeichen des Parameters zeigen 25 Parameter = Mid(rs232kommando Str_pos ) Parameter = Teilstring nach Leerzeichen 26 Parameter = Ucase(parameter) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 27 Str_pos = Str_pos - 2 Str_pos soll jetzt auf letztes Zeichen des Kommandos zeigen 28 Rs232kommando = Left(rs232kommando Str_pos)Kommando = Teilstring vor Leerzeichen 29 Rs232kommando = Ucase(rs232kommando) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 30 End If 31 32 Select Case Rs232kommando Eventhandler Interpretation der Kommandos 33 Case Print Hilfe Hilfeseite anzeigen 34 Print LED on - LED einschalten 35 Print LED off - LED ausschalten 36 Print LED - zeigt Status der LED an 37 Print SW - zeigt Status des Schalters an 38

1K8

LED rotmicroC PortA0(PIN40)

Taster

microC PortA1(PIN39)

1

3

2

69

39 Case LED If Parameter = ON Then LED schalten 40 Porta0 = 1 41 End If 42 If Parameter = OFF Then 43 Porta0 = 0 44 End If 45 46 Case LED If Porta0 = 0 Then Status der LED ausgeben 47 Print LED aus 48 Else 49 Print LED an 50 End If 51 52 Case SW If Pina1 = 1 Then Status des Schalters ausgeben 53 Print Taster offen 54 Else 55 Print Taster geschlossen 56 End If 57 58 Case Else Print gt Rs232kommando lt ungueltiger Befehl - weitere Infos mit Info bei unguumlltigen Eingaben 59 End Select 60 61 End If 62 63 Loop Endlos-Schleife Springe zu Do 64 65 End wird nie erreicht

Der erste Teil des Programms (Zeilen 1 - 15) enthaumllt die Systemparameter Variablen und Initialisierung der Ein- und Ausgaumlnge Der zweite Teil enthaumllt ab Zeile 17 das Hauptpro-gramm in dem Benutzereingaben uumlber die serielle Schnittstelle empfangen interpretiert und in entsprechende Anweisungen umgesetzt werden Tab 14 erlaumlutert den Programmcode de-taillierter

Zeilen Erlaumluterung

1 - 3 Diese Angaben teilen dem Compiler (Bascom) mit welcher Prozessor eingesetzt wird wie schnell dieser getaktet (Quarz) ist und mit welcher Uumlbertragungsgeschwindigkeit die Kommunikation uumlber die serielle Schnittstelle (RS232) mit dem PC erfolgen soll

6 - 8 Es werden drei Variablen genutzt Die Eingabe uumlber die serielle Schnittstelle wird in rs232kommando gespeichert Es wird ein Text der Form Kommando ltLeerzeichengt Parameter erwartet so dass die Variable Parameter den-selbigen aufnimmt Die Variable str_pos wird fuumlr die Trennung von Kommando und Parameter benoumltigt

11 - 14

Mit dem Befehl ddrPX (ddr = data direction) wird festgelegt ob ein Beinchen als Ausgang (=1) oder als Eingang (=0) arbeiten soll Der ATmega16 besitzt 32 Ein-Ausgaumlnge die in vier Ports (P=AD) zu je 8 Pins (X=07) unterteilt sind ddrA0 = 1 legt also das 1 Beinchen (Pin 0) von PortA als Ausgang (=1) fest Mit dem Befehl PortA0 =1 kann dieser Pin dann durch Zuweisen von 1 oder 0 an- bzw ausgeschaltet werden Im Datenblatt erfahren Sie welches der 40 Beinchen des Mikrocontrollers wie bezeichnet wird (Pin-Belegung) Wird ein Beinchen als Eingang verwendet (ddrA1 = 0) koumlnnen Sie optional einen so genannten Pull-Up-Widerstand aktivieren (PortA1=1) oder deaktivieren (PortA1=0) Auch hierzu sollten Sie sich unbedingt mit dem Datenblatt vertraut machen

17 63 Das Hauptprogramm besteht aus einer Endlosschleife d h der Mikrocontroller verrichtet ununterbrochen seinen Job so lange er mit Strom versorgt wird

19 - 30 Falls ein Zeichen uumlber die serielle Schnittstelle empfangen wurde wird dieses und alle folgenden gelesen Anschlie-szligend wird gepruumlft ob der empfangene Text von der Form Kommando ltLeerzeichengt Parameter ist so dass er ge-gebenenfalls in ein Kommando und einen Parameter zerlegt werden kann

32 - 59 Dieser Abschnitt wird mit Event-Handler bezeichnet Hier wird auf die Kommandos (Events) reagiert und die ent-sprechenden Schritte ausgefuumlhrt zB schalten LED je nach Wert der Variablen Parameter an- bzw ausschalten

46 52

In beiden Zeilen wird ein Wert eines Ports abgefragt Unterschiedlich ist dass in Zeile 46 der Status eines Ausgangs abgefragt wird (porta0) und in Zeile 52 der Zustand eines Eingangs (pina0) Die Anweisung IF porta0 = 0 THEN pruumlft (hier ist = ein Vergleich und KEINE Zuweisung) ob zuletzt die LED ausgeschaltet (Zuweisung porta0 = 0) wurde Die Anweisung IF pina1= 1 THEN liest den Status eines Eingangs Hier kann festgestellt werden ob der Eingang uumlber den internen Pull-UP-Widerstand auf +5V liegt (pina1 liefert 1) oder ob der Schalter den Eingang mit Masse (0V) verbindet (pina1 liefert 0)

Tab 14 Erlaumluterung des Mikrocontroller-Programmcodes fuumlr elementares RCL

70

In Bascom AVR eine neue Datei erzeugen (FileNew) den Programmcode ohne Kommenta-re eingeben und mit ProgramCompile (F7) eine Hexadezimaldatei erzeugen Die Hexadezi-maldatei mit dem AVR-Studio und dem AVR-ISP-Programmer in den Mikrocontroller schrei-ben (larr 222 Programmuumlbertragung) Nach dem Verbinden von Computer und Interface per Null-Modem-Kabel kann durch Eingabe von in das konfigurierte Hyperterminal die Befehls-liste in Abb 30 aufgerufen werden

Abb 30 Aufgerufene Befehlsliste im Hyperterminal

Durch Eingabe von LED on oder LED off kann die LED ein- und ausgeschaltet LED zeigt den Status der LED und sw den Status des Tasters an Alternativ zum Hyperterminal kann auch das Terminal in BASCOM unter ToolsTerminal Emulator verwendet werden (larr 422)

464 Ferngesteuertes RCL Zum Ansteuern des Interfaces und zum Bedienen des Versuchsaufbaus uumlber das Internet wird eine Webseite benoumltigt die dem Benutzer alle Bedienelemente des Experiments zur Verfuumlgung stellt

Der Benutzer benoumltigt anklickbare Buttons im Webbrowser

Der Webserver muss die Information welcher Button gedruumlckt wurde empfangen und ein entsprechendes Kommando uumlber die serielle Schnittstelle an das Interface senden

Beide Schritte sind im nachfolgenden PHPHTML-Quellcode zusammengefasst 01 ltDOCTYPE HTML PUBLIC -W3CDTD HTML 401 TransitionalEN httpwwww3orgTRhtml4loosedtdgt 02 lthtmlgt 03 ltheadgt 04 ltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1gt 05 lttitlegtelementares RCLlttitlegt 06 ltheadgt 07 08 ltbodygt 09 ltphp 10 if (isset($_POST[Kommando])) wurde bereits Kommando gesendet 11 if( ( $handle = fopen( COM1 w+ ) ) ) Schnittstelle oumlffnen 12

71

13 throw new Exception( Can not access serial port 2 ) ohne Erfolg 14 15 fwrite( $handle $_POST[Kommando] chr( 13 ) ) Befehl an Interface senden 16 switch ( $_POST[Kommando] ) Antwort von Interface auswerten 17 case LED $tmp = fgets( $handle ) Echo von Interface ignorieren 18 $antwort = fgets( $handle ) Antwort des Interfaces 19 echo Antwort $antwort Ausgabe auf Webseite 20 break switch verlassen 21 22 case SW $tmp = fgets( $handle ) Echo von Interface ignorieren 23 $antwort = fgets( $handle ) Antwort des Interfaces 24 echo Antwort $antwort Ausgabe auf Webseite 25 break switch verlassen 26 27 28 29 fclose( $handle ) Schnittstelle schlieszligen 30 31 else 32 `mode com1 BAUD=9600 PARITY=N data=8 stop=1 xon=off` Schnittstellenparameter setzen 33 34 35 gt 36 37 lth3gtBefehl sendenlth3gt 38 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 39 ltinput type=hidden name=Kommando value=LED ON gt 40 ltinput type=submit value=LED anschalten gt 41 ltformgt 42 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 43 ltinput type=hidden name=Kommando value=LED OFF gt 44 ltinput type=submit value=LED ausschalten gt 45 ltformgt 46 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 47 ltinput type=hidden name=Kommando value=LED gt 48 ltinput type=submit value=LED abfragen gt 49 ltformgt 50 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 51 ltinput type=hidden name=Kommando value=SW gt 52 ltinput type=submit value=Taster abfragen gt 53 ltformgt 54 ltbodygt 55 lthtmlgt Den Quellcode in den Texteditor kopieren und im Ordner htdocs von XAMPP z B unter rclphp speichern HTML-Dateien mit PHP-Code (Zeilen 9-35) muumlssen mit der Erweiterung php gespeichert werden damit der Apache Webserver zwischen HTML-Seiten mit und ohne PHP-Code unterscheiden kann Den installierten Apache Webserver starten (larr 452) und im Adressfeld des Webbrowsers die IP-Adresse http127001rclphp aufrufen Das Bedi-enfeld des elementaren RCLs in Abb 31 wird im Browserfenster angezeigt

72

Abb 31 Laborseite des elementaren RCLs

Im Bedienfeld kann die LED an- und ausgeschaltet sowie der Status von LED und Taster abgefragt werden

  • 0 Warum ein Tutorial zur RCL-Technik
  • 1 Technische Konzeption
    • 11 Einfuumlhrung
    • 12 Wahl der RCL-Technik
      • 2 Lokal gesteuertes RCL
        • 21 Interface
          • 211 Mikrocontroller
          • 212 Basisschaltung und Erweiterungsschaltungen
          • 213 Programmierung des Mikrocontrollers
            • 22 Hyperterminal
            • 23 Positionieren von Objekten
              • 231 Hybrid-Schrittmotoren
              • 232 Schrittmotorsteuerung und Positionierungsmechanik
                  • 3 Ferngesteuertes RCL
                    • 31 RCL-Server
                    • 32 Laborseite
                      • 321 Steuerung des RCLs uumlber das Bedienfeld
                      • 322 Videouumlbertragung im Webcamfeld
                        • 33 Standard-Lernumgebung
                          • 4 ANHANG
                            • 41 Interface in Basisschaltung
                              • 411 Schaltplan und Bauteilliste
                              • 412 Bestuumlckung der Platine
                                • 42 Erweiterungsschaltungen
                                  • 421 Uumlbersicht
                                  • 422 TMC222-Modul zur Schrittmotorsteuerung
                                    • 4221 Schaltplan und Bauteilliste
                                    • 4222 Bestuumlckung der Platine
                                    • 4223 Quellcode des Mikrocontroller-Programms
                                      • 423 Geschaltete Spannungsquellen und Verbraucher
                                      • 424 Steuerung von Gleichstrommotoren
                                        • 43 Quellcodes zum RCL Elektronenbeugung
                                          • 431 Mikrocontroller-Programmierung
                                          • 432 PHP-Programmierung
                                          • 433 Bedienfeld der Laborseite
                                          • 434 Webcamfeld der Laborseite
                                            • 44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung
                                              • 441 AVR-Studio 418
                                                • 4411 Installation
                                                • 4412 Konfiguration
                                                  • 442 BASCOM 11198 Demoversion
                                                    • 4421 Installation
                                                    • 4422 Konfiguration
                                                        • 45 Installation und Konfiguration von Programmen auf dem RCL-Server
                                                          • 451 Einrichten des Internet-Zugangs
                                                          • 452 Paket XAMPP 174
                                                          • 453 Videoserver webcamXP 5 Private
                                                          • 454 Terminalprogramm Hyperterminal
                                                          • 455 Fernwartungssoftware TeamViewer 6 Host
                                                            • 46 Selbstbau eines elementaren RCLs
                                                              • 461 Hard- und Software
                                                              • 462 Bestuumlckung der Platine
                                                              • 463 Lokal gesteuertes RCL
                                                              • 464 Ferngesteuertes RCL

9

Typ Hersteller Name und Version Preis

RC

L-Se

rver

Betriebssystem und Terminal

Microsoft Windows XP Professional mit Service Pack 3 Microsoft Hyperterminal in Windows XP Professional unter

StartProgrammeKommunikationHyperterminal asymp 20 euro

Webserver und PHP Apache Friends XAMPP 174 fuumlr Windows Installer-Version The PHP Group PHP 531 (enthalten in XAMPP 174)

-

Videoserver Moonware Studios webcamXP 5 Free (eine Videoquelle) Moonware Studios webcamXP 5 Private (bis zu 5 Videoquellen)

- 4495 euro

RCL-Software Technische Universitaumlt Kaiserslautern RCL-Ordner htdocs -

Fernwartung- und Desktop-Sharing TeamViewer GmbH TeamViewer 6 Vollversion -

Virenscanner Avira AntiVir Personal Webeditor Notepad++ team Notepad++ 59 -

Com

pute

r

Entwicklungsumgebungen fuumlr Mikrocontroller ATmega16

ATMEL AVR-Studio 418 - Sourceforge WinAVR - MCS Electronics BASCOM-AVR Demoversion (maximal 4 kB

Programmcode) MCS Electronics BASCOM-AVR Vollversion

-

89 euro MikroElektronika MikroPascal Pro for AVR asymp 140 euro

Webeditor Notepad++ team Notepad++ 59 Adobe Dreamweaver CS557

- asymp 115 euro

Fernwartung- und Desktop-Sharing TeamViewer GmbH Teamviewer 6 Vollversion -

Tab 1 Programme fuumlr den RCL-Server und fuumlr weiteren Computer zur Prgrammie-rung des Mikrocontrollers Webseitenerstellung und Fernwartung ( optio-nale Programme Links fuumlhren auf Webseite zum Download Stand Juni 2011)

Fuumlr den RCL-Server wird als stabiles Betriebssystem Windows XP Professional einge-setzt Microsoft vertreibt seit Dezember 2008 Windows XP nicht mehr Sicherheitspatches werden noch bis April 2014 bereitgestellt ein Bezug ist z B uumlber Ebay8 moumlglich Das Hy-perterminal-Programm zur Kommunikation mit dem Interface ist Teil von Windows XP Professional Vom Open-Source-Paket XAMPP wird der Apache Webserver und der PHP-Interpreter eingesetzt Da in der Regel bei RCLs zwei Webcambilder uumlber das Inter-net uumlbertragen werden muumlssen ist der Videoserver webcamXP 5 nicht kostenlos Im RCL-Ordner htdocs befindet sich die Basissoftware die noch an das zu realisierende RCL anzupassen ist Ein kostenloser Virenscanner wie z B Antivir Personal ist erfahrungsge-maumlszlig ausreichend Als Fernwartungssoftware fuumlr den RCL-Server wird Teamviewer emp-fohlen Es genuumlgt der Teamviewer Host weil vom RCL-Server kein Remote-Zugriff auf den Computer erfolgen muss Fuumlr kleinere Arbeiten an der RCL-Software oder der Stan-dard-Lernumgebung waumlhrend der Fernwartung sollte ein kostenloser Webeditor wie z B Notepad++ installiert werden Auf einem weiteren Computer kann zur Programmierung des Mikrocontroller eine Ent-wicklungsumgebung fuumlr folgende Programmiersprachen installiert werden Mit dem AVR-Studio kann in Assembler und nach der Installation von WinAVR in C bzw C++ program-miert werden Fuumlr Einsteiger wird eine Programmierung in Basic mit BASCOM-AVR emp-fohlen Falls der Programmcode groumlszliger als 4 kB ist muss die Vollversion erworben wer-

7 Vgl Adobe Dreamweaver CS55 8 Vgl Ebay Windows XP Professional

10

den Eine Programmierung in Pascal ist fuumlr ungefaumlhr 140 euro mit dem Pascal-Compiler von MikroElektronika moumlglich Mit Notepad++ steht ein kostenloser und guter Webeditor zum Erweitern der PHP-Basissoftware und zum Erstellen von Webseiten der Standard-Lernumgebung bereit Als professionellerer Editor kann z B Dreamweaver verwendet werden Fuumlr die Fernwartung des RCL-Servers muss auf dem zugreifenden Computer die Vollversion von Teamviewer installiert werden

Die gewaumlhlte Hard- und Software fuumlr RCLs bietet folgende Vorteile

Geringe Hard- und Softwarekosten Interface mit Erweiterungsschaltungen (asymp 70 euro) USB-ISP-Programmer (asymp 30 euro) AVR-Studio zur Programmierung in C (0 euro) Betriebssystem Windows XP Professional (asymp 20 euro) webcamXP 5 fuumlr ein Webcambild (0 euro) koumlnnen zusammen fuumlr 120 euro erworben werden Mit einem nicht mehr benoumltigtem aumllteren Computer Tastatur und Maus (0 euro) einem ausge-dientem Monitor (0 euro) einer einfachen USB-Webcam (asymp 20 euro) und der Positionierungsme-chanik eines nicht mehr benoumltigten aumllteren Scanners (0 euro) kann ein RCL schon ab 140 euro realisiert werden

Einfache Adaptierbarkeit des Interface und der PHP-Basissoftware an das Experiment Der Mikrocontroller des Interface kann frei programmiert werden Mit der Aufteilung der Schaltung des Interface in eine fuumlr alle RCLs gleiche Basisschaltung und RCL-spezifische Erweiterungsschaltungen (rarr 212) ist das Interface leicht an das Experiment anpassbar Durch die im Mikrocontroller integrierten Peripheriebausteine genuumlgen meist wenige Bau-elemente und die unterschiedlichsten Mess- und Steuergroumlszligen koumlnnen verarbeitet wer-den Die PHP-Basissoftware braucht nur um wenige Programmbloumlcke erweitert zu wer-den

Einfacher Zugang zu Ressourcen der RCL-Technik Die weite Verbreitung des Mikrocontrollers ATmega16 im Hobbybereich korrespondiert mit einem umfangreichen kostenlosen Informationsmaterial zur Hardware und Software des Mikrocontrollers im Internet In Tab 2 sind unter Mikrocontroller Links zu Datenblaumlt-tern Portalen und Foren mit praxisnahen Loumlsungen fuumlr Probleme der Mikrocontroller-Programmierung zusammengestellt Ein staumlrker strukturiertes Erlernen der Funktionen und Programmierung von AVR-Mikrocontrollern ist uumlber die genannten Tutorials im Inter-net und Buumlcher moumlglich

11

Ressource Kurzbeschreibung

Mik

roco

ntro

ller

Mikrocontroller mega16A Mikrocontroller ATmega16A Summary

Ausfuumlhrliches und zusammenfassendes Datenblatt des Mikrocon-trollers ATmega16

wwwmicrocontrollernet Portal fuumlr Mikrocontroller RoboterNETZ Portal fuumlr Robotik Mikrocontroller und Elektronik AVR-Tutorial Tutorial zur AVR-Familie auf microcontrollernet BASCOM-AVR Online-Hilfe zur Entwicklungsumgebung BASCOM-AVR myAVR Mikrocontrollerloumlsungen fuumlr Ausbildung und Selbststudium BASCOM-Forum Forum von MCS BASCOM RoboterNETZ-Forum Forum von RoboterNETZ myAVR-Forum Forum von myAVR AVR-Forum Forum von Atmel Roland Walter AVR Mikrocontroller Lehr-buch Buch zur Programmierung von AVR-Mikrocontrollern mit Basic

Guumlnter Schmitt Mikrocomputertechnik mit Controllern der Atmel AVR-RISC-Familie

Buch zur Programmierung von AVR-Mikrocontrollern in Assemb-ler und C

Claus Kuumlhnel Programmierung der AVR RISC Mikrocontroller mit BASCOM-AVR

Buch zur Programmierung von AVR-Mikrocontrollern in BAS-COM-AVR (Basic)

Frank Sichla Schaltungssammlung Mikro-controller und USB

Buch mit praktischen Anwendungsschaltungen und Einsatzmoumlg-lichkeiten von Mikrocontrollern

HTM

LPH

P

SELFHTML Portal zum Erstellen von Webseiten mit HTML SELTPHP Portal zum Programmieren von Webseiten mit PHP PHP Entwicklerseite von PHP Kleines Tutorial PHP-Tutorial PHP-Handbuch PHP-Handbuch

Elek

tron

ik

reichelt elektronik Elektronikversand Conrad Elektronikversand ELV Elektronik Elektronikversand Datasheet Catalogcom Datenbank fuumlr Datenblaumltter elektronischer Bauelemente Datasheet Archive Datenbank fuumlr Datenblaumltter elektronischer Bauelemente Pegelwandler Max232 fuumlr serielle Schnitt-stelle Datenblatt des ICs Max232 von Texas Instruments

Spannungsregler L7805 Datenblatt des ICs L7805 von STMicroelectronics Schrittmotormodul TMC222 Datenblatt des ICs TMC222 von Trinamic

Schr

ittm

otor

en

Minebea Hybrid Stepping Motors Datenblaumltter von 12 Hybrid-Schrittmotoren Trinamic Stepper Motors Datenblaumltter und Bezugsquellen von 6 Hybrid-Schrittmotoren reichelt elektronik Groszliges Angebot an Schrittmotoren Quality Motors Auf TMC-Module und -ICs abgestimmte Schrittmotoren Nanotec Schrittmotor-Animation Animation von unipolarem und bipolarem Schrittmotor

Nanotec Glossar Glossar mit Erklaumlrungen zu wichtigen Begriffen aus der Schrittmo-tor-Antriebstechnik

Erich Rummich Elektrische Schrittmoto-ren und -antriebe- Funktionsprinzip- Be-triebseigenschaften - Messtechnik

Buch zum Erwerb von Kenntnissen zum Aufbau und zur Funkti-onsweise von Schrittmotoren

Tab 2 Ressourcen zur Realisation eines RCLs

Die seit 1996 zunehmende Bedeutung der kostenlosen Skriptsprache PHP und das Wachstum des Internets korrespondieren mit einer Zunahme an kostenlosem Informati-onsmaterial zur PHPHTML-Programmierung Neben den unter PHPHTML in Tab 2 ge-nannten Ressourcen sind wegen des groszligen Marktes keine Buumlcher zu PHP genannt Die teuren und schnell veraltenden Buumlcher sollten in Bibliotheken geliehen werden Unter Elektronik sind in Tab 2 Links zum Versandhandel elektronischer Bauelemente zu Datenbanken mit Datenblaumlttern elektronischer Bauelemente und zu Datenblaumlttern der wichtigsten ICs des Interface zu finden Unter Schrittmotoren sind Links zu Schrittmotoren

12

wichtiger Anbieter zusammengestellt die uumlber den Elektronikhandel leicht bezogen wer-den koumlnnen Das Buch von Erich Rummich erklaumlrt Zusammenhaumlnge zwischen Bauform und Funktionsweise von Schrittmotoren die uumlber Informationen zu Schrittmotoren im Tu-torial (rarr 231) gegebenen Informationen hinausgehen

Programmierung des Mikrocontrollers in Basic Besonders die Moumlglichkeit der Programmierung des Mikrocontrollers in der Hochsprache Basic (larr 12 Tab 1 Bascom AVR) erleichtert den Einstieg in den Selbstbau von RCLs Daruumlber hinaus besteht analog zur PHP-Programmierung die Mikrocontroller-Programmierung aus einer an das jeweilige RCL lediglich anzupassenden Basispro-grammierung (rarr 431)

Betriebssystemunabhaumlngigkeit Das Interface kommt ohne betriebssystemspezische Treiber aus PHP und HTML sind be-triebsystemunabhaumlngige Sprachen Der Apache Webserver XAMPP ist auszliger fuumlr Windows fuumlr die Betriebssysteme Linux Mac OS X und Solaris9 erhaumlltlich

Wartung von Programmierung und Interface Aumlnderungen der PHPHTML-Programmierung koumlnnen leicht uumlber einen Fernzugriff auf den RCL-Server vorgenommen werden Da der PHPHTML-Quellcode im RCL-Betrieb stets in einer lauffaumlhigen Form vorliegt fuumlhren Wechsel von Personen die Zugriff auf die Programmierung haben nicht zu Ausfaumlllen des RCLs Aumlnderungen und Reparaturen an den Ergaumlnzungsschaltungen des Interface koumlnnen aufgrund des Lochrasteranteils der Platine (rarr 412) leicht durchgefuumlhrt werden

Zerstoumlrungssichere Versuchskomponenten Versuchskomponenten sind durch die Programmierung des Mikrocontrollers vor Fehlbe-dienungen des RCLs geschuumltzt Da der Mikrocontroller die Zulaumlssigkeit von Parameter-werten uumlberwacht ist kein Missbrauch des Experiments durch Dritte moumlglich Abstuumlrze des RCL-Servers fuumlhren nicht zu undefinierten Zustaumlnden des Experiments weil der Mik-rocontroller das Experiment steuert In der Lebensdauer staumlrker begrenzte Versuchskom-ponenten wie z B die Elektronenbeugungsroumlhre beim RCL Elektronenbeugung (larr 11 Abb 2) koumlnnen durch eine programmierte Standby-Funktion des Mikrocontrollers bei Nichtgebrauch ausgeschaltet werden

Keine Installation von Zusatzsoftware Besucher benoumltigen zum Experimentieren mit RCLs lediglich einen kostenlos verfuumlgbaren Webbrowser wie z B die auf Funktionsfaumlhigkeit fuumlr die RCLs getesteten Internet Explo-rer Opera Firefox Safari oder Konquerer mit aktivierter Javaskript-Funktion Es muss keine weitere Zusatzsoftware installiert werden

Eine alternative technische Loumlsung fuumlr RCLs ist LabVIEW (Laboratory Virtual Instrument En-gineering Workbench) von National Instruments (NI)10 LabVIEW ist eine sehr umfangreiche

9 Apache friends XAMPP

13

mittlerweile als Industriestandard geltende grafische Programmierumgebung zum Messen Steuern und Regeln von Systemen Uumlber umfangreiche Treiber-Bibliotheken lassen sich fast alle gaumlngigen mit einer entsprechenden Schnittstelle ausgestatteten Geraumlte in LabVIEW ein-binden LabVIEW wurde als technische Loumlsung im RCL-Projekt aus mehreren Gruumlnden nicht eingesetzt

Besucher muumlssen einmalig vor dem Experimentieren mit RCLs die LabVIEW Run-Time Engine11 installieren

Es existieren nur wenige Schulgeraumlte mit den erforderlichen Schnittstellen

Die Kosten von ungefaumlhr 1300 euro fuumlr die Basisversion und ungefaumlhr 2800 euro fuumlr die Vollver-sion sind zu hoch

LabVIEW ist fuumlr die zu entwickelnden RCLs bzw die Zielgruppe aus Schuumllern und Studie-rende uumlberdimensioniert Der Nachbau von RCLs durch interessierte Schuumller und Studie-rende waumlre aus Kosten und Anforderungsgruumlnden nur schwer moumlglich

Trotz der graphischen Programmieroberflaumlche von LabVIEW muumlssen im Programmcode immer noch Anpassungen in der speziell fuumlr LabVIEW entwickelten Programmiersprache G vorgenommen werden

Die Einarbeitung in LabVIEW ist vom Zeitaufwand und den Anforderungen her mindes-tens genauso hoch wie die fuumlr Mikrocontroller- und PHP-Programmierung

Eine mit fertigen LabVIEW-Elementen gestaltete Laborseite ist nicht unbedingt nutzer-freundlicher als eine mit PHPHTML erstellte Laborseite

2 Lokal gesteuertes RCL 21 Interface 211 Mikrocontroller Zentrales Bauelement des Interface ist ein ATMEL AVR 8-bit RISC Mikrocontroller ATme-ga16 Dieser enthaumllt im Vergleich zu einem Mikroprozessor auszliger dem Prozessor auch peri-phere Module wie z B Speicher digitale und analoge Ein- und Ausgaumlnge oder Timer fuumlr Zu-satzfunktionen Dadurch kommen Anwendungen von Mikrocontrollern wie z B RCLs meist mit wenigen zusaumltzlichen Bauelementen aus Tab 3 enthaumllt eine Uumlbersicht der wichtigsten Features des Mikrocontrollers zum Prozessor zur Programmierung und Datenspeicherung zu peripheren Modulen und erlaumlutert einige Fachbegriffe

10 Vgl National Instruments 11 Vgl National Instruments LabVIEW Run-Time Engine

14

Feature Erlaumluterung

Proz

esso

r

ATMEL AVR 8 bit RISC Mik-rocontroller ATmega16

ATMEL US-amerikanischer Hersteller von Mikrocontrollern AVR Familie von Mikrocontrollern 8 bit Breite des internen Datenbusses des Mikrocontrollers RISC steht fuumlr Reduced Instruction Set Computer (Rechner mit reduziertem Befehls-

satz) Designphilosophie von Mikrocontrollern mit Befehlssatz aus moumlglichst einfa-chen Befehlen und houmlherer Effizienz des Prozessors

ATmega Eine der Mikrocontroller-Serien von ATMEL 16 steht fuumlr 16 kB Flash-ROM Groumlszlige des Programmspeichers des Mikrocontrollers

131 Befehle mit 1-2 Taktzyk-lenBefehl

Die ATmega-Serie besitzt unter den Mikrocontroller-Serien von ATMEL den groumlszligten Befehlssatz Die meisten Befehle benoumltigen zur Ausfuumlhrung nur einen Taktzyklus

Variabel waumlhlbare Taktfre-quenzen bis zu 16 MHz

Ein externer Schwingquarz legt die Schwingungsfrequenz einer Oszillatorschaltung und damit die Taktfrequenz des Mikrocontrollers fest

Prog

ram

mie

rung

und

Dat

ensp

eich

erun

g

ISP uumlber SPI-Bus in 16 kB Flash-ROM Programm-Speicher

ISP steht fuumlr In System Programming Der Mikrocontroller kann ohne aus der Schal-tung entfernt zu werden programmiert werden Es wird kein teures Programmierge-raumlt sondern nur ein Programmieradapter benoumltigt

SPI steht fuumlr Serial Peripheral Interface (Serielles Peripheres Interface) Nach dem Master-Slave-Prinzip arbeitender synchroner serieller Datenbus zur Kommunikation zwischen digitalen Schaltungen

Flash-ROM Kann zur Speicherung des Programmcodes ca 1000-mal neu be-schriebengeloumlscht - geflashed - werden aber beliebig oft gelesen werden Daten bleiben auch ohne Versorgungsspannung erhalten

512 B EEPROM 1 kB internes SRAM

EEPROM steht fuumlr Electrically Erasable Programmable Read Only Memory (Elektrisch loumlschbarer und programmierbarer Nur-Lese-Speicher) Nichtfluumlchtiger Speicher der beliebig oft gelesen und mindestens 100000 mal beschrieben werden kann Kann z B zum Speichern von Messwerten und Konfigurationsdaten verwen-det und uumlber ISP programmiert werden

SRAM steht fuumlr Static Random Access Memory Fluumlchtiger Speicher der beliebig oft gelesen und beschrieben werden kann Wird z B zur Speicherung von Variablen und des Stacks verwendet

Perip

here

Mod

ule

32 programmierbare Ein- und Ausgaumlnge

Der Mikrocontroller ist 40-polig Davon koumlnnen 32 Pole entweder als Ein- oder Aus-gang programmiert werden

Zwei 8-bit- und ein 16-bit-Timer mit Vorteilern und Ver-gleichs-Modus

Die vom Quarzoszillator gesteuerten Timer erlauben z B praumlzise Zeitmessungen oder Interrupts bei bestimmten Zaumlhlerstaumlnden Die maximalen Zaumlhlerstaumlnde sind bei 8 bit 255 und bei 16 bit 1023 Vorteiler erlauben eine Verringerung der Zaumlhlrate

Programmierbare USART USART steht fuumlr Universal SynchronousAsynchronous Receiver Transmitter Seriel-

le Schnittstelle die zur Datenuumlbertragung zwischen Mikrocontroller und Computer benutzt wird

I2C Interface

I2C ist ein synchroner serieller Zweidraht-Bus mit einer Daten- und einer Taktleitung zur Kommunikation zwischen ICs Nach dem Master-Slave-Prinzip kann ein Master bis zu 128 Slaves ansprechen Die Uumlbertragungsrate liegt im Standard-Mode bei 100 kbits

Externe und interne Interrupts

Interrupts unterbrechen das Hauptprogramm des Mikrocontrollers um kurzfristige und zeitkritische Verarbeitungen durchzufuumlhren Externe Interrupts werden durch am Mikrocontroller angeschlossene Hardware gesteuert interne Interrupts durch die Programmierung des Mikrocontrollers

4 PWM-Ausgaumlnge PWM steht fuumlr Pulse Width Modulation (Pulsweitenmodulation) Timer stellen an 4

Ausgaumlngen Rechteckimpulse der Dauer t und Unterbrechungsdauer T-t mit variab-lem Tastverhaumlltnis tT zur Verfuumlgung

8 10-bit ADC

ADC steht fuumlr Analog to Digital Converter (AD-Wandler) Integrierte Schaltung die analoge Eingangsspannung Ue in digitale Ausgangsspannung (Zahl) umwandelt

10-bit Aufloumlsungsvermoumlgen des AD-Wandlers Kleinster aufloumlsbarer Spannungsun-terschied ist (Uemax - Uemin)210

Tab 3 Features des Mikrocontrollers ATmega16

15

212 Basisschaltung und Erweiterungsschaltungen Abb 5 zeigt am Beispiel des RCLs Elektronenbeugung die Platine des Interface mit den Funktionsgruppen 1 - 5 der Basisschaltung und den Funktionsgruppen 6 und 7 der Erweite-rungsschaltungen (larr 11 Abb 4)

Abb 5 Platine des Interface des RCLs Elektronenbeugung

Abb 6 zeigt den dazugehoumlrigen Schaltplan mit den Nummern der Funktionsgruppen und die Pinbelegung des Mikrocontrollers ATmega16

Abb 6 Schaltplan des Interface des RCLs Elektronenbeugung (links) und Pinbelegung

des Mikrocontrollers ATmega16 (rechts)

16

Basisschaltung Die Spannungsversorgung (1) des Interface erfolgt uumlber ein Universal-Steckernetzteil mit der Betriebsspannung Ub = 12 V Eine Diode SB140 schuumltzt die Elektronik des Interface vor falscher Polung der Spannungsversorgung Der Spannungsregler L7805 wandelt die Betriebsspannung am Hohlstecker in eine Gleichspannung von 5 V fuumlr die Spannungs-versorgung der elektronischen Bauelemente des Interface um Die Betriebsspannung kann im Interface auch direkt zur Ansteuerung von Relais oder zur Spannungsversorgung kleinerer Motoren verwendet werden Bei Bedarf kann unter Beachtung der Kuumlhlung des L7805 das Interface mit houmlheren Betriebsspannungen z B fuumlr staumlrkere Schrittmotoren betrieben werden Die nicht hinreichend stabile und temperaturabhaumlngige Frequenz des internen RC-Oszillators im Mikrocontroller (2) kann bei Verwendung der USART zu Problemen fuumlhren Daher wird ein externer 110592 MHz Schwingquarz (3) eingesetzt Der IC MAX232 ist ein Pegelwandler der die 0V+5 V-Signale der seriellen Schnittstelle (4) des Mikrocontrol-lers an die plusmn12 V-Signale der seriellen Schnittstelle des Computers anpasst Uumlber den ISP-Stecker kann der Mikrocontroller programmiert werden (5) Das Interface in der Ba-sisschaltung kann im Selbstbau angefertigt werden (rarr 41)

Erweiterungsschaltungen Nur die wenigsten Aktoren Sensoren gesteuerte Geraumlte und Bauelemente eines RCLs lassen sich direkt vom Mikrocontroller ansteuern Beim RCL Elektronenbeugung wird die Heizspannung der Elektronenkanone mit einem Relais zum Schalten der Netzspannung des Hochspannungsnetzgeraumltes ein- und ausgeschaltet (6) Liefert der Mikrocontroller am Port PA0 die Spannung 5 V (high) so wird die Kollektor-Emitter-Strecke des Transistors BC 337 niederohmig fast die gesamte Betriebsspannung Ub = 12 V faumlllt uumlber dem Relais ab und es flieszligt ein Strom durch das Relais Die Diode 1N4001 schuumltzt den Transistor vor Induktionsspannungsspitzen beim Ein- und Ausschalten der Spule im Relais Am Steuereingang des Hochspannungsnetzgeraumlts kann durch Anlegen einer Steuer-spannung US zwischen 0 V und 5 V die Beschleunigungsspannung der Elektronenkanone zwischen 0 und 43 kV im belasteten Zustand bei eingeschalteter Gluumlhkathode variiert werden Die analoge Steuerspannung US erzeugt ein 8-bit Digital-Analog-Wandler PCF8591 der uumlber den I2C-Bus des Mikrocontrollers (Ports PC0 und PC1) mit Binaumlr-codes zwischen 0 und 255 angesteuert wird (7) Die Ausgangsspannung des DA-Wandlers liegt in 256 Stufen zwischen 370 mV und 497 V Dieser Schaltung wurde der Vorzug gegenuumlber der Erzeugung einer Steuerspannung mit Hilfe eines der Pulsweiten-modulationsausgaumlnge des Mikrocontrollers gegeben weil der Programmieraufwand ge-ringer und die Steuerspannung keine Restwelligkeit aufweist

Eine Uumlbersicht zu Erweiterungsschaltungen fuumlr Sensoren und Aktoren (rarr 421) zeigt die Anpassungsfaumlhigkeit des Interface an die unterschiedlichsten Experimente

17

213 Programmierung des Mikrocontrollers Im Folgenden wird die Programmstruktur des Mikrocontroller-Programms und die Uumlbertra-gung des Programmcodes in den Mikrocontroller beschrieben

Programmstruktur Der Mikrocontroller ist mit einem Programm (Firmware) ausgestattet um die Aufgaben des Interfaces abzuarbeiten Hierzu zaumlhlen im Wesentlichen Programmteile zur Kommu-nikation mit dem RCL-Server und zur Steuerung des Experiments da das Interface eine Schnittstelle zwischen Experiment und RCL-Server darstellt Weitere Programmteile sind beispielsweise zur Initialisierung des Versuchsaufbaus und der Steuerparameter sowie zur Konfiguration des Interfaces realisiert Abb 7 zeigt ein Flussdiagramm der Programm-teile zur Kommunikation mit dem RCL-Server und zur Steuerung des Experiments

Abb 7 Flussdiagramm der Programmierung des Mikrocontrollers

Der Programmteil zur Kommunikation mit dem RCL-Server besteht im Wesentlichen aus einer Schleife die unablaumlssig auf Steuerzeichen des RCL-Servers wartet diese gegebe-nenfalls empfaumlngt und auswertet Soll mittels eines empfangenen Steuerzeichens der Versuchsaufbau angesteuert werden wird vom Kommunikations-Programmteil eine ent-sprechende Anweisung fuumlr den Steuerungs-Programmteil generiert In der Schleife wer-den auch Antworten wie z B Messergebnisse des Steuerungs-Programmteils entgegen-genommen und an den RCL-Server ausgegeben Der Kommunikations-Programmteil kann Kommandos mit und ohne Parameter entgegen-nehmen und verarbeiten So lassen sich einfache Befehle wie Start und Stopp eines Mo-tors aber auch speziellere Anweisungen wie Messe uumlber den Bereich von a nach b mit einer Schrittweite c ausfuumlhren Auch Messergebnisse oder Statusinformationen in Form einzelner Daten wie Zahlen oder Listen koumlnnen vom Kommunikations-Programmteil an den RCL-Server uumlbertragen werden Ferner uumlbernimmt der Kommunikations-Programmteil auch den Austausch von Konfigurationsdaten fuumlr das Interface beispiels-

18

weise Motorparameter oder Zeitvorgaben fuumlr eine Standby-Funktion Schlieszliglich gibt der Kommunikations-Programmteil auch Fehlermeldungen an den RCL-Server aus etwa bei einem Fehlerzustand im Experiment oder bei fehlerhaften Anweisungen des Besuchers bzw des RCL-Servers Im Programmteil zur Steuerung des Experiments erfolgt die Ansteuerung von Aktoren und das Auslesen von Sensoren mittels elektronischer Aus- und Eingaumlnge (Ports) des Mikro-controllers Gegebenenfalls sind zwischen den Ports des Mikrocontrollers und dem Expe-riment Erweiterungsschaltungen erforderlich (larr 212 Erweiterungsschaltungen) Der Steuerungs-Programmteil ist als Interrupt-Routine implementiert Interne Zeitgeber des Mikrocontrollers rufen den Programmteil zyklisch z B alle 1 oder 10 Millisekunden auf wobei die zuvor beschriebene Schleife des Kommunikations-Programmteils kurzzeitig fuumlr die Abarbeitung des Steuerungs-Programmteils unterbrochen wird Hierdurch wird die Steuerung als Real-Time-Prozess12 ausgefuumlhrt und es koumlnnen insbesondere zeitkritische Steueraufgaben mit einer Aufloumlsung von ungefaumlhr 1 - 10 ms zuverlaumlssig erledigt werden Ferner ist im Mikrocontroller und dem Programm ein sogenannter Watchdog installiert der das Programm bei einem Programmabsturz automatisch neu startet Der Watchdog als elektronische Baugruppe im Mikrocontroller fuumlhrt einen Neustart des Mikrocontrollers (Reset) durch sofern er nicht mehr uumlber das Programm in vorgegebenen Zeitintervallen angesteuert wird Je nach RCL gibt es noch weitere Interrupt-Routinen die unabhaumlngig vom Zeittakt des Mikrocontrollers auf externe Ereignisse wie z B Ausgangsspannungsaumlnderungen eines Sensors reagieren Damit kann besonders schnell auf Erfordernisse des Experiments re-agiert oder es koumlnnen Zeitmessungen mit einer Genauigkeit von ungefaumlhr 10-6 s durchge-fuumlhrt werden Im Anhang (rarr 431) ist der Pascal-Quellcode fuumlr den Mikrocontroller des RCLs Elektronenbeugung verfuumlgbar

Programmuumlbertragung Nach der Kompilierung des Assembler- Basic- C+- C++- oder Pascal-Programms liegt eine Hexadezimaldatei vor die vom Computer in den Mikrocontroller uumlbertragen werden muss (Flashen des Programms) Zur Programmuumlbertragung muss das AVR-Studio instal-liert und konfiguriert sein (rarr 441) Abb 8 zeigt wie die Programmuumlbertragung durchge-fuumlhrt wird

12 Real-Time bedeutet hier dass die maximale Dauer eines Vorgangs vorhersehbar und gewaumlhrleistet ist dass eine Steuer-

aufgabe nach einer vorhersehbaren Zeit abgeschlossen ist

19

Abb 8 Programmuumlbertragung zwischen Computer und Mikrocontroller im Inter-

face des RCLs Elektronenbeugung uumlber USB-Seriell-Adapter und ISP-Programmer

Das Interface braucht nicht mit dem Experiment verbunden zu sein Auch Erweiterungs-schaltungen innerhalb oder auszligerhalb des Interface muumlssen nicht mit dem Mikrocontroller verbunden sein Das Interface ermoumlglicht uumlber die ISP-Schnittstelle die Programmierung mit einem preisguumlnstigen ISP-Programmer ohne ein teureres Experimentierboard13 Zur Uumlbertragung des Programms muss in folgenden Schritten vorgegangen werden

(1) Spannungsversorgung des Interface zur Sicherheit unterbrechen weil beim Verbinden mehrpoliger Steckerverbindungen es zu Kurzschluumlssen kommen kann

(2) 10-poligen ISP-Stecker des ISP-Programmers an die ISP-Schnittstelle des Interface anschlieszligen

(3) ISP-Programmer an die serielle Schnittstelle oder uumlber USB-Seriell-Adapter an die USB-Schnittstelle des Computers anschlieszligen

(4) Spannungsversorgung des Interface wieder herstellen

(5) AVR-Studio unter StartProgramme aufrufen und nach Abb 9 in der Registerkarte Program unter Flash die zu uumlbertragende Hexadezimal-Datei z B Elektronenbeu-gunghex auf der Festplatte auswaumlhlen und Program waumlhlen

13 Vgl ATMEL STK 500 Entwicklerkit bei Reichelt Elektronik

20

Abb 9 Uumlbertragung der Hexadezimaldatei Elekt-

ronenbeugunghex in den Mikrocontroller

(6) Spannungsversorgung des Interface unterbrechen ISP-Programmer vom Interface trennen AVR-Studio beenden und den ISP-Programmer vom Computer trennen

22 Hyperterminal Nach der Programmuumlbertragung kann das Experiment uumlber das konfigurierte Hyperterminal (rarr 454) lokal gesteuert werden Mit dem Hyperterminal koumlnnen als Text eingegebene Be-fehle oder Abfragen an den Mikrocontroller gesendet oder von diesem empfangen werden Der Computer muss wie bei der Programmuumlbertragung mit dem Interface per Null-Modem-Kabel uumlber die serielle Schnittstelle oder einen USB-Seriell-Adapter verbunden sein Das In-terface muss an die Versorgungsspannung anschlossen sein braucht aber nicht mit dem Experiment verbunden zu sein Abb 10 zeigt nach Eingabe von und von param im Hyper-terminal die Befehlsliste des Mikrocontrollers fuumlr das RCL Elektronenbeugung

21

Abb 10 Befehlsliste des Mikrocontrollers im Hyperterminal fuumlr das RCL Elektronenbeugung

Tab 4 gibt Erlaumluterungen zur Befehlsliste

BefehlAbfrage Erlaumluterung

DA x Am Eingang des DA-Wandlers wird die Zahl x (0 - 255) im Binaumlrcode

angelegt und die Ausgangsspannung des Hochspannungsnetzgeraumlts bzw die Beschleunigungsspannung der Elektronenkanone eingestellt

OnOff Hochspannungsnetzgeraumlt und Gluumlhkathode der Elektronenkanone ein-

oder ausschalten Beim Einschalten wird die Steuerspannung des Inter-face am Hochspannungsnetzgeraumlt auf asymp 0 V einstellt

Standby Ausgabe der eingestellten Standbyzeit von 300 s setSB x Standbyzeit einstellen

next Standby in Ausgabe der verbleibenden Standbyzeit (254 s) bis das Experiment

ausgeschaltet wird Eine negative Standbyzeit gibt die Zeit seit dem Ab-lauf der Standbyzeit an

Power On Delay Ausgabe der Verzoumlgerungszeit (2 s) bis das Hochspannungsnetzge-

raumltElektronenbeugungsroumlhre nach dem Ausschalten oder nach Ablauf der Standbyzeit erneut eingeschaltet werden kann

setPOD x Verzoumlgerungszeit einstellen

power on enabled in Ausgabe wie lange Hochspannungsnetzgeraumlt nicht eingeschaltet wer-

den kann Zeiten unter 0 bedeuten dass Power-On-Delay-Zeit ablaufen ist

Tab 4 Erlaumluterung der Befehle in Abb 10

23 Positionieren von Objekten In fast allen RCLs des RCL-Portals auszliger den RCLs Elektronenbeugung und Oszilloskop muumlssen Objekte rotatorisch oder translatorisch positioniert werden Eingesetzt werden Hyb-rid-Schrittmotoren als Aktoren eine Schrittmotorsteuerung von Trinamic als Erweiterungs-schaltung (TMC222-Modul) die Positionierungseinheit ausgedienter Flachbrett-Scanner und ein Referenz-Taster als Sensor

231 Hybrid-Schrittmotoren Abb 11 zeigt den vereinfachten schematischen Aufbau eines zweiphasigen Schrittmotors mit getrennten magnetischen Kreisen des Stators und einem permanent magnetisierten zweipoligen Rotor (Polpaarzahl 1)

22

Abb 11 Funktionsprinzip von Schrittmotoren Unipolare (links) und bipolare Schaltung (rechts)

von Schrittmotoren mit Bestromungstabellen fuumlr Voll- und Halbschrittbetrieb Darge-stellt ist der Schritt 0

Der Rotor verfuumlgt bei der dargestellten Polreihenfolge S-S-N-N des Stators uumlber eine stabile Stellung bei einer hypothetischen (magnetische Monopole) Polreihenfolge N-S-N-S gaumlbe es mit diesem Aufbau des Stators nur instabile Stellungen des Rotors Um den Rotor in Bewe-gung zu setzen muss die Polreihenfolge S-S-N-N im oder entgegen den Uhrzeigersinn (Rechts- oder Linksdrehung) weitergeschaltet und der Rotor vom magnetischen Schrittfeld mitgenommen werden

Die magnetische Polaritaumlt eines magnetischen Kreises laumlsst sich entweder durch zwei Spu-len konstanter elektrischer Polaritaumlt mit unterschiedlichem Wicklungssinn (herstellungstech-nisch zu aufwendig) durch eine Spule mit Mittelanzapfung und konstanter elektrischer Pola-ritaumlt der beiden Teilspulen (unipolare Schaltung) oder durch eine Spule mit wechselnder elektrischer Polaritaumlt (bipolare Schaltung) realisieren In Abb 11 sind dazu die elektrischen Beschaltungen und die Bestromungstabellen fuumlr eine Rechtsdrehung des Rotors dargestellt Fuumlr eine Linksdrehung des Rotors muss die Schrittfolge in umgekehrter Reihenfolge durch-laufen werden

Es wird zwischen Vollschrittbetrieb (graue Zeilen der Tabellen) mit Schrittwinkel 90deg bzw Schrittzahl 4 und Halbschrittbetrieb (alle Zeilen der Tabellen) mit Schrittwinkel 45deg bzw Schrittzahl 8 unterschieden Beim Vollschrittbetrieb werden immer beide magnetische Kreise bestromt und die N-S-Polachse des Rotors nimmt nur Stellungen zwischen den Statorpolen

23

an Beim Halbschrittbetrieb wird zwischen den Vollschritten nur einer der magnetischen Krei-se bestromt und die N-S-Polachse des Rotors kann zusaumltzlich 4 Stellungen in Richtung der Statorpole einnehmen Der Hybrid-Schrittmotor ist die am haumlufigsten vertretene Bauform von Schrittmotoren Abb 12 zeigt den Aufbau eines Hybrid-Schrittmotors

Abb 12 Aufbau eines Hybrid-Schrittmotors fuumlr unipolare und

bipolare Schaltung Daten Schrittwinkel 18deg max Drehmoment 155 Ncm

Der Stator besteht aus zwei Straumlngen mit je 4 in Reihe geschalteten Spulen Der Wick-lungssinn der Spulen ist in beiden Straumlngen so dass sich die Polfolge N-S-N-S uumlber den Umfang ergibt Beide Straumlnge zusammen ergeben unabhaumlngig von der Stromrichtung ei-ne Polfolge N-N-S-S-N-N-S-S uumlber den Umfang Ein zweipoliger Rotor (Polpaarzahl 1) kann im Vollschrittbetrieb 4 Stellungen annehmen Der Rotor des Hybridschrittmotors be-steht aber aus axial magnetisierten Permanentmagneten deren Polpaarzahl durch axial versetzte weichmagnetische Zahnscheiben auf 50 erhoumlht wurde Dadurch erhoumlht sich die Schrittzahl auf 4 sdot 50 = 200 und der Schrittwinkel verkleinert sich auf 360deg200 = 18deg Um stabile Rotorstellungen zu erhalten muumlssen die Statorsegmente ebenfalls gezahnt ausge-fuumlhrt werden

Ein solcher Hybrid-Schrittmotor vereint die Vorteile des Reluktanz- und des permanenter-regten Schrittmotors Ein kleiner Schrittwinkel wird durch das von Reluktanzschrittmotoren bekannte Prinzip der Erzeugung einer Vielzahl von Polen des Rotors durch Zahnscheiben erzielt Ein hohes Drehmoment wird durch das von permanenterregten Schrittmotoren be-kannte Prinzip der Ausfuumlhrung des Rotors als Permanentmagnet erzielt Aufgrund der bi-filaren Wicklung besteht jede Statorwicklung aus zwei Teilspulen und der Schrittmotor kann in unipolarer (alle 6 Anschluumlsse verwendet) und bipolarer Schaltung (nur 4 An-schluumlsse verwendet gemeinsamer Anschluss der Teilspulen bleibt unverwendet) wie in Abb 12 dargestellt verwendet werden

24

Schrittmotoren erlauben nicht nur das Bewegen sondern innerhalb der Leistungsgrenzen (keine Schrittverluste) auch ein genaues Positionieren von Objekten Bei bekannter Schrittzahl auf einer gemessenen Strecke oder Schrittzahl fuumlr den Vollwinkel koumlnnen aus-gehend von einer Referenzstellung Objekte translatorisch oder rotatorisch positioniert werden

232 Schrittmotorsteuerung und Positionierungsmechanik Im Folgenden wird die bei allen RCLs mit Schrittmotoren eingesetzte Schrittmotorsteuerung die Mechanik zur translatorischen Positionierung von Objekten und die Funktionsweise eines Referenztasters beschrieben

Schrittmotorsteuerung Abb 13 zeigt das Blockschaltbild und das im Selbstbau herstellbare TMC222-Modul (rarr 4221 rarr 4222) mit dem IC TMC222 von Trinamic zur Steuerung bipolarer 2-phasiger Hybrid-Schrittmotoren

Abb 13 Blockschaltbild (links) und Platine des TMC222-Moduls (rechts) mit IC TMC 222 auf

der Loumltseite der Platine

Der IC TMC222 enthaumllt ein I2C-Interface zum Anschluss an den I2C-Bus des Mikrocon-trollers (Ports PC0 und PC1) Die 10 kΩ-Pull-up-Widerstaumlnde heben die Takt- (SCL clock) und Datenleitung (SDA data) auf ein Potential von 5 V Der IC TMC222 enthaumllt ei-nen Motortreiber fuumlr Spulenstroumlme bis zu 800 mA und einen Motor-Controller zur Steue-rung der Spulenstroumlme Ein Vorteil des TMC-Moduls ist der relativ geringe Programmier-aufwand fuumlr den Mikrocontroller (rarr 4223) da der IC TMC222 nach Uumlbergabe der Steu-erungsparameter (Drehrichtung Drehzahl hellip) vom Mikrocontroller die Ansteuerung des Schrittmotors uumlbernimmt Der IC TMC222 unterstuumltzt das Beschleunigen und Abbremsen des Schrittmotors enthaumllt einen Schrittpositionszaumlhler und unterstuumltzt Mikrostepping (va-riable Spulenstroumlme zur elektronischen Verkleinerung des Schrittwinkels und groumlszligerer Laufruhe)

25

Falls in RCLs Gleichstrommotoren mit houmlheren Drehzahlen als Schrittmotoren benoumltigt werden kann eine andere Erweiterungsschaltung (rarr 424) eingesetzt werden

Positionierungsmechanik und Referenz-Taster Die Mechanik zur rotatorischen Positionierung von Objekten kann meist kostenguumlnstig selbst oder durch Personal in einer Werkstatt angefertigt werden Abb 14 zeigt eine kos-tenguumlnstige Loumlsung zur translatorischen Positionierung von Objekten

Abb 14 Positionierungseinheit eines Flachbrett-

Scanners Schrittmotor (1) Getriebe (2) Li-nearfuumlhrung (3) Antriebsriemen (4) und er-gaumlnzter Referenz-Taster (5)

Falls der geometrische Aufbau und die geforderte Positionierungsgenauigkeit des RCLs es zulassen kann die Schrittmotor-Positionierungs-Einheit ausgedienter Flachbrett-Scanner zur translatorischen Positionierung von Objekten verwendet werden In Einzelfaumll-len wie dem RCL Weltpendel kann die Positionierungsmechanik auch selbst angefertigt werden Der Referenz-Taster in Abb 14 wird eingesetzt um abzufragen ob ein vom Schrittmotor bewegtes Objekt die Position des Tasters erreicht hat und um diese Position zu referenzieren Ohne eine solche Referenzierung kann die Positionierung eines Objekts langfristig ungenau werden So kann z B beim RCL Weltpendel das Auftreffen der Kugel auf den Magneten zum Uumlberspringen von Schrittmotorstellungen fuumlhren Der Zustand des Referenz-Tasters in Abb 15 wird z B uumlber den Port PA0 des Mikrocontrollers abgefragt

Abb 15 Referenz-Taster zum referenzieren der

Position des bewegten Objekts

26

Zu Problemen koumlnnen undefinierte Zustaumlnde der Eingaumlnge des Mikrocontrollers fuumlhren wie sie beim Prellen dem zeitlich begrenzten schwingen eines Tasters beim Oumlffnen oder Schlieszligen entstehen Abhilfe schafft ein passend dimensionierter parallel zum Taster ge-schalteter Kondensator Bei geoumlffnetem Taster ist der Kondensator aufgeladen Beim Schlieszligen haumllt der Kondensator die Spannung uumlber die Schwingphase trotz kurzzeitig wieder geoumlffnetem Schalter noch aufrecht Analoges gilt fuumlr den Uumlbergang vom geschlos-senen zum geoumlffneten Taster

3 Ferngesteuertes RCL 31 RCL-Server Fuumlr den Betrieb eines RCLs wird ein RCL-Server benoumltigt (larr 11) Vorausgesetzt wird dass bei einem neuen Computer alle notwendigen Treiber (Ethernet Video Audio hellip) zum Be-trieb der Hardware des Computers und Windows XP Professional mit Service Pack 3 instal-liert sind Ein Benutzerkonto braucht nicht angelegt zu werden

Der RCL-Server benoumltigt einen Internetzugang mit statischer IP-Adresse und Uploaddatenra-te von mindestens 200 kbits (DSL 2000) fuumlr die fluumlssige Wiedergabe von Bewegungen in Webcambildern Die statische IP-Adresse wird von der Institution am Standort des RCLs vergeben oder kann von Privatpersonen bei einem Provider beantragt werden Mit folgenden Schritten wird der RCL-Server eingerichtet

Internetzugang einrichten (rarr 451) und im Browser testen

Checken ob die Windows Firewall aktiviert ist

Virenschutzproramm Avira Antivir Personal herunterladen (larr Tab 1) installieren und ak-tualisieren

Uumlber Windows Update alle Updates von Windows XP Professional installieren

Fernwartungssoftware TeamViewer 6 Vollversion (larr Tab 1) herunterladen und auf dem RCL-Server und dem eigenen Computer installieren (rarr 455)

Webeditor Notepad++ herunterladen installieren und aktualisieren (larr Tab 1)

Videoserver WebcamXP 5 herunterladen und installieren (rarr 453)

Paket XAMPP herunterladen und installieren (rarr 452) Verknuumlpfungen mit den Dateien xampphtdocsapache_startbat und xampphtdocsapache_stopbat auf dem Desktop oder in der Schnellstartleiste erstellen und Webserver mit erstgenannter Verknuumlpfung starten Webserver durch Eingabe von 127001 oder localhost ins Adressfeld des Brow-sers testen Bei erfolgreichem Test werden die im Ordner xampphtdocs abgelegten Webseiten von XAMPP dargestellt Statische IP-Adresse des RCL-Servers im Browser eines anderen Computers mit Internetzugang eingegeben Bei erfolgreichem Test werden die Webseiten von XAMPP dargestellt In der Datei xamppphpphpini unter Resource Limits die max_execution_time mit dem Windows-Editor von 60 auf 300 erhoumlhen und die

27

Datei speichern damit PHP bei Befehlen mit laumlngerer Ausfuumlhrungsdauer keine Fehler-meldung liefert

Ordner xampphtdocs mit den Webseiten von XAMPP in xampphtdocs_xampp um-benennen und fuumlr spaumltere Testzwecke nicht loumlschen RCL-Ordner htdocs herunterladen (larr Tab 1) extrahieren und in das Verzeichnis xampp verschieben

Abb 16 zeigt die Struktur des RCL-Ordners htdocs

Abb 16 Struktur des RCL-Ordners htdocs RCL-spezifisch anzupassende Dateien sind grau

hinterlegt

Der geoumlffnete Ordner Labor enthaumllt alle PHP- und HTML-Dateien bzw Programmierungen fuumlr die Funktionalitaumlt des Bedienfelds der Laborseite (larr 11 Abb 3) An das RCL anzupas-sen sind die portalsprachenunabhaumlngigen Dateien configphp und experimentphp sowie fuumlr jede Portalsprache die Dateien defaultconf und experimenttpl in den Ordnern eng fra ger und ita

Datei configphp Zeit bis zum automatischen Logout beim Experimentieren mit dem RCL eintragen

Datei experimentphp PHP-Basisprogrammierung um die RCL-spezifische PHP-Programmierung erweitern (rarr 432)

Datei defaultconf Name des RCLs (z B Elektronenbeugung) in jeder Portalsprache ein-getragen

Datei experimenttpl HTML-Basisprogrammierung um RCL-spezifische Ein- und Ausga-befelder erweitern (rarr 433)

28

32 Laborseite 321 Steuerung des RCLs uumlber das Bedienfeld Das Bedienfeld der Laborseite (larr 11 Abb 3) wird von der Dateien indexphp und experi-menttpl erzeugt Befehle wie das Anklicken von Buttons Eingaben und Auswahl aus Listen werden in ein HTML-Formular mit Formularfeldern in der Datei experimenttpl geschrieben Die Daten werden von der PHP-Datei experimentphp ausgewertet und uumlber die serielle Schnittstelle dem Mikrocontroller-Programm zur Steuerung des Experiments uumlbergeben Die Dateien experimentphp und experimenttpl wurden getrennt angelegt um Code und Design zu trennen und nur das Design in der Datei experimenttpl an die Portalsprache anpasst werden muss

Tab 5 enthaumllt Ausschnitte der HTML-Datei experimenttpl (rarr 433) der Datei experi-mentphp (rarr 432) und des Mikrocontroller-Programms (rarr 431) fuumlr das RCL Elektronen-beugung

29

Code mit Erlaumluterung

expe

rimen

ttpl

1821 Tag ltformgtltformgt definiert ein Formular 18 Attribut action legt fest dass Formulardaten in der Datei indexphp verarbeitet werden Uumlbertragen

werden eine Session-ID ($sid) um exklusiven Zugriff des jeweilgen Besuchers zu sichern und ($portal) um die vom Besucher gewaumlhlte Sprache beizubehalten post ist eine Uumlbertragungsmethode zwischen Browser und Webserver und gibt die die vom Besucher gewaumlhlte Aktion zum Ansteuern des Experiments an die Datei experimenttpl weiter

20 Erzeugt im Bedienfeld den Sendebutton (submit) mit der Aufschrift Elektronenroumlhre einschalten (valu-e)

19 Unsichtbares Feld (hidden) mit Variablennamen action und Wert RoumlhreAn Der Variablenname ac-tion stimmt nur zufaumlllig mit action in Zeile 18 uumlberein

expe

rimen

tphp

24 Die Funktion wird als Eventhaumlndler bezeichnet weil je nach uumlbergebener Aktion - siehe Zeile 19 in experi-

menttpl - die entsprechenden Anweisungen (case) ausgefuumlhrt werden 37 Fuumlr den Fall dass die Variable $action den Wert RoumlhreAn hat wird die Funktion power_on() aufgeru-

fen

59 Schreibt in die Logdatei logtxt den Text RoumlhreAn 6061 Oumlffnet den in der Datei configphp zentral gespeicherten Com-Port an den das Interface angeschlossen ist

oder gibt Fehlermeldung Can not access file system im Bedienfeld aus falls der Com-Port sich nicht oumlff-nen laumlsst

62 Sendet die Zeichenfolge On und chr(13) (entspricht der Betaumltigung der Return-Taste im Hyperterminal) an den Mikrocontroller

63 Schlieszligt serielle Schnittstelle

Que

llcod

e M

ikro

cont

rolle

r

166 Wird uumlber die serielle Schnittstelle der Befehl on empfangen und ist das Einschalten zulaumlssig (Zeiten fuumlr

PowerOnDelay und Standby abgelaufen) dann hellip 167 Hochspannungsnetzgeraumlt einschalten 168 Der DA-Wandler PCF8591 wird unter seiner Adresse PCF8591 = 01001000 angesprochen Parameterein-

stellungen mit 01000000 und Ausgangsspannung auf 0 V einstellen 169 Setzt Standby auf vorgegebene Standbyzeit zuruumlck 171 Gibt Meldung aus wie lange PowerOnDelay noch dauert

Tab 5 Uumlbertragung des Befehls Elektronenroumlhre einschalten vom Bedienfeld zum Experi-ment

30

Anhand der Erlaumluterungen der Programmcodes koumlnnen die Ablaumlufe zwischen dem Druumlcken des Buttons Elektronenroumlhre einschalten und dem Einschalten der Elektronenbeugungs-roumlhre oder der Eingabe einer Beschleunigungsspannung und dem Anlegen einer Beschleu-nigungsspannung verfolgt werden Uumlber das Bedienfeld koumlnnen nur die von der Datei expe-rimenttpl bereitgestellten Befehle on und da der insgesamt implementierten Befehle (rarr 22 Abb 10) aufgerufen werden

322 Videouumlbertragung im Webcamfeld Zur Aufnahme von Livebildern des Experiments koumlnnen USB-Webcams und IP-Kameras (Netzwerkkameras) eingesetzt werden Teurere IP-Kameras muumlssen eingesetzt werden wenn die Kamera wie z B beim RCL Roboter im Labyrinth zu weit vom Computer entfernt ist oder eine besonders lichtempfindliche Kamera aus der Uumlberwachungstechnik wie z B beim RCL Millikan-Versuch benoumltigt wird W-LAN-Kameras kommen zum Einsatz wenn Bil-der von einem beweglichen Objekt aus wie z B beim RCL Roboter im Labyrinth uumlbertra-gen werden sollen

Das Videoserverprogramm webcamXP 5 erkennt beim Aufrufen automatisch an den RCL-Server angeschlossenen USB-Webcams Vor dem Kauf einer IP-Kamera ist zu pruumlfen ob das Modell unterstuumltzt wird14 IP-Kameras muumlssen im Kontextmenuuml der Videoquelle konfigu-riert werden Abb 17 zeigt das Webcambild einer USB-Webcam vom Szintillationsschirm der Elektronenbeugungsroumlhre

Abb 17 Webcambild des Szintillationsschirms der Elektro-

nenbeugungsroumlhre einer USB-Webcam in webcamXP 5 beim RCL Elektronenbeugung

14 Vgl Moonware Studios webcamXP IP-cameras for webcamXP

31

Zum Einbinden des Webcambilds in die Laborseite des RCLs wird die laborsprachenabhaumln-gige Datei videohtm (rarr 434) in den Ordnern eng fra ger und ita verwendet Standardmauml-szligig werden zwei Webcambilder und Screenshots unterstuumltzt der Code fuumlr weitere Webcam-bilder kann durch copy and paste hinzugefuumlgt werden

Unter den Technologien Java Javaskript Flash und Windows Media fuumlr die Wiedergabe ei-nes Livestreams auf eine Webseite wurde Javaskript gewaumlhlt weil die anderen Technologien die Installation des Java Runtime Environments (JRE) des Flash- oder Windows Media Players durch den Besucher eines RCLs voraussetzen Die Wiedergabe des Livestreams mit einem Java-Applet startet zudem erst verzoumlgert nachdem das Applet geladen ist und verfuumlgt uumlber eine zu geringe Wiedergabegeschwindigkeit

33 Standard-Lernumgebung Bestandteil der Entwicklung eines RCLs ist die Erstellung einer Standard-Lernumgebung zum RCL Abb 18 zeigt exemplarisch fuumlr die deutschen Webseiten im Ordner ger das Menuuml (larr 11 Abb 3) und die Dateistruktur der Standard-Lernumgebung

Abb 18 Deutschsprachiges Menuuml und Dateistruktur der Standard-Lernumgebung

RCL-spezifisch anzupassende Dateien sind grau hinterlegt

Die englischen Dateinamen introductionhtm setuphtm hellip im Ordner ger korrespondieren mit den deutschen Menuumlpunkten Wird das RCL unter dem Menuumlpunkt RCLs des RCL-Portals aufgerufen dann ruft die Frameset-Datei indexhtm die Dateien menuumlhtm und intro-ductionhtm auf und das Menuuml wird zusammen mit der Webseite Einstieg dargestellt Die Wahl weiterer Menuumlpunkte ruft jeweils die korrespondiere Datei im Ordner auf Bei Wahl des Menuumlpunkts Labor werden mit der Frameset-Datei laboratoryhtm die Dateien videohtm fuumlr das Webcamfeld und die Datei laborindexphp fuumlr das Bedienfeld aufgerufen

32

Im Ordner docsmaterial werden alle Dokumente fuumlr die Webseite Material im Ordner docsothers die Dokumente anderer Webseiten abgelegt Im Ordner docsoriginals sind die Originale von Dokumenten wie z B Word-Dateien und der verwendeten Bilder abgelegt Grafikdateien der Webseiten Einstieg hellip Auswertung hellip Betreuung werden in gleichnami-gen Ordnern wie z B imagesanalysis abgelegt Bei sprachenunabhaumlngigen Grafikdateien wird unter dem Dateinamen abbx bei sprachenabhaumlngigen unter dem Dateinamen abbx_lan mit lan = eng fra ger und ita gespeichert Analoges gilt fuumlr die als gif-Grafiken forxgif oder forx_langif zu speichernden Formeln Originale von Bildern werden im Ordner imagesoriginals abgelegt Die Webseite zur Datei htdocsindexhtm enthaumllt zum lokalen Aufrufen der Standard-Lernumgebung Links zu den vier Index-Dateien in den Ordnern eng fra ger und ita Die Stylesheet-Datei htdocsrcl_stylecss enthaumllt die Styles der Webseiten

In der Regel werden Standard-Lernumgebungen der RCLs des RCL-Portals von verschiede-nen Personen erstellt Fehlende Gestaltungs- und Formatierungsregeln fuumlhren zu einem un-einheitlichen inattraktivem Erscheinungsbild des RCL-Portals Tab 6 gibt einen Uumlberblick der wichtigsten Gestaltungs- und Formatierungsregeln

Element Richtlinien

Gliederung

Die Webseiten Einstieg Aufbau Aufgaben Diskussion Material und Support enthalten vorgegebene Gliederungspunkte teilweise mit ausgefuumlhrten Uumlberschriften

Die umfangreicheren Webseiten Theorie und Auswertung enthalten ein Inhaltsverzeichnis mit internen Links zu Gliederungspunkten Zwischen Punkten der ersten Gliederungsebene (1 2 hellip) ist ein zwei-zeiliger Abstand (ltpgtampnbspltpgtltpgtampnbspltpgt) zwischen Punkten der zweiten (11 12 hellip) und Punkten der nur falls unbedingt notwendig dritten 111 112 hellip) Gliederungsebene ein einzeiliger Abstand zu waumlhlen Nach Abbildungen und Tabellen folgt ein einzeiliger Abstand zum nachfolgenden Text

Links Keine internen Links zwischen den Webseiten der Lernumgebung Externe Links werden prinzipiell in einem neuen Browserfenster geoumlffnet (blank)

Abbildung

Alle Abbildungen erhalten fortlaufend beginnend mit 1 nummerierte Abbildungsunterschriften der Form Abb x hellip

Abbildungen sind moumlglichst spachenunabhaumlngig d h ohne Texte in der Abbildung zu erstellen Zur Beschriftung koumlnnen z B Zahlen verwendet werden die in der Abbildungsunterschrift oder im Text er-laumlutert werden

Tabellen Tabellen werden in jeder Webseite fortlaufend beginnend mit 1 nummeriert Tabellen sind zu zentrieren Rahmenstaumlrke 1

Formeln

Formeln sind nicht als Textzeichen oder Grafik im laufenden Text einzufuumlgen sondern stets zentriert in einer eigenen Zeile als gif-Grafik

Zum Erstellen der Formel-Grafiken eignet sich z B der Formel-Editor MathType15 mit der Aufloumlsungs-Einstellung 120 dpi fuumlr InternetGif

Formeln brauchen im Rahmen des begrenzten Umfangs der Webseiten nicht nummeriert zu werden Groumlszligen-symbole

Griechische Groumlszligensymbole und mathematische Symbole sind nicht als Grafiken im laufenden Text sondern als HTML-Code einzufuumlgen Eine Zeichenreferenz findet sich bei Selfhtml16

Styles Zur Formatierung der Webseiten werden aus der Stylesheet-Datei nur die drei Styles Uumlberschrift fuumlr

die Uumlberschriften Bildunterschrift fuumlr Abbildungs- und Tabellenunterschriften und Tabellentext fuumlr Tex-te in Tabellen benoumltigt

Tab 6 Richtlinien zur Gestaltung und Formatierung der Standard-Lernumgebung

Detailliertere Informationen zum Layout der Standard-Lernumgebung koumlnnen dem RCL-Ordner und dem Erscheinungsbild der Webseiten von RCLs in Browsern entnommen wer-den

15 Vgl Design Science MathType 16 Vgl Selfhtml HTML-Zeichreferenz

33

4 ANHANG

34

41 Interface in Basisschaltung 411 Schaltplan und Bauteilliste Abb 19 zeigt den Schaltplan der Basisschaltung des Interface und Tab 7 die dazugehoumlrige Bauteilliste

Abb 19 Basisschaltung des Interface

Nr Anzahl Kurzbeschreibung des Bauteils Best-Nr bei Reichelt electronic

Einzelpreis in euro

0 1 Epoxyd-Platine (190x112 mm) mit Anteil Loumltpunktraster (Spezi-

alanfertigung) - asymp 10

1 1

Epoxyd-Fotoplatine einseitig 160x100 mm 15 mm 35 microm Epoxyd-Lochrasterplatine 160x100 mm 15 mm 35 microm

BEL 160x100-1 UP 832EP

170 420

1 1 Hohlstecker-Einbaubuchse gewinkelt Loumltfahnen 21 mm HEBW 21 018 2 1 D-SUB-Stecker 9-polig gewinkelt RM 94 D-SUB ST 09EU 029 3 1 Schottky Diode DO41 40 V 1 A SB 140 008 4 1 Draht von abgeschnittenem Beinchen aus Pos-Nr 3 - - 5 1 IC-Sockel 16-polig superflach gedreht vergoldet GS 16P 029 6 1 IC-Sockel 40-polig superflach gedreht vergoldet GS 40P 061 7 1 2x10-pol-Stiftleiste gerade RM 254 SL 2X10G 254 007 8 1 Metallschichtwiderstand 100 kΩ Metall 100k 0082 9 1 Elektrolytkondensator 10x16 mm 470 microF RM 50 mm RAD 47025 006 10 1 Elektrolytkondensator 63x11 mm 100 microF RM 25 mm RAD 10016 004 11 5 Elektrolytkondensator 5x11 mm 10 microF RM 20 mm RAD 1035 004 12 2 Keramik-Kondensator 33 pF Kerko 33p 006 13 3 Vielschicht-Keramikkondensator 100 nF 20 Z5U-25 100n 004

35

14 1 Standardquarz Grundton 110592 MHz 110592-HC49U-S 018 15 1 Spannungsregler 1 A positiv TO-220 microA 7805 028 16 1 Kuumlhlkoumlrper fuumlr Gehaumluse TO-220 99KW V FI356 066 17 1 Zylinderkopfschraube Schlitz M3 10 mm fuumlr Kuumlhlkoumlrper M3x10mm 160 18 2 Sechskantmutter M3 fuumlr Kuumlhlkoumlrper SK M3 001 19 1 Stecker-Schaltnetzteil 12 V 2250 mA MW 3IP25GS 1150 20 1 RS232-Driver DIL-16 MAX 232 CPE 041 21 1 ATmega AVR-RISC-Controller DIL-40 ATmega16-16 DIP 420 22 3 10-poliger Wannenstecker RM 254 stehend (optional) WSL 10G 009 23 1 14-poliger Wannenstecker RM 254 stehend (optional) WSL 14G 014 24 1 40-polige Stiftleiste 1-reihig gerade RM254 (optional) SL 1x40G 254 023 25 1 Kunststoffgehaumluse 1982x1124x760 mm (Serientyp 202) - asymp 10 euro 26 1 D-SUB Nullmodem-Kabel 9-pol BUBU 3 m AK 143 155 27 x DIN-Einbaubuchse 5-pol Schraubver 360deg (optional) DIO-50W EMS 185 28 x DIN-Einbaubuchse 8-polig Schraubversch 270deg (optional) DIO-80SN EMS 180 29 x Pfostenstecker 10-polig mit Verrieglung gew (optional) PSL 10W 028 30 x Klemmleiste RM 254 Oumlffnungshebel 8-polig (optional) Wago 233 220

Tab 7 Bauteilliste mit Bestellnummer und Einzelpreisen der Bauelemente bei Reichelt electronic (Stand 23102010)

Anhand der Bauteilliste in koumlnnen die elektronischen Bauelemente der Basisschaltung (larr Tab 7 Nr 0 ndash 21 optional Nr 22 - 24) bei Reichelt electronic bestellt werden Das Gehaumluse des Interface (larr Tab 7 Nr 25) sollte vom Hersteller HAGOTECH GmbH bezogen werden Weiterhin wird ein Nullmodemkabel (larr Tab 7 Nr 26) zur Verbindung des Interface mit dem Computer benoumltigt Sensoren und Aktoren des Experiments koumlnnen mit optionalen Steck-verbindern (larr Tab 7 Nr 27 - 30) und entsprechende Kabelverbindungen an das Interface angeschlossen werden Die Nummern 0 - 25 stimmen mit der angegebenen Bestuumlckungs-reihenfolge auf der Platine uumlberein Das Interface kostet in der Basisschaltung ca 50 euro

412 Bestuumlckung der Platine Abb 20 zeigt zur Bestuumlckung der Platine benoumltigte Werkzeuge

Abb 20 Werkzeuge zur Bestuumlckung der Platine des Interface

36

Loumltkolben mit feiner Spitze in Meisselform 2 mm oder Loumltstation (1) Loumltzinnabsauger zum Entfernen von Loumltzinn (2) Nasser Schwamm zum Reinigen der Spitze des Loumltkolbens (3) Loumltzinn mit Durchmesser 08 - 10 mm (4) Flachspitzzange zum Biegen von Anschluumlssen der Bauelemente (5) Seitenschneider zum Kuumlrzen der Beinchen von Bauelementen (6) Multimeter zum Pruumlfen der Funktionsfaumlhigkeit der Schaltung (7) Sekundenkleber zur Befestigung von Bauelementen Kleine Bohrmaschine z B von Dremel und 08 mm Bohrer oder duumlnne Rundfeile zum

Weiten von Loumlchern auf der Platine des Interface

Abb 21 zeigt die Platine des Interface von der Loumltseite in der Spezialanfertigung der Elekt-ronik-Werkstatt an der Technischen Universitaumlt Kaiserslautern und in der Selbstbauvariante (larr Tab 7 Nr 0) Abb 22 zeigt das Platinenlayout

Abb 21 Platine des Interface von der Loumltseite als Spezialanfertigung (links) und der Selbstbauvariante

(rechts)

Abb 22 Layout zur Herstellung des geaumltzten Teils der

Platine in der Selbstbauvariante

37

In der Selbstbauvariante kann anhand des Platinenlayouts eine selbst geaumltzte Platine fuumlr die Basisschaltung auf einer Platine im Europakartenformat hergestellt und diese in der Laumlnge gekuumlrzt werden Eine gekuumlrzte Lochrasterplatine bildet den zweiten Teil der Platine Mit den optionalen vier Wannensteckern (larr Tab 7 Nr 22 - 23) oder den vier Stiftleisten (larr Tab 7 Nr 24) an den Ports des Mikrocontrollers koumlnnen leicht elektrische Verbindungen zum Rasterteil der Platine herstellt werden Abb 23 zeigt die fertig bestuumlckte Platine mit den Nummern aus Tab 7

Abb 23 Bestuumlckte Platine des Interface mit nummerierten Bauelementen

Tab 8 beschreibt das Einloumlten der elektronischen Bauelemente anhand der Nummern aus Tab 7 und in der angegebenen Reihenfolge

Nr Bauelement Beschreibung des Einbaus

0 Spezialanfertigung und Selbst-bauvariante der Epoxydharz-

Platine

1

Stromversorgungsbuchse ndash Hohlstecker 21 mm

Wenn die Loumltbeine nicht durch die Loumlcher der Platine passen die Loumlcher mit einer runden Schluumlsselfeile aufweiten

Stromversorgungsbuchse mit Sekundenkleber vor dem Festloumlten auf der Pla-tine fixieren da diese mechanischen Belastungen durch das Einstecken und Herausziehen des 12 V -Steckers ausgesetzt ist

Wahlweise kann die 25 mm-Version der Buchse verwendet werden

2

RS232 Datenstecker

RS232 Datenstecker mit Sekundenkleber vor dem Festloumlten auf der Platine fixieren da dieser mechanischen Belastungen durch das Einstecken und Herausziehen des Null-Modem-Kabels ausgesetzt ist

Alle Beinchen und Befestigungsstifte zur houmlheren Stabilitaumlt anloumlten

3

Ein Ring an einer Seite der Diode (hier links weiszlig) zeigt die Durchlass- bzw Sperrrichtung der Diode an Die Position des Ringes entspricht der Position des Balkens im Schaltungssymbol

38

Diode ndash SB140 Auf der Platine muss der Ring auf der von der Stromversorgungsbuchse ab-

gewandten Seite liegen

4 Drahtbruumlcke

Vor dem Einloumlten des 40-poligen IC-Sockels (Nr 5) muss eine Drahtbruumlcke unter diesem eingeloumltet werden Dazu koumlnnen die abgeschnittenen Beinchen der bereits eingeloumlteten Diode (Nr 3) verwendet werden

5 6

IC-Fassungen

Die 16-polige und 40-polige IC-Fassungen besitzen eventuell eine Markie-rung fuumlr Pin1 (z B Kerbe in der Stirnseite Punkt Pfeilhellip) als Hilfe fuumlr das richtige Einstecken der ICs Die Markierungen muumlssen bei beiden Fassungen nach oben also zum naumlchstliegenden Rand der Platine zeigen

Die ICs unbedingt noch nicht einstecken

7

ISP-Stiftleiste

Die doppelreihige ISP-Stiftleiste dient der Programmierung des Mikrocontrol-lers mit dem AVR-ISP-Programmer (ISP steht fuumlr In System Programming)

ISP-Stiftleiste auf 2 x 5 Stifte kuumlrzen und mit den kurzen Beinchen einloumlten so dass auf die langen Stifte der AVR-ISP-Programmer gesteckt werden kann

8

Widerstand 100 kΩ

Den 100 kΩ-Widerstand rechts neben der ISP-Stiftleiste einloumlten

9

10

11

Elkos

Bei den verwendeten Elektrolyt-Kondensatoren ist die Polung zu beachten (langes Beinchen = Plus-Pol) Weiterhin ist auf den Kondensatoren ein wei-szliger Streifen mit Minus-Zeichen aufgedruckt Die Kondensatoren sollten eine Spannungsfestigkeit von mindestens 16 V besser 25V besitzen

Auf der Kupferseite der Platine zeigt die Form der Loumltaugen die Polung an Rundes Loumltauge = Plus quadratisches Loumltauge = Minus

Der 470 microF Kondensator wird mit dem weiszligen Streifen in Richtung Stromver-sorgungsbuchse direkt unter diese montiert

Der 100 microF Kondensator sitzt direkt unter der 16-poligen IC-Fassung Sein weiszliger Streifen (Minus-Pol) zeigt in Richtung der Stromversorgungsbuchse

Vier der 10 microF Kondensatoren werden links neben der 16-poligen IC-Fassung montiert Deren Polung ist wie folgt Unterster Kondensator Minus nach oben naumlchster Kondensator Minus nach unten die beiden oberen Kondensatoren mit Minus nach oben

Ein weiterer 10 microF Kondensator wird rechts neben die 16-polige IC-Fassung geloumltet Sein Minus-Streifen zeigt nach unten

12

13

Keramik-Kondensatoren

Die Beschriftung 104 bedeutet 10e4 pF = 100 nF Die beiden 33 pF-Kerkos (Keramik-Kondensatoren) werden direkt nebenei-

nander rechts neben die 16-polige IC-Fassung geloumltet Zwei 100 nF-Kondensatoren werden unter dem 470 microF-Elko eingeloumltet ein

weiterer mittig an der linken Seite der 40-poligen IC-Fassung

14

Quarz

Als Quarz wird ein 110592 MHz-Typ verwendet Bei dieser Frequenz ist eine fehlerfreie Kommunikation uumlber RS232 mit 9600 Baud moumlglich Fuumlr den AT-mega16 koumlnnen Quarze bis 16 MHz eingesetzt werden Details siehe Daten-blatt

Der Quarz wird direkt rechts neben die beiden 33 pF-Kerkos geloumltet Die Ori-entierung des Quarz spielt keine Rolle

15

16

17

18

Der Spannungsregler L7805 erzeugt eine stabilisierte Spannung von 5 V Es muss ein Kuumlhlkoumlrper zur Waumlrmeabfuhr vom Spannungsregler verwendet werden

Vor dem Einloumlten zwischen Spannungsregler und Kuumlhlkoumlrper etwas Waumlrme-leitpaste aufgetragen Beide Bauteile fest mit einer Schraube M3x10 und ei-ner 1 Mutter verschrauben

Dann den Spannungsregler einloumlten um 90deg abzubiegen das uumlberstehende Gewinde durch das vorgesehene Loch stecken und alles mit einer 2 Mutter auf der Platine befestigen

1 Mutter

2 Mutter

Schr

aube

L7805

Platine

KuumlhlkoumlrperWaumlrmeleitpaste

Beinchen

Loumlten

39

Spannungsregler L7805 Kuumlhl-koumlrper und Montage

19

Steckernetzteil

Funktionskontrolle vor dem Einsetzen des Mikrocontrollers Polung der Elektrolyt-Kondensatoren (Elkos) pruumlfen Sind alle Beinchen angeloumltet Hat das Loumltzinn an den Beinchen und der Pla-

tine guten Kontakt Sind eventuell zwei benachbarte Beinchen unbeabsichtigt durch Loumltzinn verbunden Alle Loumltverbindungen nochmals genau z B mit ei-ner Lupe pruumlfen

Probeweise das Stecker-Netzteil an die Buchse anschlieszligen Am 100 nF-Kondensator links mittig der 40-poligen IC-Fassung muumlssen 5 V anliegen

Versorgungsspannung unbedingt wieder von der Platine trennen

20

21

ICs MAX232 und ATmega16

Die Nuten auf den ICs am linken Rand muumlssen nach oben zeigen d h Pin1 ist bei beiden ICs in der Abbildung links unten und auf der Platine oben links

Manchmal passen die Beinchen der ICs nicht in die Fassung weil die Fas-sung scheinbar zu schmal ist Dann den IC seitlich mit einer Beinchen-Reihe flach auf den Tisch legen den IC-Koumlrper links und rechts greifen und Bein-chen durch leichten Druck biegen Einzelne verbogene Beinchen vorsichtig mit einer kleinen Flachzange richten

22

23

Wannenstecker 10- und 14-polig

Wannenstecker an den vorgesehe-nen Stellen mit der Nut gegen Ver-polung in Richtung des naumlherliegen-den Platinenrands einloumlten

Die Abbildung rechts zeigt die Pin-Belegung der Wannenstecker

24

Stiftleiste 8-polig 40-pol Stiftleiste in 4 jeweils 8-polige Stuumlcke zerteilen und einloumlten

25

Kunststoffgehaumluse

In der Selbstbauvariante der Platine (Nr 0) vor dem Einsetzten der Platine in das Gehaumluse passend positionierte Kunststoffstege am Gehaumluseboden fest-kleben

Tab 8 Bestuumlckung der Platine des Interface mit Bauelementen

42 Erweiterungsschaltungen 421 Uumlbersicht In Tab 3 sind von RCLs des RCL-Portals Sensoren und Aktoren mit den dazugehoumlrigen Er-weiterungsschaltungen zusammengestellt Da alle RCLs obligatorisch uumlber mindestens eine Webcam verfuumlgen sind diese unter den Sensoren nicht aufgefuumlhrt Die wenigen Erweite-rungsschaltungen fuumlr Sensoren sind unter Sensoren in Klammern aufgelistet Unter Aktoren werden auszliger elektro-mechanischen Wandlern auch gesteuerte Geraumlte oder Bauelemente verstanden Anzeigeinstrumente sind unter Aktoren nur aufgefuumlhrt wenn sie direkt vom In-terface gesteuert werden Mit gekennzeichnete Erweiterungsschaltungen befinden sich au-szligerhalb des Interface

40

RCL Sensoren Aktoren Erweiterungsschaltungen fuumlr Aktoren

Beugung und Interferenz I Referenz-Taster

Schrittmotor (Rotation) Schrittmotorsteuerung Laser-Modul Geschaltete Spannungsversorgung

Beugung und Interferenz II

4 Referenz-Taster Lichtsensor

4 Schrittmotoren (Translation) 4 Schrittmotorsteuerungen 5 Laser-Module Geschaltete Spannungsversorgung LED fuumlr Position des

Lichtsensors Geschaltete Spannungsversorgung

LED fuumlr Linealbeleuchtung Geschaltete Spannungsversorgung

Elektronen-beugung

Hochspannungsnetzgeraumlt Geschaltete Spannungsversorgung Hochspannungsnetzgeraumlt Steuerung der Hochspannung

Fotoeffekt 2 Referenz-Taster Photozelle

2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen

Quecksilberdampflampe Geschaltete Spannungsversorgung

der Drossel fuumlr Quecksilberdampf-lampe

Halbleiter-kennlinien

und Halbleiterkennli-nien - Schuumller-

projekt

Referenz-Taster

Schrittmotor (Rotation) Schrittmotorsteuerung Oszilloskop Geschaltete Spannungsversorgung

Oszilloskop Instrumentenverstaumlrker fuumlr X- und Y-Ablenkung

Multimeter Steuerung Spannungs- oder Strom-anzeige

Heiszliger Draht 4 Endtaster 4 Drehgeber Kurzschlusssensor

4 Gleichstrommotoren 4 Treiber

Zweifarbige LED Steuerung der LED-Farbe

Lichtgeschwin-digkeit

Drehimpulsgeber 2 Taster an Enden

der Eisenbahnstre-cke

2 Schrittmotoren 2 Schrittmotorsteuerungen Oszilloskop Geschaltete Spannungsversorgung

Motor der Lokomotive Steuerung des Ein- und Ausschal-tens und der Bewegungsrichtung

Maut Infrarot-Sensor Gleichstrommotor Geschaltete Spannungsquelle 2 IR-Fernbedienungen Spannungsregler 2-stellige 7-Segmentanzeige LED-Treiber

Millikan-Versuch 2 Referenz-Taster

2 Schrittmotoren 2 Schrittmotorsteuerungen Lichtquelle (LED) fuumlr Millikan-

Kondensator Geschaltete Spannungsversorgung

Airbrush-Kompressor Geschaltete Spannungsversorgung Magnetventil Geschaltete Spannungsversorgung Millikan-Kondensator Gesteuertes Hochspannungsmodul

Optische Com-putertomogra-

phie

2 Referenz-Taster 2 Lichtsensoren

Schrittmotor (Rotation) Schrittmotorsteuerung Schrittmotor (Translation) Schrittmotorsteuerung

2 Laser-Module 2 geschaltete Spannungsversor-gungen

Optische Fou-rier-

Transformation 2 Referenz-Taster

2 Schrittmotoren (Translation) 2 Schrittmotorsteuerungen

Laser-Modul Geschaltete Spannungsversorgung

Oszilloskop Oszilloskop Geschaltete Spannungsversorgung Signalgenerator Steuerung der Signalart

Radioaktivitaumlt 4 Referenz-Taster Geiger-Muumlller-

Zaumlhlrohr

2 Schrittmotoren (Translation) 2 Schrittmotorsteuerungen 2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen 4-stellige 7-Segment-Anzeige Treiber Elektromagnet Geschaltete Spannungsversorgung

Roboter im Labyrinth Infrarot-Sensor

2 Schrittmotoren 2 Schrittmotorsteuerung Infrarot-Sender Treiber

Rutherfordscher Streuversuch

2 Referenz-Taster Halbleiterdetektor

(Impulsformer)

2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen

4-stellige 7-Segment-Anzeige Treiber

Weltpendel

Referenz-Taster Lichtsensor der

Lichtschranke (Im-pulsformer)

Temperatursensor

Schrittmotor (Translation) Schrittmotorsteuerung Elektromagnet Geschaltete Spannungsversorgung

Laser der Lichtschranke Geschaltete Spannungsversorgung

Windkanal Referenz-Taster Schrittmotor (Translation) Schrittmotorsteuerung

41

Dehnungsmess-streifen (Wheat-stonesche Bruumlcke Messverstaumlrker Multimeter)

Geblaumlsemotor Geschaltete Spannungsversorgung

und Ansteuerung mit Pulsweiten-modulation

Anemometer Geschaltete Spannungsversorgung Multimeter Geschaltete Spannungsversorgung

Tab 9 Sensoren Aktoren und Erweiterungsschaltungen der RCLs des RCL-Portals

422 TMC222-Modul zur Schrittmotorsteuerung 4221 Schaltplan und Bauteilliste Abb 1 zeigt die Beschaltung des TMC222 von Trinamic auf dem TMC222-Modul

Abb 24 Beschaltung des TMC222 von Trinamic

Anhand der Bauteilliste in Tab 10 koumlnnen die elektronischen Bauelemente des TMC222-Moduls bei Reichelt electronic bestellt werden Ein TMC222-Modul kostet ungefaumlhr 10 euro

Nr Anzahl Kurzbeschreibung des Bauteils Best-Nr bei Reichelt electronic

Einzelpreis in euro

0 1 Epoxyd-Fotoplatine einseitig 75x100 mm 15 mm 35 microm BEL75X100-1 096 1 1 Integrierter TMC-Schrittmotor-Controller TMC 222 SI asymp 7 2 1 Elektrolytkondensator 8x11 mm Rm 35 mm 100 microF35 V RAD 10035 004 3 1 Tantal-Kondensator Rm 25 10 microF35 V Tantal 1035 014 4 2 Vielschicht-Keramikkondensator 220 nF 20 Z5U-25 220N 011 5 3 Vielschicht-Keramikkondensator 100 nF 20 Z5U-25 100N 004 6 2 Metallschichtwiderstand 100 kΩ Metall 100K 0082 7 1 1x36pol Stiftleiste gewinkelt Rm 254 SL 1X36W 027 8 1 1x36pol Buchsenleiste gerade Rm 254 BL 1X36G 025

Tab 10 Bauteilliste mit Bestellnummer und Einzelpreisen der Bauelemente bei Reichelt electronic (Stand 23102010)

4222 Bestuumlckung der Platine

42

Abb 25 zeigt die fertig bestuumlckte Platine mit den Nummern aus Tab 10

Abb 25 Bestuumlckte Platine des TMC222-Moduls

mit nummerierten Bauelementen

Die Platine (35 mm x 30 mm) kann anhand des Layouts in Abb 26 hergestellt werden Der IC TMC222 wird auf der Loumltseite der Platine aufgeloumltet Das TMC222-Modul kann mit der Stiftleiste (larr Tab 10 Nr 7) in eine Buchsenleiste (larr Tab 10 Nr 8) auf die Platine des In-terface gesteckt werden

Abb 26 Platine des TMC222-Moduls von der Loumltseite (links) und Layout

4223 Quellcode des Mikrocontroller-Programms Im Folgenden ist ein mit Bascom (larr 12 Tab 1 Entwicklungsumgebungen) erstelltes Bei-spiel-Programm zur Ansteuerung des Schrittmotormoduls TMC222 durch den Mikrocontroller ATmega16 angegeben $regfile = m16DEFdat $crystal = 11059200 $baud = 9600 Definitionen Config Scl = Portc0 Taktleitung Config Sda = Portc1 Datenleitung Const Adress = ampB11000000 I2C Adresse des TMC222 Const GetFullstatus1 = ampB10000001 Kommando des TMC222 Const Resetpos = ampB10000110 Kommando des TMC222 Const Motorparameter = ampB10001001 Kommando des TMC222 Const Setposition = ampB10001011 Dim Puffer(10) As Byte

43

Programm I2csend Adress GetFullstatus1 GetFullstatus1 (Initialisierung des TMC222) I2creceive Adress 7 Ack Daten in Puffer auslesen Puffer(1) = Motorparameter puffer auffuumlllen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB11110011 1111irun 0011ihold Puffer(5) = ampB01110001 0111vmax 0001vmin Puffer(6) = ampB00010000 000securepos(bit10-8) 1shaft 0000acceleration Puffer(7) = 0 securepos(bit7-0) Puffer(8) = ampB00001100 000nicht belegt 0accshape 11stepmode 00nicht belegt I2csend Adress Puffer(1) 8 I2csend Adress Resetpos aktuelle Position auf 0 setzen Puffer(1) = Setposition Motor bewegen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB01111111 position(bit 15-8) Puffer(5) = ampB11111111 position(bit 7-0)acute I2csend Adress Puffer(1) 5 End

423 Geschaltete Spannungsquellen und Verbraucher Die Ausgaumlnge des Mikrocontrollers duumlrfen nur mit Stroumlmen kleiner als ungefaumlhr 20 mA belas-tet werden Verbraucher mit einer Stromlast groumlszliger als 20 mA koumlnnen daher nicht direkt an den Mikrocontroller angeschlossen werden Abb 27 zeigt links eine Schaltung zum Schalten eines Verbrauchers wie z B des Relais und rechts eine Schaltung mit dem IC ULN2803A zum Schalten mehrerer Verbraucher wie z B Gluumlhlampen

Abb 27 Erweiterungsschaltungen zum Schalten eines (links) oder

mehrerer Verbraucher (rechts)

Zu beachten ist dass der Transistor BC337 maximal 800 mA schalten kann und fuumlr groumlszligere Stroumlme andere Transistoren verwendet werden muumlssen

424 Steuerung von Gleichstrommotoren

44

Sollen Gleichstrommotoren zum Bewegen von Objekten mit dem Mikrocontroller gesteuert werden dann eignet sich dazu der in Abb 28 dargestellte beschaltete IC L293D

Abb 28 Beschaltung des L293D zum

Steuern zweier Gleichstrom-motoren

Mit Pin 1 = Pin 9 = 1 (High) koumlnnen zwei Gleichstrommotoren M1 und M2 (Versorgungs-spannung UM lt 36 V Spulendauerstrom IM lt 600 mA) unabhaumlngig voneinander ein- und ausgeschaltet sowie in der Drehrichtung uumlber die Ports PA0 und PA1 fuumlr M1 und PA2 und PA3 fuumlr M2 gesteuert werden Z B gilt mit PA0 = PA1 = 0 (M1 ausgeschaltet) PA0 = 1 und PA1 = 0 (M1 dreht sich) PA0 = 0 und PA1 = 1 (M1 dreht sich in Gegenrichtung)

45

43 Quellcodes zum RCL Elektronenbeugung 431 Mikrocontroller-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

46

47

48

49

432 PHP-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

50

51

433 Bedienfeld der Laborseite

Tab 11 erlaumlutert die Funktion der Bloumlcke im Quellcode

Zeilen Funktion 1 Datei defaultconf einbinden 2 Datei headtpl einbinden

5 - 11 Ausgabe der verbleibenden Experimentierzeit 18 - 21 Button zum Einschalten der Elektronenbeugungsroumlhre 28 - 30 Eingabefeld fuumlr die Beschleunigungsspannung

37 Ruumlckmeldung zur eingegebenen Beschleunigungsspannung 42 Datei foottpl einbinden

Tab 11 Funktion der Programmbloumlcke in der Datei experi-menttpl

52

434 Webcamfeld der Laborseite

In Tab 12 ist die Funktion der Programmbloumlcke und die Anpassungen der Vorlage an das RCL Elektronenbeugung beschrieben

Zeilen Funktion Anpassung RCL Elektronenbeugung

5 Titelangabe erscheint als Tabulatorbeschriftung in Browsern

Name des RCLs eintragen

11 - 15 16 - 20

Zwei Javascripts zum getrennten Aufrufen zweier Po-pup-Fenster mit dargestelltem Webcambildern 1 und 2

Javascript 1 die IP-Adresse eintragen Javascript 2 auskommentiert weil nicht benoumltigt

24 - 40 42 - 60

Zwei Javascripts zum Aktualisieren der Webcambilder 1 und 2

Javascript 2 auskommentiert weil nicht benoumltigt

67 - 71 79 - 83

Aufrufen des ersten Webcambilds der Webcams 1 und 2 beim Aufrufen der Datei

Webcambild 2 auskommentiert weil nicht benoumltigt

72 - 78 84 - 90

Buttons zum Aufrufen der Screenshots der Webcam-bilder 1 und 2

Button 2 auskommentiert weil nicht benoumltigt

91 - 95 Zeile der Tabelle zum Eintragen von Informationen die sich auf die Webcambilder oder den Versuch beziehen

Text in Zeile der Tabelle geschrieben

Tab 12 Funktionen der Codeabschnitte in der Datei videohtm und Anpassung der Vor-lage an das RCL Elektronenbeugung

53

44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung Im Folgenden wird die Installation und Konfiguration des AVR-Studios 418 und der Bascom 11198 Demoversion beschrieben Alle Anleitungen sind zeilenweise von links nach rechts zu lesen

441 AVR-Studio 418 4411 Installation Auf der Webseite von ATMEL Register AVR Studio 418 (build 684) anklicken und Registrie-rungsformular ausfuumlllen Danach die Datei AvrStudio418Setup herunterladen Durch Dop-pelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen Next waumlhlen

I accept hellip und Next waumlhlen Installationsordner und Next waumlhlen

54

Installupgrade hellip und Next waumlhlen Install waumlhlen Die Installation beginnt

Finish waumlhlen

4412 Konfiguration AVR Studio 418 in Windows XP Professional unter StartProgramme aufrufen

Startfenster mit Cancel schlieszligen Unter ToolsProgram AVR Auto Connect waumlhlen

55

Im eingeblendeten Fenster auf der Registerkarte Main als Device ATmega16 und als Programming Mode ISP mo-de waumlhlen

Optional kann Signatur gelesen werden

In der Registerkarte Fuses alle Haumlkchen und Auswahlfel-der wie angegeben waumlhlen

Dann Program waumlhlen

442 BASCOM 11198 Demoversion 4421 Installation Auf der Webseite von Bascom unter Bascom AVR Demo die Zip-Datei setupdemoexe her-untergeladen Durch Doppelklick auf den Dateinamen die Installation starten

Next waumlhlen I accept the agreement und Next waumlhlen

56

Next waumlhlen Installationsordner eingeben und Next waumlhlen

Eintrag im Start-Menuuml eingeben und Next waumlhlen Next waumlhlen

Yes restart the computer now und Finish waumlhlen

57

4422 Konfiguration Bascom AVR in Windows XP Professional unter StartProgramme zum Einstellen der Para-meter des Mikrocontrollers und des Terminals aufrufen

OptionsCompilerChip waumlhlen Einstellungen wie im Bild vornehmen und OK waumlhlen

Auf der Registerkarte Communications Einstellungen wie im Bild vornehmen und OK waumlhlen

Unter OptionsCommunication Einstellungen wie im Bild

vornehmen und OK waumlhlen FileNew waumlhlen Unter ToolsTerminal emulator das Terminal aufrufen und

eingeben Die Befehlsliste des RCLs Elektronenbeu-gung wird angezeigt

45 Installation und Konfiguration von Programmen auf dem RCL-Server Im Folgenden wird der Download die Installation und die Konfiguration von Programmen auf dem RCL-Server unter Windows XP Professional beschrieben Alle Anleitungen sind zeilen-weise von links nach rechts zu lesen Die Installation der Programme sollte in der angegebe-nen Reihenfolge erfolgen

58

451 Einrichten des Internet-Zugangs LAN-Verbindung unter StartSystemsteuerungNetzwerkverbindungen aufrufen

Internetprotokoll (TCPIP) und Eigenschaften waumlhlen Folgende IP-Adresse verwenden waumlhlen IP-Adressen ein-

geben und OK waumlhlen

452 Paket XAMPP 174 Unter apache friends - xampp fuumlr windows und XAMPP Windows 174 Installer anklicken und Datei xampp-win32-174-VC6-installerexe speichern Durch Doppelklick auf die Datei die Installation starten

Sprache und Ok waumlhlen Ok waumlhlen

59

Weiter waumlhlen Zielverzeichnis mit Durchsuchen waumlhlen oder eingeben

Apache nicht als Dienst installieren Fertig stellen waumlhlen

Ja waumlhlen Zum Starten des Apache Webservers das Control Panel

unter StartProgrammeXAMPP 173 for Windows mit Start starten Anstelle von Start erscheint Running

Zum Beenden des Apache Webservers Stop waumlhlen Zum Beenden des Control Panels Exit waumlhlen

60

453 Videoserver webcamXP 5 Private Auf der Webseite von Moonware Studios unter webcamXP 55xx die Datei wlite550 herun-terladen Durch Doppelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen I Agree waumlhlen

Next waumlhlen Auszliger webcamXP 5 brauchen keine weiteren Komponen-

ten installiert zu werden

Den vorgeschlagenen Ordner und Install waumlhlen Finish waumlhlen

61

WebcamXP unter StartProgramme aufrufen Zugesandte

Lizenz-Daten in das eingeblendete Fenster eingeben und Register waumlhlen

Beim Starten des Programms stellt webcamXP automa-tisch eine Verbindung zu den am Computer angeschlosse-nen Webcams her

Nach dem Start ist Uumlberwachen gewaumlhlt Durch Rechts-klick mit der Maus auf das Videofenster wird zu jeder Vi-deoquelle ein Kontextmenuuml angezeigt Wird kein Videobild dargestellt das Kontextmenuuml aufrufen Art der Videoquelle waumlhlen (hier USB) und unter den erkannten Videoquellen (hier USB-Videogeraumlt) die gewuumlnschte waumlhlen

Das Videoformat muss fuumlr eine passende Darstellung auf

der Laborseite auf 320 x 240 eingestellt sein Ist das nicht der Fall im Kontextmenuuml unter Video Format einstellen

In gleicher Weise kann eine zweite Videoquelle hinzugefuumlgt werden

In der Registerkarte Web Broadcast kann unter

Broadcast (HTTP) der Videoserver mit Ausschalten ge-stoppt und mit Aktivieren gestartet werden

Zur Zielwahl des Webservers (131246237167 - Internet D16W3X3J - Computer 127001 - Local Host) Videoser-ver stoppen und einstellen Videoserver wieder starten

62

454 Terminalprogramm Hyperterminal Hyperterminal in Windows XP Professional unter StartProgrammeZubehoumlrKommunikation aufrufen

Name der neuen Verbindung - z B Interface - eingeben

und OK waumlhlen Die Verbindung zwischen Computer und Interface wurde

uumlber einen USB-Seriell-Adapter hergestellt Dann erschei-nen zwei zusaumltzliche Eintraumlge (Motorola Comp Modem und COM5) in der Liste Prinzipiell muss eine COMx-Verbindung gewaumlhlt werden

Eigenschaften von COM 5 wie im Bild einstellen und OK

waumlhlen DateiEigenschaften aufrufen und ASCII-Konfiguration

waumlhlen

63

Haken bei Eingegebene Zeichen lokal ausgeben (lokales

Echo) setzen um eingegebenen Zeichen im Hyperterminal zu sehen

Bei funktionsfaumlhiger Verbindung erscheint nach Eingabe von Return die Befehlsliste des Interface

Durch Aufrufen von DateiSpeichern die erstellte Verbin-

dung z B auf dem Desktop speichern Dadurch braucht die Verbindung nicht immer wieder von neuem konfiguriert wer-den

Nach Aufrufen von DateiBeenden die bestehende Verbin-dung mit Ja beenden

64

Wurde ein falscher COM-Port gewaumlhlt reagiert das Inter-

face auf die Eingabe Return nicht Hyperterminal dann beenden

Der COM-Port kann dann nicht unter DateiEigenschaften im Hyperterminal aber unter Eigenschaften des Kontext-menuumls der Datei Interfaceht in der Registerkarte Verbin-den mit geaumlndert werden Dann OK waumlhlen und erneut Verbindung testen

65

455 Fernwartungssoftware TeamViewer 6 Host Auf der Webseite von Teamviewer GmbH unter Fuumlr unbeaufsichtigte Server TeamViewer Vollversion die Datei TeamViewer_Setup-wq herunterladen Das Programm muss auf dem RCL-Server und dem Computer der auf den RCL-Server zugreifen soll installiert werden Durch Doppelklick auf die Datei die Installation starten

Ausfuumlhren waumlhlen Weiter waumlhlen

Fuumlr die private nicht kommerzielle Nutzung ist Teamviewer kostenlos

privat nicht-kommerziell und Weiter waumlhlen

Beide Haumlkchen setzen und Weiter waumlhlen

66

Ja un Weiter waumlhlen Weiter

Computername und Kennwort fuumlr den Zugriff auf den RCL-Server oder den eigenen Computer vergeben Kenn wort notie-ren

Ein Teamviewerkonto ist nicht erforderlich Kann auch spaumlter noch eingerichtet werden

ID fuumlr den Computer auf dem das Programm installiert wird fuumlr Zugriff notieren

Das Programm wird gestartet Standardmaumlszligig vorein-gestellt ist der Start des Programms beim Start des Be-trienssystems

67

46 Selbstbau eines elementaren RCLs 461 Hard- und Software Auch ohne gleich ein vielleicht teures physikalisches Experiment zu steuern laumlsst sich mit wenigen Bauelementen ein elementares RCL realisieren Von einer Webseite im Internet sol-len eine Leuchtdiode (LED) ein- oder ausgeschaltet sowie der Zustand der Leuchtdiode und eines Tasters abgefragt werden An Hard- und Software werden benoumltigt

1 Low-Current-LED 5 mm 2 mA 1 Widerstand 18 kΩ 1 Taster und optional zwei 10-polige Wannenstecker mit ungefaumlhr 10 cm passendem Flachbandkabel und Buchsen

Interface in Basisschaltung Null-Modem-Kabel 12 V DC Steckernetzteil (larr 1)

Installierte Bascom-Demo-Version (larr 42)

AVR ISP-Programmer mit 10-poligem Programmierkabel

Installiertes und konfiguriertes AVR Studio 418 (larr 41)

Installiertes Paket XAMPP (larr 52)

Texteditor wie z B Notepad in Windows XP Professional

Konfigurierte Hyperterminalverbindung (larr 54)

462 Bestuumlckung der Platine Abb 29 zeigt zur Orientierung fuumlr das Einloumlten der Bauelemente die fertig bestuumlckte Platine des Interface

Abb 29 Mit elementarem RCL bestuumlckte Platine

des Interface

LED mit Vorwiderstand und der Taster sind rechts neben dem Mikrocontroller im Lochraster-bereich aufgebaut und uumlber Wannenstecker und Flachbandkabel mit dem Port A des Mikro-controllers verbunden (die drei Bauteile rechts neben dem ATmega16 werden nicht benouml-tigt) Tab 13 erlaumlutert die Schritte zur Bestuumlckung der Platine des Interface

68

Nr Schaltung Erlaumluterung

1

Die Leuchtdiode (LED) mit dem Pluspol (langes Beinchen) an PortA0 (PIN40 oben rechts) des Mikrocontrollers anloumlten

An das kurze Beinchen einen 18kΩ Widerstand loumlten dessen anderes Ende mit der Masse (GND) verbinden

2

Den Taster mit PortA1 (PIN39 = 2 Beinchen von oben rechts) und Masse (GND) verbinden

3

Draufsicht

Belegung des 10-poligen Wannensteckers 1 GND (Masse) im Foto oben links 2 +5 V 3 PortA0 4 PortA1 10 PortA7 im Foto unten rechts

Tab 13 Schritte zum Aufbau des elementaren RCLs

463 Lokal gesteuertes RCL Nachfolgend ist der Basic-Programmcode des Mikrocontrollers zur Steuerung und Abfrage der LED und des Tasters angegeben 01 $regfile = m16DEFdat Microcontroller ATmega16 02 $crystal = 11059200 110592MHz Quarz 03 $baud = 9600 Baudrate 04 05 ---[ Variables ]--------------------------------------------------------------- 06 Dim Rs232kommando As String 10 erst Befehlspuffer dann Kommando 07 Dim Parameter As String 10 Parameter 08 Dim Str_pos As Byte Position von Leerzeichen zur Trennung von Kommando und Pa-rameter 09 10 ---[ Initialisierung ]--------------------------------------------------------- 11 Ddra0 = 1 PortA0 als Ausgang fuumlr LED 12 Porta0 = 0 LED aus 13 Ddra1 = 0 PortA1 als Eingang fuumlr Taster 14 Porta1 = 1 Pull-Up aktivieren 15 16 ---[ Main program loop ]------------------------------------------------------- 17 Do Start der Endlos-Schleife 18 19 If Ischarwaiting() = 1 Then Zeichen uumlber RS232 empfangen 20 Input Rs232kommando neues Kommando lesen 21 Parameter = Parameter initialisieren 22 Str_pos = Instr(rs232kommando ) Leerzeichen im Kommando suchen 23 If Str_pos gt 0 Then falls Leerzeichen dann in Kommando+Parameter zerlegen 24 Incr Str_pos Str_pos soll jetzt auf 1Zeichen des Parameters zeigen 25 Parameter = Mid(rs232kommando Str_pos ) Parameter = Teilstring nach Leerzeichen 26 Parameter = Ucase(parameter) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 27 Str_pos = Str_pos - 2 Str_pos soll jetzt auf letztes Zeichen des Kommandos zeigen 28 Rs232kommando = Left(rs232kommando Str_pos)Kommando = Teilstring vor Leerzeichen 29 Rs232kommando = Ucase(rs232kommando) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 30 End If 31 32 Select Case Rs232kommando Eventhandler Interpretation der Kommandos 33 Case Print Hilfe Hilfeseite anzeigen 34 Print LED on - LED einschalten 35 Print LED off - LED ausschalten 36 Print LED - zeigt Status der LED an 37 Print SW - zeigt Status des Schalters an 38

1K8

LED rotmicroC PortA0(PIN40)

Taster

microC PortA1(PIN39)

1

3

2

69

39 Case LED If Parameter = ON Then LED schalten 40 Porta0 = 1 41 End If 42 If Parameter = OFF Then 43 Porta0 = 0 44 End If 45 46 Case LED If Porta0 = 0 Then Status der LED ausgeben 47 Print LED aus 48 Else 49 Print LED an 50 End If 51 52 Case SW If Pina1 = 1 Then Status des Schalters ausgeben 53 Print Taster offen 54 Else 55 Print Taster geschlossen 56 End If 57 58 Case Else Print gt Rs232kommando lt ungueltiger Befehl - weitere Infos mit Info bei unguumlltigen Eingaben 59 End Select 60 61 End If 62 63 Loop Endlos-Schleife Springe zu Do 64 65 End wird nie erreicht

Der erste Teil des Programms (Zeilen 1 - 15) enthaumllt die Systemparameter Variablen und Initialisierung der Ein- und Ausgaumlnge Der zweite Teil enthaumllt ab Zeile 17 das Hauptpro-gramm in dem Benutzereingaben uumlber die serielle Schnittstelle empfangen interpretiert und in entsprechende Anweisungen umgesetzt werden Tab 14 erlaumlutert den Programmcode de-taillierter

Zeilen Erlaumluterung

1 - 3 Diese Angaben teilen dem Compiler (Bascom) mit welcher Prozessor eingesetzt wird wie schnell dieser getaktet (Quarz) ist und mit welcher Uumlbertragungsgeschwindigkeit die Kommunikation uumlber die serielle Schnittstelle (RS232) mit dem PC erfolgen soll

6 - 8 Es werden drei Variablen genutzt Die Eingabe uumlber die serielle Schnittstelle wird in rs232kommando gespeichert Es wird ein Text der Form Kommando ltLeerzeichengt Parameter erwartet so dass die Variable Parameter den-selbigen aufnimmt Die Variable str_pos wird fuumlr die Trennung von Kommando und Parameter benoumltigt

11 - 14

Mit dem Befehl ddrPX (ddr = data direction) wird festgelegt ob ein Beinchen als Ausgang (=1) oder als Eingang (=0) arbeiten soll Der ATmega16 besitzt 32 Ein-Ausgaumlnge die in vier Ports (P=AD) zu je 8 Pins (X=07) unterteilt sind ddrA0 = 1 legt also das 1 Beinchen (Pin 0) von PortA als Ausgang (=1) fest Mit dem Befehl PortA0 =1 kann dieser Pin dann durch Zuweisen von 1 oder 0 an- bzw ausgeschaltet werden Im Datenblatt erfahren Sie welches der 40 Beinchen des Mikrocontrollers wie bezeichnet wird (Pin-Belegung) Wird ein Beinchen als Eingang verwendet (ddrA1 = 0) koumlnnen Sie optional einen so genannten Pull-Up-Widerstand aktivieren (PortA1=1) oder deaktivieren (PortA1=0) Auch hierzu sollten Sie sich unbedingt mit dem Datenblatt vertraut machen

17 63 Das Hauptprogramm besteht aus einer Endlosschleife d h der Mikrocontroller verrichtet ununterbrochen seinen Job so lange er mit Strom versorgt wird

19 - 30 Falls ein Zeichen uumlber die serielle Schnittstelle empfangen wurde wird dieses und alle folgenden gelesen Anschlie-szligend wird gepruumlft ob der empfangene Text von der Form Kommando ltLeerzeichengt Parameter ist so dass er ge-gebenenfalls in ein Kommando und einen Parameter zerlegt werden kann

32 - 59 Dieser Abschnitt wird mit Event-Handler bezeichnet Hier wird auf die Kommandos (Events) reagiert und die ent-sprechenden Schritte ausgefuumlhrt zB schalten LED je nach Wert der Variablen Parameter an- bzw ausschalten

46 52

In beiden Zeilen wird ein Wert eines Ports abgefragt Unterschiedlich ist dass in Zeile 46 der Status eines Ausgangs abgefragt wird (porta0) und in Zeile 52 der Zustand eines Eingangs (pina0) Die Anweisung IF porta0 = 0 THEN pruumlft (hier ist = ein Vergleich und KEINE Zuweisung) ob zuletzt die LED ausgeschaltet (Zuweisung porta0 = 0) wurde Die Anweisung IF pina1= 1 THEN liest den Status eines Eingangs Hier kann festgestellt werden ob der Eingang uumlber den internen Pull-UP-Widerstand auf +5V liegt (pina1 liefert 1) oder ob der Schalter den Eingang mit Masse (0V) verbindet (pina1 liefert 0)

Tab 14 Erlaumluterung des Mikrocontroller-Programmcodes fuumlr elementares RCL

70

In Bascom AVR eine neue Datei erzeugen (FileNew) den Programmcode ohne Kommenta-re eingeben und mit ProgramCompile (F7) eine Hexadezimaldatei erzeugen Die Hexadezi-maldatei mit dem AVR-Studio und dem AVR-ISP-Programmer in den Mikrocontroller schrei-ben (larr 222 Programmuumlbertragung) Nach dem Verbinden von Computer und Interface per Null-Modem-Kabel kann durch Eingabe von in das konfigurierte Hyperterminal die Befehls-liste in Abb 30 aufgerufen werden

Abb 30 Aufgerufene Befehlsliste im Hyperterminal

Durch Eingabe von LED on oder LED off kann die LED ein- und ausgeschaltet LED zeigt den Status der LED und sw den Status des Tasters an Alternativ zum Hyperterminal kann auch das Terminal in BASCOM unter ToolsTerminal Emulator verwendet werden (larr 422)

464 Ferngesteuertes RCL Zum Ansteuern des Interfaces und zum Bedienen des Versuchsaufbaus uumlber das Internet wird eine Webseite benoumltigt die dem Benutzer alle Bedienelemente des Experiments zur Verfuumlgung stellt

Der Benutzer benoumltigt anklickbare Buttons im Webbrowser

Der Webserver muss die Information welcher Button gedruumlckt wurde empfangen und ein entsprechendes Kommando uumlber die serielle Schnittstelle an das Interface senden

Beide Schritte sind im nachfolgenden PHPHTML-Quellcode zusammengefasst 01 ltDOCTYPE HTML PUBLIC -W3CDTD HTML 401 TransitionalEN httpwwww3orgTRhtml4loosedtdgt 02 lthtmlgt 03 ltheadgt 04 ltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1gt 05 lttitlegtelementares RCLlttitlegt 06 ltheadgt 07 08 ltbodygt 09 ltphp 10 if (isset($_POST[Kommando])) wurde bereits Kommando gesendet 11 if( ( $handle = fopen( COM1 w+ ) ) ) Schnittstelle oumlffnen 12

71

13 throw new Exception( Can not access serial port 2 ) ohne Erfolg 14 15 fwrite( $handle $_POST[Kommando] chr( 13 ) ) Befehl an Interface senden 16 switch ( $_POST[Kommando] ) Antwort von Interface auswerten 17 case LED $tmp = fgets( $handle ) Echo von Interface ignorieren 18 $antwort = fgets( $handle ) Antwort des Interfaces 19 echo Antwort $antwort Ausgabe auf Webseite 20 break switch verlassen 21 22 case SW $tmp = fgets( $handle ) Echo von Interface ignorieren 23 $antwort = fgets( $handle ) Antwort des Interfaces 24 echo Antwort $antwort Ausgabe auf Webseite 25 break switch verlassen 26 27 28 29 fclose( $handle ) Schnittstelle schlieszligen 30 31 else 32 `mode com1 BAUD=9600 PARITY=N data=8 stop=1 xon=off` Schnittstellenparameter setzen 33 34 35 gt 36 37 lth3gtBefehl sendenlth3gt 38 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 39 ltinput type=hidden name=Kommando value=LED ON gt 40 ltinput type=submit value=LED anschalten gt 41 ltformgt 42 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 43 ltinput type=hidden name=Kommando value=LED OFF gt 44 ltinput type=submit value=LED ausschalten gt 45 ltformgt 46 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 47 ltinput type=hidden name=Kommando value=LED gt 48 ltinput type=submit value=LED abfragen gt 49 ltformgt 50 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 51 ltinput type=hidden name=Kommando value=SW gt 52 ltinput type=submit value=Taster abfragen gt 53 ltformgt 54 ltbodygt 55 lthtmlgt Den Quellcode in den Texteditor kopieren und im Ordner htdocs von XAMPP z B unter rclphp speichern HTML-Dateien mit PHP-Code (Zeilen 9-35) muumlssen mit der Erweiterung php gespeichert werden damit der Apache Webserver zwischen HTML-Seiten mit und ohne PHP-Code unterscheiden kann Den installierten Apache Webserver starten (larr 452) und im Adressfeld des Webbrowsers die IP-Adresse http127001rclphp aufrufen Das Bedi-enfeld des elementaren RCLs in Abb 31 wird im Browserfenster angezeigt

72

Abb 31 Laborseite des elementaren RCLs

Im Bedienfeld kann die LED an- und ausgeschaltet sowie der Status von LED und Taster abgefragt werden

  • 0 Warum ein Tutorial zur RCL-Technik
  • 1 Technische Konzeption
    • 11 Einfuumlhrung
    • 12 Wahl der RCL-Technik
      • 2 Lokal gesteuertes RCL
        • 21 Interface
          • 211 Mikrocontroller
          • 212 Basisschaltung und Erweiterungsschaltungen
          • 213 Programmierung des Mikrocontrollers
            • 22 Hyperterminal
            • 23 Positionieren von Objekten
              • 231 Hybrid-Schrittmotoren
              • 232 Schrittmotorsteuerung und Positionierungsmechanik
                  • 3 Ferngesteuertes RCL
                    • 31 RCL-Server
                    • 32 Laborseite
                      • 321 Steuerung des RCLs uumlber das Bedienfeld
                      • 322 Videouumlbertragung im Webcamfeld
                        • 33 Standard-Lernumgebung
                          • 4 ANHANG
                            • 41 Interface in Basisschaltung
                              • 411 Schaltplan und Bauteilliste
                              • 412 Bestuumlckung der Platine
                                • 42 Erweiterungsschaltungen
                                  • 421 Uumlbersicht
                                  • 422 TMC222-Modul zur Schrittmotorsteuerung
                                    • 4221 Schaltplan und Bauteilliste
                                    • 4222 Bestuumlckung der Platine
                                    • 4223 Quellcode des Mikrocontroller-Programms
                                      • 423 Geschaltete Spannungsquellen und Verbraucher
                                      • 424 Steuerung von Gleichstrommotoren
                                        • 43 Quellcodes zum RCL Elektronenbeugung
                                          • 431 Mikrocontroller-Programmierung
                                          • 432 PHP-Programmierung
                                          • 433 Bedienfeld der Laborseite
                                          • 434 Webcamfeld der Laborseite
                                            • 44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung
                                              • 441 AVR-Studio 418
                                                • 4411 Installation
                                                • 4412 Konfiguration
                                                  • 442 BASCOM 11198 Demoversion
                                                    • 4421 Installation
                                                    • 4422 Konfiguration
                                                        • 45 Installation und Konfiguration von Programmen auf dem RCL-Server
                                                          • 451 Einrichten des Internet-Zugangs
                                                          • 452 Paket XAMPP 174
                                                          • 453 Videoserver webcamXP 5 Private
                                                          • 454 Terminalprogramm Hyperterminal
                                                          • 455 Fernwartungssoftware TeamViewer 6 Host
                                                            • 46 Selbstbau eines elementaren RCLs
                                                              • 461 Hard- und Software
                                                              • 462 Bestuumlckung der Platine
                                                              • 463 Lokal gesteuertes RCL
                                                              • 464 Ferngesteuertes RCL

10

den Eine Programmierung in Pascal ist fuumlr ungefaumlhr 140 euro mit dem Pascal-Compiler von MikroElektronika moumlglich Mit Notepad++ steht ein kostenloser und guter Webeditor zum Erweitern der PHP-Basissoftware und zum Erstellen von Webseiten der Standard-Lernumgebung bereit Als professionellerer Editor kann z B Dreamweaver verwendet werden Fuumlr die Fernwartung des RCL-Servers muss auf dem zugreifenden Computer die Vollversion von Teamviewer installiert werden

Die gewaumlhlte Hard- und Software fuumlr RCLs bietet folgende Vorteile

Geringe Hard- und Softwarekosten Interface mit Erweiterungsschaltungen (asymp 70 euro) USB-ISP-Programmer (asymp 30 euro) AVR-Studio zur Programmierung in C (0 euro) Betriebssystem Windows XP Professional (asymp 20 euro) webcamXP 5 fuumlr ein Webcambild (0 euro) koumlnnen zusammen fuumlr 120 euro erworben werden Mit einem nicht mehr benoumltigtem aumllteren Computer Tastatur und Maus (0 euro) einem ausge-dientem Monitor (0 euro) einer einfachen USB-Webcam (asymp 20 euro) und der Positionierungsme-chanik eines nicht mehr benoumltigten aumllteren Scanners (0 euro) kann ein RCL schon ab 140 euro realisiert werden

Einfache Adaptierbarkeit des Interface und der PHP-Basissoftware an das Experiment Der Mikrocontroller des Interface kann frei programmiert werden Mit der Aufteilung der Schaltung des Interface in eine fuumlr alle RCLs gleiche Basisschaltung und RCL-spezifische Erweiterungsschaltungen (rarr 212) ist das Interface leicht an das Experiment anpassbar Durch die im Mikrocontroller integrierten Peripheriebausteine genuumlgen meist wenige Bau-elemente und die unterschiedlichsten Mess- und Steuergroumlszligen koumlnnen verarbeitet wer-den Die PHP-Basissoftware braucht nur um wenige Programmbloumlcke erweitert zu wer-den

Einfacher Zugang zu Ressourcen der RCL-Technik Die weite Verbreitung des Mikrocontrollers ATmega16 im Hobbybereich korrespondiert mit einem umfangreichen kostenlosen Informationsmaterial zur Hardware und Software des Mikrocontrollers im Internet In Tab 2 sind unter Mikrocontroller Links zu Datenblaumlt-tern Portalen und Foren mit praxisnahen Loumlsungen fuumlr Probleme der Mikrocontroller-Programmierung zusammengestellt Ein staumlrker strukturiertes Erlernen der Funktionen und Programmierung von AVR-Mikrocontrollern ist uumlber die genannten Tutorials im Inter-net und Buumlcher moumlglich

11

Ressource Kurzbeschreibung

Mik

roco

ntro

ller

Mikrocontroller mega16A Mikrocontroller ATmega16A Summary

Ausfuumlhrliches und zusammenfassendes Datenblatt des Mikrocon-trollers ATmega16

wwwmicrocontrollernet Portal fuumlr Mikrocontroller RoboterNETZ Portal fuumlr Robotik Mikrocontroller und Elektronik AVR-Tutorial Tutorial zur AVR-Familie auf microcontrollernet BASCOM-AVR Online-Hilfe zur Entwicklungsumgebung BASCOM-AVR myAVR Mikrocontrollerloumlsungen fuumlr Ausbildung und Selbststudium BASCOM-Forum Forum von MCS BASCOM RoboterNETZ-Forum Forum von RoboterNETZ myAVR-Forum Forum von myAVR AVR-Forum Forum von Atmel Roland Walter AVR Mikrocontroller Lehr-buch Buch zur Programmierung von AVR-Mikrocontrollern mit Basic

Guumlnter Schmitt Mikrocomputertechnik mit Controllern der Atmel AVR-RISC-Familie

Buch zur Programmierung von AVR-Mikrocontrollern in Assemb-ler und C

Claus Kuumlhnel Programmierung der AVR RISC Mikrocontroller mit BASCOM-AVR

Buch zur Programmierung von AVR-Mikrocontrollern in BAS-COM-AVR (Basic)

Frank Sichla Schaltungssammlung Mikro-controller und USB

Buch mit praktischen Anwendungsschaltungen und Einsatzmoumlg-lichkeiten von Mikrocontrollern

HTM

LPH

P

SELFHTML Portal zum Erstellen von Webseiten mit HTML SELTPHP Portal zum Programmieren von Webseiten mit PHP PHP Entwicklerseite von PHP Kleines Tutorial PHP-Tutorial PHP-Handbuch PHP-Handbuch

Elek

tron

ik

reichelt elektronik Elektronikversand Conrad Elektronikversand ELV Elektronik Elektronikversand Datasheet Catalogcom Datenbank fuumlr Datenblaumltter elektronischer Bauelemente Datasheet Archive Datenbank fuumlr Datenblaumltter elektronischer Bauelemente Pegelwandler Max232 fuumlr serielle Schnitt-stelle Datenblatt des ICs Max232 von Texas Instruments

Spannungsregler L7805 Datenblatt des ICs L7805 von STMicroelectronics Schrittmotormodul TMC222 Datenblatt des ICs TMC222 von Trinamic

Schr

ittm

otor

en

Minebea Hybrid Stepping Motors Datenblaumltter von 12 Hybrid-Schrittmotoren Trinamic Stepper Motors Datenblaumltter und Bezugsquellen von 6 Hybrid-Schrittmotoren reichelt elektronik Groszliges Angebot an Schrittmotoren Quality Motors Auf TMC-Module und -ICs abgestimmte Schrittmotoren Nanotec Schrittmotor-Animation Animation von unipolarem und bipolarem Schrittmotor

Nanotec Glossar Glossar mit Erklaumlrungen zu wichtigen Begriffen aus der Schrittmo-tor-Antriebstechnik

Erich Rummich Elektrische Schrittmoto-ren und -antriebe- Funktionsprinzip- Be-triebseigenschaften - Messtechnik

Buch zum Erwerb von Kenntnissen zum Aufbau und zur Funkti-onsweise von Schrittmotoren

Tab 2 Ressourcen zur Realisation eines RCLs

Die seit 1996 zunehmende Bedeutung der kostenlosen Skriptsprache PHP und das Wachstum des Internets korrespondieren mit einer Zunahme an kostenlosem Informati-onsmaterial zur PHPHTML-Programmierung Neben den unter PHPHTML in Tab 2 ge-nannten Ressourcen sind wegen des groszligen Marktes keine Buumlcher zu PHP genannt Die teuren und schnell veraltenden Buumlcher sollten in Bibliotheken geliehen werden Unter Elektronik sind in Tab 2 Links zum Versandhandel elektronischer Bauelemente zu Datenbanken mit Datenblaumlttern elektronischer Bauelemente und zu Datenblaumlttern der wichtigsten ICs des Interface zu finden Unter Schrittmotoren sind Links zu Schrittmotoren

12

wichtiger Anbieter zusammengestellt die uumlber den Elektronikhandel leicht bezogen wer-den koumlnnen Das Buch von Erich Rummich erklaumlrt Zusammenhaumlnge zwischen Bauform und Funktionsweise von Schrittmotoren die uumlber Informationen zu Schrittmotoren im Tu-torial (rarr 231) gegebenen Informationen hinausgehen

Programmierung des Mikrocontrollers in Basic Besonders die Moumlglichkeit der Programmierung des Mikrocontrollers in der Hochsprache Basic (larr 12 Tab 1 Bascom AVR) erleichtert den Einstieg in den Selbstbau von RCLs Daruumlber hinaus besteht analog zur PHP-Programmierung die Mikrocontroller-Programmierung aus einer an das jeweilige RCL lediglich anzupassenden Basispro-grammierung (rarr 431)

Betriebssystemunabhaumlngigkeit Das Interface kommt ohne betriebssystemspezische Treiber aus PHP und HTML sind be-triebsystemunabhaumlngige Sprachen Der Apache Webserver XAMPP ist auszliger fuumlr Windows fuumlr die Betriebssysteme Linux Mac OS X und Solaris9 erhaumlltlich

Wartung von Programmierung und Interface Aumlnderungen der PHPHTML-Programmierung koumlnnen leicht uumlber einen Fernzugriff auf den RCL-Server vorgenommen werden Da der PHPHTML-Quellcode im RCL-Betrieb stets in einer lauffaumlhigen Form vorliegt fuumlhren Wechsel von Personen die Zugriff auf die Programmierung haben nicht zu Ausfaumlllen des RCLs Aumlnderungen und Reparaturen an den Ergaumlnzungsschaltungen des Interface koumlnnen aufgrund des Lochrasteranteils der Platine (rarr 412) leicht durchgefuumlhrt werden

Zerstoumlrungssichere Versuchskomponenten Versuchskomponenten sind durch die Programmierung des Mikrocontrollers vor Fehlbe-dienungen des RCLs geschuumltzt Da der Mikrocontroller die Zulaumlssigkeit von Parameter-werten uumlberwacht ist kein Missbrauch des Experiments durch Dritte moumlglich Abstuumlrze des RCL-Servers fuumlhren nicht zu undefinierten Zustaumlnden des Experiments weil der Mik-rocontroller das Experiment steuert In der Lebensdauer staumlrker begrenzte Versuchskom-ponenten wie z B die Elektronenbeugungsroumlhre beim RCL Elektronenbeugung (larr 11 Abb 2) koumlnnen durch eine programmierte Standby-Funktion des Mikrocontrollers bei Nichtgebrauch ausgeschaltet werden

Keine Installation von Zusatzsoftware Besucher benoumltigen zum Experimentieren mit RCLs lediglich einen kostenlos verfuumlgbaren Webbrowser wie z B die auf Funktionsfaumlhigkeit fuumlr die RCLs getesteten Internet Explo-rer Opera Firefox Safari oder Konquerer mit aktivierter Javaskript-Funktion Es muss keine weitere Zusatzsoftware installiert werden

Eine alternative technische Loumlsung fuumlr RCLs ist LabVIEW (Laboratory Virtual Instrument En-gineering Workbench) von National Instruments (NI)10 LabVIEW ist eine sehr umfangreiche

9 Apache friends XAMPP

13

mittlerweile als Industriestandard geltende grafische Programmierumgebung zum Messen Steuern und Regeln von Systemen Uumlber umfangreiche Treiber-Bibliotheken lassen sich fast alle gaumlngigen mit einer entsprechenden Schnittstelle ausgestatteten Geraumlte in LabVIEW ein-binden LabVIEW wurde als technische Loumlsung im RCL-Projekt aus mehreren Gruumlnden nicht eingesetzt

Besucher muumlssen einmalig vor dem Experimentieren mit RCLs die LabVIEW Run-Time Engine11 installieren

Es existieren nur wenige Schulgeraumlte mit den erforderlichen Schnittstellen

Die Kosten von ungefaumlhr 1300 euro fuumlr die Basisversion und ungefaumlhr 2800 euro fuumlr die Vollver-sion sind zu hoch

LabVIEW ist fuumlr die zu entwickelnden RCLs bzw die Zielgruppe aus Schuumllern und Studie-rende uumlberdimensioniert Der Nachbau von RCLs durch interessierte Schuumller und Studie-rende waumlre aus Kosten und Anforderungsgruumlnden nur schwer moumlglich

Trotz der graphischen Programmieroberflaumlche von LabVIEW muumlssen im Programmcode immer noch Anpassungen in der speziell fuumlr LabVIEW entwickelten Programmiersprache G vorgenommen werden

Die Einarbeitung in LabVIEW ist vom Zeitaufwand und den Anforderungen her mindes-tens genauso hoch wie die fuumlr Mikrocontroller- und PHP-Programmierung

Eine mit fertigen LabVIEW-Elementen gestaltete Laborseite ist nicht unbedingt nutzer-freundlicher als eine mit PHPHTML erstellte Laborseite

2 Lokal gesteuertes RCL 21 Interface 211 Mikrocontroller Zentrales Bauelement des Interface ist ein ATMEL AVR 8-bit RISC Mikrocontroller ATme-ga16 Dieser enthaumllt im Vergleich zu einem Mikroprozessor auszliger dem Prozessor auch peri-phere Module wie z B Speicher digitale und analoge Ein- und Ausgaumlnge oder Timer fuumlr Zu-satzfunktionen Dadurch kommen Anwendungen von Mikrocontrollern wie z B RCLs meist mit wenigen zusaumltzlichen Bauelementen aus Tab 3 enthaumllt eine Uumlbersicht der wichtigsten Features des Mikrocontrollers zum Prozessor zur Programmierung und Datenspeicherung zu peripheren Modulen und erlaumlutert einige Fachbegriffe

10 Vgl National Instruments 11 Vgl National Instruments LabVIEW Run-Time Engine

14

Feature Erlaumluterung

Proz

esso

r

ATMEL AVR 8 bit RISC Mik-rocontroller ATmega16

ATMEL US-amerikanischer Hersteller von Mikrocontrollern AVR Familie von Mikrocontrollern 8 bit Breite des internen Datenbusses des Mikrocontrollers RISC steht fuumlr Reduced Instruction Set Computer (Rechner mit reduziertem Befehls-

satz) Designphilosophie von Mikrocontrollern mit Befehlssatz aus moumlglichst einfa-chen Befehlen und houmlherer Effizienz des Prozessors

ATmega Eine der Mikrocontroller-Serien von ATMEL 16 steht fuumlr 16 kB Flash-ROM Groumlszlige des Programmspeichers des Mikrocontrollers

131 Befehle mit 1-2 Taktzyk-lenBefehl

Die ATmega-Serie besitzt unter den Mikrocontroller-Serien von ATMEL den groumlszligten Befehlssatz Die meisten Befehle benoumltigen zur Ausfuumlhrung nur einen Taktzyklus

Variabel waumlhlbare Taktfre-quenzen bis zu 16 MHz

Ein externer Schwingquarz legt die Schwingungsfrequenz einer Oszillatorschaltung und damit die Taktfrequenz des Mikrocontrollers fest

Prog

ram

mie

rung

und

Dat

ensp

eich

erun

g

ISP uumlber SPI-Bus in 16 kB Flash-ROM Programm-Speicher

ISP steht fuumlr In System Programming Der Mikrocontroller kann ohne aus der Schal-tung entfernt zu werden programmiert werden Es wird kein teures Programmierge-raumlt sondern nur ein Programmieradapter benoumltigt

SPI steht fuumlr Serial Peripheral Interface (Serielles Peripheres Interface) Nach dem Master-Slave-Prinzip arbeitender synchroner serieller Datenbus zur Kommunikation zwischen digitalen Schaltungen

Flash-ROM Kann zur Speicherung des Programmcodes ca 1000-mal neu be-schriebengeloumlscht - geflashed - werden aber beliebig oft gelesen werden Daten bleiben auch ohne Versorgungsspannung erhalten

512 B EEPROM 1 kB internes SRAM

EEPROM steht fuumlr Electrically Erasable Programmable Read Only Memory (Elektrisch loumlschbarer und programmierbarer Nur-Lese-Speicher) Nichtfluumlchtiger Speicher der beliebig oft gelesen und mindestens 100000 mal beschrieben werden kann Kann z B zum Speichern von Messwerten und Konfigurationsdaten verwen-det und uumlber ISP programmiert werden

SRAM steht fuumlr Static Random Access Memory Fluumlchtiger Speicher der beliebig oft gelesen und beschrieben werden kann Wird z B zur Speicherung von Variablen und des Stacks verwendet

Perip

here

Mod

ule

32 programmierbare Ein- und Ausgaumlnge

Der Mikrocontroller ist 40-polig Davon koumlnnen 32 Pole entweder als Ein- oder Aus-gang programmiert werden

Zwei 8-bit- und ein 16-bit-Timer mit Vorteilern und Ver-gleichs-Modus

Die vom Quarzoszillator gesteuerten Timer erlauben z B praumlzise Zeitmessungen oder Interrupts bei bestimmten Zaumlhlerstaumlnden Die maximalen Zaumlhlerstaumlnde sind bei 8 bit 255 und bei 16 bit 1023 Vorteiler erlauben eine Verringerung der Zaumlhlrate

Programmierbare USART USART steht fuumlr Universal SynchronousAsynchronous Receiver Transmitter Seriel-

le Schnittstelle die zur Datenuumlbertragung zwischen Mikrocontroller und Computer benutzt wird

I2C Interface

I2C ist ein synchroner serieller Zweidraht-Bus mit einer Daten- und einer Taktleitung zur Kommunikation zwischen ICs Nach dem Master-Slave-Prinzip kann ein Master bis zu 128 Slaves ansprechen Die Uumlbertragungsrate liegt im Standard-Mode bei 100 kbits

Externe und interne Interrupts

Interrupts unterbrechen das Hauptprogramm des Mikrocontrollers um kurzfristige und zeitkritische Verarbeitungen durchzufuumlhren Externe Interrupts werden durch am Mikrocontroller angeschlossene Hardware gesteuert interne Interrupts durch die Programmierung des Mikrocontrollers

4 PWM-Ausgaumlnge PWM steht fuumlr Pulse Width Modulation (Pulsweitenmodulation) Timer stellen an 4

Ausgaumlngen Rechteckimpulse der Dauer t und Unterbrechungsdauer T-t mit variab-lem Tastverhaumlltnis tT zur Verfuumlgung

8 10-bit ADC

ADC steht fuumlr Analog to Digital Converter (AD-Wandler) Integrierte Schaltung die analoge Eingangsspannung Ue in digitale Ausgangsspannung (Zahl) umwandelt

10-bit Aufloumlsungsvermoumlgen des AD-Wandlers Kleinster aufloumlsbarer Spannungsun-terschied ist (Uemax - Uemin)210

Tab 3 Features des Mikrocontrollers ATmega16

15

212 Basisschaltung und Erweiterungsschaltungen Abb 5 zeigt am Beispiel des RCLs Elektronenbeugung die Platine des Interface mit den Funktionsgruppen 1 - 5 der Basisschaltung und den Funktionsgruppen 6 und 7 der Erweite-rungsschaltungen (larr 11 Abb 4)

Abb 5 Platine des Interface des RCLs Elektronenbeugung

Abb 6 zeigt den dazugehoumlrigen Schaltplan mit den Nummern der Funktionsgruppen und die Pinbelegung des Mikrocontrollers ATmega16

Abb 6 Schaltplan des Interface des RCLs Elektronenbeugung (links) und Pinbelegung

des Mikrocontrollers ATmega16 (rechts)

16

Basisschaltung Die Spannungsversorgung (1) des Interface erfolgt uumlber ein Universal-Steckernetzteil mit der Betriebsspannung Ub = 12 V Eine Diode SB140 schuumltzt die Elektronik des Interface vor falscher Polung der Spannungsversorgung Der Spannungsregler L7805 wandelt die Betriebsspannung am Hohlstecker in eine Gleichspannung von 5 V fuumlr die Spannungs-versorgung der elektronischen Bauelemente des Interface um Die Betriebsspannung kann im Interface auch direkt zur Ansteuerung von Relais oder zur Spannungsversorgung kleinerer Motoren verwendet werden Bei Bedarf kann unter Beachtung der Kuumlhlung des L7805 das Interface mit houmlheren Betriebsspannungen z B fuumlr staumlrkere Schrittmotoren betrieben werden Die nicht hinreichend stabile und temperaturabhaumlngige Frequenz des internen RC-Oszillators im Mikrocontroller (2) kann bei Verwendung der USART zu Problemen fuumlhren Daher wird ein externer 110592 MHz Schwingquarz (3) eingesetzt Der IC MAX232 ist ein Pegelwandler der die 0V+5 V-Signale der seriellen Schnittstelle (4) des Mikrocontrol-lers an die plusmn12 V-Signale der seriellen Schnittstelle des Computers anpasst Uumlber den ISP-Stecker kann der Mikrocontroller programmiert werden (5) Das Interface in der Ba-sisschaltung kann im Selbstbau angefertigt werden (rarr 41)

Erweiterungsschaltungen Nur die wenigsten Aktoren Sensoren gesteuerte Geraumlte und Bauelemente eines RCLs lassen sich direkt vom Mikrocontroller ansteuern Beim RCL Elektronenbeugung wird die Heizspannung der Elektronenkanone mit einem Relais zum Schalten der Netzspannung des Hochspannungsnetzgeraumltes ein- und ausgeschaltet (6) Liefert der Mikrocontroller am Port PA0 die Spannung 5 V (high) so wird die Kollektor-Emitter-Strecke des Transistors BC 337 niederohmig fast die gesamte Betriebsspannung Ub = 12 V faumlllt uumlber dem Relais ab und es flieszligt ein Strom durch das Relais Die Diode 1N4001 schuumltzt den Transistor vor Induktionsspannungsspitzen beim Ein- und Ausschalten der Spule im Relais Am Steuereingang des Hochspannungsnetzgeraumlts kann durch Anlegen einer Steuer-spannung US zwischen 0 V und 5 V die Beschleunigungsspannung der Elektronenkanone zwischen 0 und 43 kV im belasteten Zustand bei eingeschalteter Gluumlhkathode variiert werden Die analoge Steuerspannung US erzeugt ein 8-bit Digital-Analog-Wandler PCF8591 der uumlber den I2C-Bus des Mikrocontrollers (Ports PC0 und PC1) mit Binaumlr-codes zwischen 0 und 255 angesteuert wird (7) Die Ausgangsspannung des DA-Wandlers liegt in 256 Stufen zwischen 370 mV und 497 V Dieser Schaltung wurde der Vorzug gegenuumlber der Erzeugung einer Steuerspannung mit Hilfe eines der Pulsweiten-modulationsausgaumlnge des Mikrocontrollers gegeben weil der Programmieraufwand ge-ringer und die Steuerspannung keine Restwelligkeit aufweist

Eine Uumlbersicht zu Erweiterungsschaltungen fuumlr Sensoren und Aktoren (rarr 421) zeigt die Anpassungsfaumlhigkeit des Interface an die unterschiedlichsten Experimente

17

213 Programmierung des Mikrocontrollers Im Folgenden wird die Programmstruktur des Mikrocontroller-Programms und die Uumlbertra-gung des Programmcodes in den Mikrocontroller beschrieben

Programmstruktur Der Mikrocontroller ist mit einem Programm (Firmware) ausgestattet um die Aufgaben des Interfaces abzuarbeiten Hierzu zaumlhlen im Wesentlichen Programmteile zur Kommu-nikation mit dem RCL-Server und zur Steuerung des Experiments da das Interface eine Schnittstelle zwischen Experiment und RCL-Server darstellt Weitere Programmteile sind beispielsweise zur Initialisierung des Versuchsaufbaus und der Steuerparameter sowie zur Konfiguration des Interfaces realisiert Abb 7 zeigt ein Flussdiagramm der Programm-teile zur Kommunikation mit dem RCL-Server und zur Steuerung des Experiments

Abb 7 Flussdiagramm der Programmierung des Mikrocontrollers

Der Programmteil zur Kommunikation mit dem RCL-Server besteht im Wesentlichen aus einer Schleife die unablaumlssig auf Steuerzeichen des RCL-Servers wartet diese gegebe-nenfalls empfaumlngt und auswertet Soll mittels eines empfangenen Steuerzeichens der Versuchsaufbau angesteuert werden wird vom Kommunikations-Programmteil eine ent-sprechende Anweisung fuumlr den Steuerungs-Programmteil generiert In der Schleife wer-den auch Antworten wie z B Messergebnisse des Steuerungs-Programmteils entgegen-genommen und an den RCL-Server ausgegeben Der Kommunikations-Programmteil kann Kommandos mit und ohne Parameter entgegen-nehmen und verarbeiten So lassen sich einfache Befehle wie Start und Stopp eines Mo-tors aber auch speziellere Anweisungen wie Messe uumlber den Bereich von a nach b mit einer Schrittweite c ausfuumlhren Auch Messergebnisse oder Statusinformationen in Form einzelner Daten wie Zahlen oder Listen koumlnnen vom Kommunikations-Programmteil an den RCL-Server uumlbertragen werden Ferner uumlbernimmt der Kommunikations-Programmteil auch den Austausch von Konfigurationsdaten fuumlr das Interface beispiels-

18

weise Motorparameter oder Zeitvorgaben fuumlr eine Standby-Funktion Schlieszliglich gibt der Kommunikations-Programmteil auch Fehlermeldungen an den RCL-Server aus etwa bei einem Fehlerzustand im Experiment oder bei fehlerhaften Anweisungen des Besuchers bzw des RCL-Servers Im Programmteil zur Steuerung des Experiments erfolgt die Ansteuerung von Aktoren und das Auslesen von Sensoren mittels elektronischer Aus- und Eingaumlnge (Ports) des Mikro-controllers Gegebenenfalls sind zwischen den Ports des Mikrocontrollers und dem Expe-riment Erweiterungsschaltungen erforderlich (larr 212 Erweiterungsschaltungen) Der Steuerungs-Programmteil ist als Interrupt-Routine implementiert Interne Zeitgeber des Mikrocontrollers rufen den Programmteil zyklisch z B alle 1 oder 10 Millisekunden auf wobei die zuvor beschriebene Schleife des Kommunikations-Programmteils kurzzeitig fuumlr die Abarbeitung des Steuerungs-Programmteils unterbrochen wird Hierdurch wird die Steuerung als Real-Time-Prozess12 ausgefuumlhrt und es koumlnnen insbesondere zeitkritische Steueraufgaben mit einer Aufloumlsung von ungefaumlhr 1 - 10 ms zuverlaumlssig erledigt werden Ferner ist im Mikrocontroller und dem Programm ein sogenannter Watchdog installiert der das Programm bei einem Programmabsturz automatisch neu startet Der Watchdog als elektronische Baugruppe im Mikrocontroller fuumlhrt einen Neustart des Mikrocontrollers (Reset) durch sofern er nicht mehr uumlber das Programm in vorgegebenen Zeitintervallen angesteuert wird Je nach RCL gibt es noch weitere Interrupt-Routinen die unabhaumlngig vom Zeittakt des Mikrocontrollers auf externe Ereignisse wie z B Ausgangsspannungsaumlnderungen eines Sensors reagieren Damit kann besonders schnell auf Erfordernisse des Experiments re-agiert oder es koumlnnen Zeitmessungen mit einer Genauigkeit von ungefaumlhr 10-6 s durchge-fuumlhrt werden Im Anhang (rarr 431) ist der Pascal-Quellcode fuumlr den Mikrocontroller des RCLs Elektronenbeugung verfuumlgbar

Programmuumlbertragung Nach der Kompilierung des Assembler- Basic- C+- C++- oder Pascal-Programms liegt eine Hexadezimaldatei vor die vom Computer in den Mikrocontroller uumlbertragen werden muss (Flashen des Programms) Zur Programmuumlbertragung muss das AVR-Studio instal-liert und konfiguriert sein (rarr 441) Abb 8 zeigt wie die Programmuumlbertragung durchge-fuumlhrt wird

12 Real-Time bedeutet hier dass die maximale Dauer eines Vorgangs vorhersehbar und gewaumlhrleistet ist dass eine Steuer-

aufgabe nach einer vorhersehbaren Zeit abgeschlossen ist

19

Abb 8 Programmuumlbertragung zwischen Computer und Mikrocontroller im Inter-

face des RCLs Elektronenbeugung uumlber USB-Seriell-Adapter und ISP-Programmer

Das Interface braucht nicht mit dem Experiment verbunden zu sein Auch Erweiterungs-schaltungen innerhalb oder auszligerhalb des Interface muumlssen nicht mit dem Mikrocontroller verbunden sein Das Interface ermoumlglicht uumlber die ISP-Schnittstelle die Programmierung mit einem preisguumlnstigen ISP-Programmer ohne ein teureres Experimentierboard13 Zur Uumlbertragung des Programms muss in folgenden Schritten vorgegangen werden

(1) Spannungsversorgung des Interface zur Sicherheit unterbrechen weil beim Verbinden mehrpoliger Steckerverbindungen es zu Kurzschluumlssen kommen kann

(2) 10-poligen ISP-Stecker des ISP-Programmers an die ISP-Schnittstelle des Interface anschlieszligen

(3) ISP-Programmer an die serielle Schnittstelle oder uumlber USB-Seriell-Adapter an die USB-Schnittstelle des Computers anschlieszligen

(4) Spannungsversorgung des Interface wieder herstellen

(5) AVR-Studio unter StartProgramme aufrufen und nach Abb 9 in der Registerkarte Program unter Flash die zu uumlbertragende Hexadezimal-Datei z B Elektronenbeu-gunghex auf der Festplatte auswaumlhlen und Program waumlhlen

13 Vgl ATMEL STK 500 Entwicklerkit bei Reichelt Elektronik

20

Abb 9 Uumlbertragung der Hexadezimaldatei Elekt-

ronenbeugunghex in den Mikrocontroller

(6) Spannungsversorgung des Interface unterbrechen ISP-Programmer vom Interface trennen AVR-Studio beenden und den ISP-Programmer vom Computer trennen

22 Hyperterminal Nach der Programmuumlbertragung kann das Experiment uumlber das konfigurierte Hyperterminal (rarr 454) lokal gesteuert werden Mit dem Hyperterminal koumlnnen als Text eingegebene Be-fehle oder Abfragen an den Mikrocontroller gesendet oder von diesem empfangen werden Der Computer muss wie bei der Programmuumlbertragung mit dem Interface per Null-Modem-Kabel uumlber die serielle Schnittstelle oder einen USB-Seriell-Adapter verbunden sein Das In-terface muss an die Versorgungsspannung anschlossen sein braucht aber nicht mit dem Experiment verbunden zu sein Abb 10 zeigt nach Eingabe von und von param im Hyper-terminal die Befehlsliste des Mikrocontrollers fuumlr das RCL Elektronenbeugung

21

Abb 10 Befehlsliste des Mikrocontrollers im Hyperterminal fuumlr das RCL Elektronenbeugung

Tab 4 gibt Erlaumluterungen zur Befehlsliste

BefehlAbfrage Erlaumluterung

DA x Am Eingang des DA-Wandlers wird die Zahl x (0 - 255) im Binaumlrcode

angelegt und die Ausgangsspannung des Hochspannungsnetzgeraumlts bzw die Beschleunigungsspannung der Elektronenkanone eingestellt

OnOff Hochspannungsnetzgeraumlt und Gluumlhkathode der Elektronenkanone ein-

oder ausschalten Beim Einschalten wird die Steuerspannung des Inter-face am Hochspannungsnetzgeraumlt auf asymp 0 V einstellt

Standby Ausgabe der eingestellten Standbyzeit von 300 s setSB x Standbyzeit einstellen

next Standby in Ausgabe der verbleibenden Standbyzeit (254 s) bis das Experiment

ausgeschaltet wird Eine negative Standbyzeit gibt die Zeit seit dem Ab-lauf der Standbyzeit an

Power On Delay Ausgabe der Verzoumlgerungszeit (2 s) bis das Hochspannungsnetzge-

raumltElektronenbeugungsroumlhre nach dem Ausschalten oder nach Ablauf der Standbyzeit erneut eingeschaltet werden kann

setPOD x Verzoumlgerungszeit einstellen

power on enabled in Ausgabe wie lange Hochspannungsnetzgeraumlt nicht eingeschaltet wer-

den kann Zeiten unter 0 bedeuten dass Power-On-Delay-Zeit ablaufen ist

Tab 4 Erlaumluterung der Befehle in Abb 10

23 Positionieren von Objekten In fast allen RCLs des RCL-Portals auszliger den RCLs Elektronenbeugung und Oszilloskop muumlssen Objekte rotatorisch oder translatorisch positioniert werden Eingesetzt werden Hyb-rid-Schrittmotoren als Aktoren eine Schrittmotorsteuerung von Trinamic als Erweiterungs-schaltung (TMC222-Modul) die Positionierungseinheit ausgedienter Flachbrett-Scanner und ein Referenz-Taster als Sensor

231 Hybrid-Schrittmotoren Abb 11 zeigt den vereinfachten schematischen Aufbau eines zweiphasigen Schrittmotors mit getrennten magnetischen Kreisen des Stators und einem permanent magnetisierten zweipoligen Rotor (Polpaarzahl 1)

22

Abb 11 Funktionsprinzip von Schrittmotoren Unipolare (links) und bipolare Schaltung (rechts)

von Schrittmotoren mit Bestromungstabellen fuumlr Voll- und Halbschrittbetrieb Darge-stellt ist der Schritt 0

Der Rotor verfuumlgt bei der dargestellten Polreihenfolge S-S-N-N des Stators uumlber eine stabile Stellung bei einer hypothetischen (magnetische Monopole) Polreihenfolge N-S-N-S gaumlbe es mit diesem Aufbau des Stators nur instabile Stellungen des Rotors Um den Rotor in Bewe-gung zu setzen muss die Polreihenfolge S-S-N-N im oder entgegen den Uhrzeigersinn (Rechts- oder Linksdrehung) weitergeschaltet und der Rotor vom magnetischen Schrittfeld mitgenommen werden

Die magnetische Polaritaumlt eines magnetischen Kreises laumlsst sich entweder durch zwei Spu-len konstanter elektrischer Polaritaumlt mit unterschiedlichem Wicklungssinn (herstellungstech-nisch zu aufwendig) durch eine Spule mit Mittelanzapfung und konstanter elektrischer Pola-ritaumlt der beiden Teilspulen (unipolare Schaltung) oder durch eine Spule mit wechselnder elektrischer Polaritaumlt (bipolare Schaltung) realisieren In Abb 11 sind dazu die elektrischen Beschaltungen und die Bestromungstabellen fuumlr eine Rechtsdrehung des Rotors dargestellt Fuumlr eine Linksdrehung des Rotors muss die Schrittfolge in umgekehrter Reihenfolge durch-laufen werden

Es wird zwischen Vollschrittbetrieb (graue Zeilen der Tabellen) mit Schrittwinkel 90deg bzw Schrittzahl 4 und Halbschrittbetrieb (alle Zeilen der Tabellen) mit Schrittwinkel 45deg bzw Schrittzahl 8 unterschieden Beim Vollschrittbetrieb werden immer beide magnetische Kreise bestromt und die N-S-Polachse des Rotors nimmt nur Stellungen zwischen den Statorpolen

23

an Beim Halbschrittbetrieb wird zwischen den Vollschritten nur einer der magnetischen Krei-se bestromt und die N-S-Polachse des Rotors kann zusaumltzlich 4 Stellungen in Richtung der Statorpole einnehmen Der Hybrid-Schrittmotor ist die am haumlufigsten vertretene Bauform von Schrittmotoren Abb 12 zeigt den Aufbau eines Hybrid-Schrittmotors

Abb 12 Aufbau eines Hybrid-Schrittmotors fuumlr unipolare und

bipolare Schaltung Daten Schrittwinkel 18deg max Drehmoment 155 Ncm

Der Stator besteht aus zwei Straumlngen mit je 4 in Reihe geschalteten Spulen Der Wick-lungssinn der Spulen ist in beiden Straumlngen so dass sich die Polfolge N-S-N-S uumlber den Umfang ergibt Beide Straumlnge zusammen ergeben unabhaumlngig von der Stromrichtung ei-ne Polfolge N-N-S-S-N-N-S-S uumlber den Umfang Ein zweipoliger Rotor (Polpaarzahl 1) kann im Vollschrittbetrieb 4 Stellungen annehmen Der Rotor des Hybridschrittmotors be-steht aber aus axial magnetisierten Permanentmagneten deren Polpaarzahl durch axial versetzte weichmagnetische Zahnscheiben auf 50 erhoumlht wurde Dadurch erhoumlht sich die Schrittzahl auf 4 sdot 50 = 200 und der Schrittwinkel verkleinert sich auf 360deg200 = 18deg Um stabile Rotorstellungen zu erhalten muumlssen die Statorsegmente ebenfalls gezahnt ausge-fuumlhrt werden

Ein solcher Hybrid-Schrittmotor vereint die Vorteile des Reluktanz- und des permanenter-regten Schrittmotors Ein kleiner Schrittwinkel wird durch das von Reluktanzschrittmotoren bekannte Prinzip der Erzeugung einer Vielzahl von Polen des Rotors durch Zahnscheiben erzielt Ein hohes Drehmoment wird durch das von permanenterregten Schrittmotoren be-kannte Prinzip der Ausfuumlhrung des Rotors als Permanentmagnet erzielt Aufgrund der bi-filaren Wicklung besteht jede Statorwicklung aus zwei Teilspulen und der Schrittmotor kann in unipolarer (alle 6 Anschluumlsse verwendet) und bipolarer Schaltung (nur 4 An-schluumlsse verwendet gemeinsamer Anschluss der Teilspulen bleibt unverwendet) wie in Abb 12 dargestellt verwendet werden

24

Schrittmotoren erlauben nicht nur das Bewegen sondern innerhalb der Leistungsgrenzen (keine Schrittverluste) auch ein genaues Positionieren von Objekten Bei bekannter Schrittzahl auf einer gemessenen Strecke oder Schrittzahl fuumlr den Vollwinkel koumlnnen aus-gehend von einer Referenzstellung Objekte translatorisch oder rotatorisch positioniert werden

232 Schrittmotorsteuerung und Positionierungsmechanik Im Folgenden wird die bei allen RCLs mit Schrittmotoren eingesetzte Schrittmotorsteuerung die Mechanik zur translatorischen Positionierung von Objekten und die Funktionsweise eines Referenztasters beschrieben

Schrittmotorsteuerung Abb 13 zeigt das Blockschaltbild und das im Selbstbau herstellbare TMC222-Modul (rarr 4221 rarr 4222) mit dem IC TMC222 von Trinamic zur Steuerung bipolarer 2-phasiger Hybrid-Schrittmotoren

Abb 13 Blockschaltbild (links) und Platine des TMC222-Moduls (rechts) mit IC TMC 222 auf

der Loumltseite der Platine

Der IC TMC222 enthaumllt ein I2C-Interface zum Anschluss an den I2C-Bus des Mikrocon-trollers (Ports PC0 und PC1) Die 10 kΩ-Pull-up-Widerstaumlnde heben die Takt- (SCL clock) und Datenleitung (SDA data) auf ein Potential von 5 V Der IC TMC222 enthaumllt ei-nen Motortreiber fuumlr Spulenstroumlme bis zu 800 mA und einen Motor-Controller zur Steue-rung der Spulenstroumlme Ein Vorteil des TMC-Moduls ist der relativ geringe Programmier-aufwand fuumlr den Mikrocontroller (rarr 4223) da der IC TMC222 nach Uumlbergabe der Steu-erungsparameter (Drehrichtung Drehzahl hellip) vom Mikrocontroller die Ansteuerung des Schrittmotors uumlbernimmt Der IC TMC222 unterstuumltzt das Beschleunigen und Abbremsen des Schrittmotors enthaumllt einen Schrittpositionszaumlhler und unterstuumltzt Mikrostepping (va-riable Spulenstroumlme zur elektronischen Verkleinerung des Schrittwinkels und groumlszligerer Laufruhe)

25

Falls in RCLs Gleichstrommotoren mit houmlheren Drehzahlen als Schrittmotoren benoumltigt werden kann eine andere Erweiterungsschaltung (rarr 424) eingesetzt werden

Positionierungsmechanik und Referenz-Taster Die Mechanik zur rotatorischen Positionierung von Objekten kann meist kostenguumlnstig selbst oder durch Personal in einer Werkstatt angefertigt werden Abb 14 zeigt eine kos-tenguumlnstige Loumlsung zur translatorischen Positionierung von Objekten

Abb 14 Positionierungseinheit eines Flachbrett-

Scanners Schrittmotor (1) Getriebe (2) Li-nearfuumlhrung (3) Antriebsriemen (4) und er-gaumlnzter Referenz-Taster (5)

Falls der geometrische Aufbau und die geforderte Positionierungsgenauigkeit des RCLs es zulassen kann die Schrittmotor-Positionierungs-Einheit ausgedienter Flachbrett-Scanner zur translatorischen Positionierung von Objekten verwendet werden In Einzelfaumll-len wie dem RCL Weltpendel kann die Positionierungsmechanik auch selbst angefertigt werden Der Referenz-Taster in Abb 14 wird eingesetzt um abzufragen ob ein vom Schrittmotor bewegtes Objekt die Position des Tasters erreicht hat und um diese Position zu referenzieren Ohne eine solche Referenzierung kann die Positionierung eines Objekts langfristig ungenau werden So kann z B beim RCL Weltpendel das Auftreffen der Kugel auf den Magneten zum Uumlberspringen von Schrittmotorstellungen fuumlhren Der Zustand des Referenz-Tasters in Abb 15 wird z B uumlber den Port PA0 des Mikrocontrollers abgefragt

Abb 15 Referenz-Taster zum referenzieren der

Position des bewegten Objekts

26

Zu Problemen koumlnnen undefinierte Zustaumlnde der Eingaumlnge des Mikrocontrollers fuumlhren wie sie beim Prellen dem zeitlich begrenzten schwingen eines Tasters beim Oumlffnen oder Schlieszligen entstehen Abhilfe schafft ein passend dimensionierter parallel zum Taster ge-schalteter Kondensator Bei geoumlffnetem Taster ist der Kondensator aufgeladen Beim Schlieszligen haumllt der Kondensator die Spannung uumlber die Schwingphase trotz kurzzeitig wieder geoumlffnetem Schalter noch aufrecht Analoges gilt fuumlr den Uumlbergang vom geschlos-senen zum geoumlffneten Taster

3 Ferngesteuertes RCL 31 RCL-Server Fuumlr den Betrieb eines RCLs wird ein RCL-Server benoumltigt (larr 11) Vorausgesetzt wird dass bei einem neuen Computer alle notwendigen Treiber (Ethernet Video Audio hellip) zum Be-trieb der Hardware des Computers und Windows XP Professional mit Service Pack 3 instal-liert sind Ein Benutzerkonto braucht nicht angelegt zu werden

Der RCL-Server benoumltigt einen Internetzugang mit statischer IP-Adresse und Uploaddatenra-te von mindestens 200 kbits (DSL 2000) fuumlr die fluumlssige Wiedergabe von Bewegungen in Webcambildern Die statische IP-Adresse wird von der Institution am Standort des RCLs vergeben oder kann von Privatpersonen bei einem Provider beantragt werden Mit folgenden Schritten wird der RCL-Server eingerichtet

Internetzugang einrichten (rarr 451) und im Browser testen

Checken ob die Windows Firewall aktiviert ist

Virenschutzproramm Avira Antivir Personal herunterladen (larr Tab 1) installieren und ak-tualisieren

Uumlber Windows Update alle Updates von Windows XP Professional installieren

Fernwartungssoftware TeamViewer 6 Vollversion (larr Tab 1) herunterladen und auf dem RCL-Server und dem eigenen Computer installieren (rarr 455)

Webeditor Notepad++ herunterladen installieren und aktualisieren (larr Tab 1)

Videoserver WebcamXP 5 herunterladen und installieren (rarr 453)

Paket XAMPP herunterladen und installieren (rarr 452) Verknuumlpfungen mit den Dateien xampphtdocsapache_startbat und xampphtdocsapache_stopbat auf dem Desktop oder in der Schnellstartleiste erstellen und Webserver mit erstgenannter Verknuumlpfung starten Webserver durch Eingabe von 127001 oder localhost ins Adressfeld des Brow-sers testen Bei erfolgreichem Test werden die im Ordner xampphtdocs abgelegten Webseiten von XAMPP dargestellt Statische IP-Adresse des RCL-Servers im Browser eines anderen Computers mit Internetzugang eingegeben Bei erfolgreichem Test werden die Webseiten von XAMPP dargestellt In der Datei xamppphpphpini unter Resource Limits die max_execution_time mit dem Windows-Editor von 60 auf 300 erhoumlhen und die

27

Datei speichern damit PHP bei Befehlen mit laumlngerer Ausfuumlhrungsdauer keine Fehler-meldung liefert

Ordner xampphtdocs mit den Webseiten von XAMPP in xampphtdocs_xampp um-benennen und fuumlr spaumltere Testzwecke nicht loumlschen RCL-Ordner htdocs herunterladen (larr Tab 1) extrahieren und in das Verzeichnis xampp verschieben

Abb 16 zeigt die Struktur des RCL-Ordners htdocs

Abb 16 Struktur des RCL-Ordners htdocs RCL-spezifisch anzupassende Dateien sind grau

hinterlegt

Der geoumlffnete Ordner Labor enthaumllt alle PHP- und HTML-Dateien bzw Programmierungen fuumlr die Funktionalitaumlt des Bedienfelds der Laborseite (larr 11 Abb 3) An das RCL anzupas-sen sind die portalsprachenunabhaumlngigen Dateien configphp und experimentphp sowie fuumlr jede Portalsprache die Dateien defaultconf und experimenttpl in den Ordnern eng fra ger und ita

Datei configphp Zeit bis zum automatischen Logout beim Experimentieren mit dem RCL eintragen

Datei experimentphp PHP-Basisprogrammierung um die RCL-spezifische PHP-Programmierung erweitern (rarr 432)

Datei defaultconf Name des RCLs (z B Elektronenbeugung) in jeder Portalsprache ein-getragen

Datei experimenttpl HTML-Basisprogrammierung um RCL-spezifische Ein- und Ausga-befelder erweitern (rarr 433)

28

32 Laborseite 321 Steuerung des RCLs uumlber das Bedienfeld Das Bedienfeld der Laborseite (larr 11 Abb 3) wird von der Dateien indexphp und experi-menttpl erzeugt Befehle wie das Anklicken von Buttons Eingaben und Auswahl aus Listen werden in ein HTML-Formular mit Formularfeldern in der Datei experimenttpl geschrieben Die Daten werden von der PHP-Datei experimentphp ausgewertet und uumlber die serielle Schnittstelle dem Mikrocontroller-Programm zur Steuerung des Experiments uumlbergeben Die Dateien experimentphp und experimenttpl wurden getrennt angelegt um Code und Design zu trennen und nur das Design in der Datei experimenttpl an die Portalsprache anpasst werden muss

Tab 5 enthaumllt Ausschnitte der HTML-Datei experimenttpl (rarr 433) der Datei experi-mentphp (rarr 432) und des Mikrocontroller-Programms (rarr 431) fuumlr das RCL Elektronen-beugung

29

Code mit Erlaumluterung

expe

rimen

ttpl

1821 Tag ltformgtltformgt definiert ein Formular 18 Attribut action legt fest dass Formulardaten in der Datei indexphp verarbeitet werden Uumlbertragen

werden eine Session-ID ($sid) um exklusiven Zugriff des jeweilgen Besuchers zu sichern und ($portal) um die vom Besucher gewaumlhlte Sprache beizubehalten post ist eine Uumlbertragungsmethode zwischen Browser und Webserver und gibt die die vom Besucher gewaumlhlte Aktion zum Ansteuern des Experiments an die Datei experimenttpl weiter

20 Erzeugt im Bedienfeld den Sendebutton (submit) mit der Aufschrift Elektronenroumlhre einschalten (valu-e)

19 Unsichtbares Feld (hidden) mit Variablennamen action und Wert RoumlhreAn Der Variablenname ac-tion stimmt nur zufaumlllig mit action in Zeile 18 uumlberein

expe

rimen

tphp

24 Die Funktion wird als Eventhaumlndler bezeichnet weil je nach uumlbergebener Aktion - siehe Zeile 19 in experi-

menttpl - die entsprechenden Anweisungen (case) ausgefuumlhrt werden 37 Fuumlr den Fall dass die Variable $action den Wert RoumlhreAn hat wird die Funktion power_on() aufgeru-

fen

59 Schreibt in die Logdatei logtxt den Text RoumlhreAn 6061 Oumlffnet den in der Datei configphp zentral gespeicherten Com-Port an den das Interface angeschlossen ist

oder gibt Fehlermeldung Can not access file system im Bedienfeld aus falls der Com-Port sich nicht oumlff-nen laumlsst

62 Sendet die Zeichenfolge On und chr(13) (entspricht der Betaumltigung der Return-Taste im Hyperterminal) an den Mikrocontroller

63 Schlieszligt serielle Schnittstelle

Que

llcod

e M

ikro

cont

rolle

r

166 Wird uumlber die serielle Schnittstelle der Befehl on empfangen und ist das Einschalten zulaumlssig (Zeiten fuumlr

PowerOnDelay und Standby abgelaufen) dann hellip 167 Hochspannungsnetzgeraumlt einschalten 168 Der DA-Wandler PCF8591 wird unter seiner Adresse PCF8591 = 01001000 angesprochen Parameterein-

stellungen mit 01000000 und Ausgangsspannung auf 0 V einstellen 169 Setzt Standby auf vorgegebene Standbyzeit zuruumlck 171 Gibt Meldung aus wie lange PowerOnDelay noch dauert

Tab 5 Uumlbertragung des Befehls Elektronenroumlhre einschalten vom Bedienfeld zum Experi-ment

30

Anhand der Erlaumluterungen der Programmcodes koumlnnen die Ablaumlufe zwischen dem Druumlcken des Buttons Elektronenroumlhre einschalten und dem Einschalten der Elektronenbeugungs-roumlhre oder der Eingabe einer Beschleunigungsspannung und dem Anlegen einer Beschleu-nigungsspannung verfolgt werden Uumlber das Bedienfeld koumlnnen nur die von der Datei expe-rimenttpl bereitgestellten Befehle on und da der insgesamt implementierten Befehle (rarr 22 Abb 10) aufgerufen werden

322 Videouumlbertragung im Webcamfeld Zur Aufnahme von Livebildern des Experiments koumlnnen USB-Webcams und IP-Kameras (Netzwerkkameras) eingesetzt werden Teurere IP-Kameras muumlssen eingesetzt werden wenn die Kamera wie z B beim RCL Roboter im Labyrinth zu weit vom Computer entfernt ist oder eine besonders lichtempfindliche Kamera aus der Uumlberwachungstechnik wie z B beim RCL Millikan-Versuch benoumltigt wird W-LAN-Kameras kommen zum Einsatz wenn Bil-der von einem beweglichen Objekt aus wie z B beim RCL Roboter im Labyrinth uumlbertra-gen werden sollen

Das Videoserverprogramm webcamXP 5 erkennt beim Aufrufen automatisch an den RCL-Server angeschlossenen USB-Webcams Vor dem Kauf einer IP-Kamera ist zu pruumlfen ob das Modell unterstuumltzt wird14 IP-Kameras muumlssen im Kontextmenuuml der Videoquelle konfigu-riert werden Abb 17 zeigt das Webcambild einer USB-Webcam vom Szintillationsschirm der Elektronenbeugungsroumlhre

Abb 17 Webcambild des Szintillationsschirms der Elektro-

nenbeugungsroumlhre einer USB-Webcam in webcamXP 5 beim RCL Elektronenbeugung

14 Vgl Moonware Studios webcamXP IP-cameras for webcamXP

31

Zum Einbinden des Webcambilds in die Laborseite des RCLs wird die laborsprachenabhaumln-gige Datei videohtm (rarr 434) in den Ordnern eng fra ger und ita verwendet Standardmauml-szligig werden zwei Webcambilder und Screenshots unterstuumltzt der Code fuumlr weitere Webcam-bilder kann durch copy and paste hinzugefuumlgt werden

Unter den Technologien Java Javaskript Flash und Windows Media fuumlr die Wiedergabe ei-nes Livestreams auf eine Webseite wurde Javaskript gewaumlhlt weil die anderen Technologien die Installation des Java Runtime Environments (JRE) des Flash- oder Windows Media Players durch den Besucher eines RCLs voraussetzen Die Wiedergabe des Livestreams mit einem Java-Applet startet zudem erst verzoumlgert nachdem das Applet geladen ist und verfuumlgt uumlber eine zu geringe Wiedergabegeschwindigkeit

33 Standard-Lernumgebung Bestandteil der Entwicklung eines RCLs ist die Erstellung einer Standard-Lernumgebung zum RCL Abb 18 zeigt exemplarisch fuumlr die deutschen Webseiten im Ordner ger das Menuuml (larr 11 Abb 3) und die Dateistruktur der Standard-Lernumgebung

Abb 18 Deutschsprachiges Menuuml und Dateistruktur der Standard-Lernumgebung

RCL-spezifisch anzupassende Dateien sind grau hinterlegt

Die englischen Dateinamen introductionhtm setuphtm hellip im Ordner ger korrespondieren mit den deutschen Menuumlpunkten Wird das RCL unter dem Menuumlpunkt RCLs des RCL-Portals aufgerufen dann ruft die Frameset-Datei indexhtm die Dateien menuumlhtm und intro-ductionhtm auf und das Menuuml wird zusammen mit der Webseite Einstieg dargestellt Die Wahl weiterer Menuumlpunkte ruft jeweils die korrespondiere Datei im Ordner auf Bei Wahl des Menuumlpunkts Labor werden mit der Frameset-Datei laboratoryhtm die Dateien videohtm fuumlr das Webcamfeld und die Datei laborindexphp fuumlr das Bedienfeld aufgerufen

32

Im Ordner docsmaterial werden alle Dokumente fuumlr die Webseite Material im Ordner docsothers die Dokumente anderer Webseiten abgelegt Im Ordner docsoriginals sind die Originale von Dokumenten wie z B Word-Dateien und der verwendeten Bilder abgelegt Grafikdateien der Webseiten Einstieg hellip Auswertung hellip Betreuung werden in gleichnami-gen Ordnern wie z B imagesanalysis abgelegt Bei sprachenunabhaumlngigen Grafikdateien wird unter dem Dateinamen abbx bei sprachenabhaumlngigen unter dem Dateinamen abbx_lan mit lan = eng fra ger und ita gespeichert Analoges gilt fuumlr die als gif-Grafiken forxgif oder forx_langif zu speichernden Formeln Originale von Bildern werden im Ordner imagesoriginals abgelegt Die Webseite zur Datei htdocsindexhtm enthaumllt zum lokalen Aufrufen der Standard-Lernumgebung Links zu den vier Index-Dateien in den Ordnern eng fra ger und ita Die Stylesheet-Datei htdocsrcl_stylecss enthaumllt die Styles der Webseiten

In der Regel werden Standard-Lernumgebungen der RCLs des RCL-Portals von verschiede-nen Personen erstellt Fehlende Gestaltungs- und Formatierungsregeln fuumlhren zu einem un-einheitlichen inattraktivem Erscheinungsbild des RCL-Portals Tab 6 gibt einen Uumlberblick der wichtigsten Gestaltungs- und Formatierungsregeln

Element Richtlinien

Gliederung

Die Webseiten Einstieg Aufbau Aufgaben Diskussion Material und Support enthalten vorgegebene Gliederungspunkte teilweise mit ausgefuumlhrten Uumlberschriften

Die umfangreicheren Webseiten Theorie und Auswertung enthalten ein Inhaltsverzeichnis mit internen Links zu Gliederungspunkten Zwischen Punkten der ersten Gliederungsebene (1 2 hellip) ist ein zwei-zeiliger Abstand (ltpgtampnbspltpgtltpgtampnbspltpgt) zwischen Punkten der zweiten (11 12 hellip) und Punkten der nur falls unbedingt notwendig dritten 111 112 hellip) Gliederungsebene ein einzeiliger Abstand zu waumlhlen Nach Abbildungen und Tabellen folgt ein einzeiliger Abstand zum nachfolgenden Text

Links Keine internen Links zwischen den Webseiten der Lernumgebung Externe Links werden prinzipiell in einem neuen Browserfenster geoumlffnet (blank)

Abbildung

Alle Abbildungen erhalten fortlaufend beginnend mit 1 nummerierte Abbildungsunterschriften der Form Abb x hellip

Abbildungen sind moumlglichst spachenunabhaumlngig d h ohne Texte in der Abbildung zu erstellen Zur Beschriftung koumlnnen z B Zahlen verwendet werden die in der Abbildungsunterschrift oder im Text er-laumlutert werden

Tabellen Tabellen werden in jeder Webseite fortlaufend beginnend mit 1 nummeriert Tabellen sind zu zentrieren Rahmenstaumlrke 1

Formeln

Formeln sind nicht als Textzeichen oder Grafik im laufenden Text einzufuumlgen sondern stets zentriert in einer eigenen Zeile als gif-Grafik

Zum Erstellen der Formel-Grafiken eignet sich z B der Formel-Editor MathType15 mit der Aufloumlsungs-Einstellung 120 dpi fuumlr InternetGif

Formeln brauchen im Rahmen des begrenzten Umfangs der Webseiten nicht nummeriert zu werden Groumlszligen-symbole

Griechische Groumlszligensymbole und mathematische Symbole sind nicht als Grafiken im laufenden Text sondern als HTML-Code einzufuumlgen Eine Zeichenreferenz findet sich bei Selfhtml16

Styles Zur Formatierung der Webseiten werden aus der Stylesheet-Datei nur die drei Styles Uumlberschrift fuumlr

die Uumlberschriften Bildunterschrift fuumlr Abbildungs- und Tabellenunterschriften und Tabellentext fuumlr Tex-te in Tabellen benoumltigt

Tab 6 Richtlinien zur Gestaltung und Formatierung der Standard-Lernumgebung

Detailliertere Informationen zum Layout der Standard-Lernumgebung koumlnnen dem RCL-Ordner und dem Erscheinungsbild der Webseiten von RCLs in Browsern entnommen wer-den

15 Vgl Design Science MathType 16 Vgl Selfhtml HTML-Zeichreferenz

33

4 ANHANG

34

41 Interface in Basisschaltung 411 Schaltplan und Bauteilliste Abb 19 zeigt den Schaltplan der Basisschaltung des Interface und Tab 7 die dazugehoumlrige Bauteilliste

Abb 19 Basisschaltung des Interface

Nr Anzahl Kurzbeschreibung des Bauteils Best-Nr bei Reichelt electronic

Einzelpreis in euro

0 1 Epoxyd-Platine (190x112 mm) mit Anteil Loumltpunktraster (Spezi-

alanfertigung) - asymp 10

1 1

Epoxyd-Fotoplatine einseitig 160x100 mm 15 mm 35 microm Epoxyd-Lochrasterplatine 160x100 mm 15 mm 35 microm

BEL 160x100-1 UP 832EP

170 420

1 1 Hohlstecker-Einbaubuchse gewinkelt Loumltfahnen 21 mm HEBW 21 018 2 1 D-SUB-Stecker 9-polig gewinkelt RM 94 D-SUB ST 09EU 029 3 1 Schottky Diode DO41 40 V 1 A SB 140 008 4 1 Draht von abgeschnittenem Beinchen aus Pos-Nr 3 - - 5 1 IC-Sockel 16-polig superflach gedreht vergoldet GS 16P 029 6 1 IC-Sockel 40-polig superflach gedreht vergoldet GS 40P 061 7 1 2x10-pol-Stiftleiste gerade RM 254 SL 2X10G 254 007 8 1 Metallschichtwiderstand 100 kΩ Metall 100k 0082 9 1 Elektrolytkondensator 10x16 mm 470 microF RM 50 mm RAD 47025 006 10 1 Elektrolytkondensator 63x11 mm 100 microF RM 25 mm RAD 10016 004 11 5 Elektrolytkondensator 5x11 mm 10 microF RM 20 mm RAD 1035 004 12 2 Keramik-Kondensator 33 pF Kerko 33p 006 13 3 Vielschicht-Keramikkondensator 100 nF 20 Z5U-25 100n 004

35

14 1 Standardquarz Grundton 110592 MHz 110592-HC49U-S 018 15 1 Spannungsregler 1 A positiv TO-220 microA 7805 028 16 1 Kuumlhlkoumlrper fuumlr Gehaumluse TO-220 99KW V FI356 066 17 1 Zylinderkopfschraube Schlitz M3 10 mm fuumlr Kuumlhlkoumlrper M3x10mm 160 18 2 Sechskantmutter M3 fuumlr Kuumlhlkoumlrper SK M3 001 19 1 Stecker-Schaltnetzteil 12 V 2250 mA MW 3IP25GS 1150 20 1 RS232-Driver DIL-16 MAX 232 CPE 041 21 1 ATmega AVR-RISC-Controller DIL-40 ATmega16-16 DIP 420 22 3 10-poliger Wannenstecker RM 254 stehend (optional) WSL 10G 009 23 1 14-poliger Wannenstecker RM 254 stehend (optional) WSL 14G 014 24 1 40-polige Stiftleiste 1-reihig gerade RM254 (optional) SL 1x40G 254 023 25 1 Kunststoffgehaumluse 1982x1124x760 mm (Serientyp 202) - asymp 10 euro 26 1 D-SUB Nullmodem-Kabel 9-pol BUBU 3 m AK 143 155 27 x DIN-Einbaubuchse 5-pol Schraubver 360deg (optional) DIO-50W EMS 185 28 x DIN-Einbaubuchse 8-polig Schraubversch 270deg (optional) DIO-80SN EMS 180 29 x Pfostenstecker 10-polig mit Verrieglung gew (optional) PSL 10W 028 30 x Klemmleiste RM 254 Oumlffnungshebel 8-polig (optional) Wago 233 220

Tab 7 Bauteilliste mit Bestellnummer und Einzelpreisen der Bauelemente bei Reichelt electronic (Stand 23102010)

Anhand der Bauteilliste in koumlnnen die elektronischen Bauelemente der Basisschaltung (larr Tab 7 Nr 0 ndash 21 optional Nr 22 - 24) bei Reichelt electronic bestellt werden Das Gehaumluse des Interface (larr Tab 7 Nr 25) sollte vom Hersteller HAGOTECH GmbH bezogen werden Weiterhin wird ein Nullmodemkabel (larr Tab 7 Nr 26) zur Verbindung des Interface mit dem Computer benoumltigt Sensoren und Aktoren des Experiments koumlnnen mit optionalen Steck-verbindern (larr Tab 7 Nr 27 - 30) und entsprechende Kabelverbindungen an das Interface angeschlossen werden Die Nummern 0 - 25 stimmen mit der angegebenen Bestuumlckungs-reihenfolge auf der Platine uumlberein Das Interface kostet in der Basisschaltung ca 50 euro

412 Bestuumlckung der Platine Abb 20 zeigt zur Bestuumlckung der Platine benoumltigte Werkzeuge

Abb 20 Werkzeuge zur Bestuumlckung der Platine des Interface

36

Loumltkolben mit feiner Spitze in Meisselform 2 mm oder Loumltstation (1) Loumltzinnabsauger zum Entfernen von Loumltzinn (2) Nasser Schwamm zum Reinigen der Spitze des Loumltkolbens (3) Loumltzinn mit Durchmesser 08 - 10 mm (4) Flachspitzzange zum Biegen von Anschluumlssen der Bauelemente (5) Seitenschneider zum Kuumlrzen der Beinchen von Bauelementen (6) Multimeter zum Pruumlfen der Funktionsfaumlhigkeit der Schaltung (7) Sekundenkleber zur Befestigung von Bauelementen Kleine Bohrmaschine z B von Dremel und 08 mm Bohrer oder duumlnne Rundfeile zum

Weiten von Loumlchern auf der Platine des Interface

Abb 21 zeigt die Platine des Interface von der Loumltseite in der Spezialanfertigung der Elekt-ronik-Werkstatt an der Technischen Universitaumlt Kaiserslautern und in der Selbstbauvariante (larr Tab 7 Nr 0) Abb 22 zeigt das Platinenlayout

Abb 21 Platine des Interface von der Loumltseite als Spezialanfertigung (links) und der Selbstbauvariante

(rechts)

Abb 22 Layout zur Herstellung des geaumltzten Teils der

Platine in der Selbstbauvariante

37

In der Selbstbauvariante kann anhand des Platinenlayouts eine selbst geaumltzte Platine fuumlr die Basisschaltung auf einer Platine im Europakartenformat hergestellt und diese in der Laumlnge gekuumlrzt werden Eine gekuumlrzte Lochrasterplatine bildet den zweiten Teil der Platine Mit den optionalen vier Wannensteckern (larr Tab 7 Nr 22 - 23) oder den vier Stiftleisten (larr Tab 7 Nr 24) an den Ports des Mikrocontrollers koumlnnen leicht elektrische Verbindungen zum Rasterteil der Platine herstellt werden Abb 23 zeigt die fertig bestuumlckte Platine mit den Nummern aus Tab 7

Abb 23 Bestuumlckte Platine des Interface mit nummerierten Bauelementen

Tab 8 beschreibt das Einloumlten der elektronischen Bauelemente anhand der Nummern aus Tab 7 und in der angegebenen Reihenfolge

Nr Bauelement Beschreibung des Einbaus

0 Spezialanfertigung und Selbst-bauvariante der Epoxydharz-

Platine

1

Stromversorgungsbuchse ndash Hohlstecker 21 mm

Wenn die Loumltbeine nicht durch die Loumlcher der Platine passen die Loumlcher mit einer runden Schluumlsselfeile aufweiten

Stromversorgungsbuchse mit Sekundenkleber vor dem Festloumlten auf der Pla-tine fixieren da diese mechanischen Belastungen durch das Einstecken und Herausziehen des 12 V -Steckers ausgesetzt ist

Wahlweise kann die 25 mm-Version der Buchse verwendet werden

2

RS232 Datenstecker

RS232 Datenstecker mit Sekundenkleber vor dem Festloumlten auf der Platine fixieren da dieser mechanischen Belastungen durch das Einstecken und Herausziehen des Null-Modem-Kabels ausgesetzt ist

Alle Beinchen und Befestigungsstifte zur houmlheren Stabilitaumlt anloumlten

3

Ein Ring an einer Seite der Diode (hier links weiszlig) zeigt die Durchlass- bzw Sperrrichtung der Diode an Die Position des Ringes entspricht der Position des Balkens im Schaltungssymbol

38

Diode ndash SB140 Auf der Platine muss der Ring auf der von der Stromversorgungsbuchse ab-

gewandten Seite liegen

4 Drahtbruumlcke

Vor dem Einloumlten des 40-poligen IC-Sockels (Nr 5) muss eine Drahtbruumlcke unter diesem eingeloumltet werden Dazu koumlnnen die abgeschnittenen Beinchen der bereits eingeloumlteten Diode (Nr 3) verwendet werden

5 6

IC-Fassungen

Die 16-polige und 40-polige IC-Fassungen besitzen eventuell eine Markie-rung fuumlr Pin1 (z B Kerbe in der Stirnseite Punkt Pfeilhellip) als Hilfe fuumlr das richtige Einstecken der ICs Die Markierungen muumlssen bei beiden Fassungen nach oben also zum naumlchstliegenden Rand der Platine zeigen

Die ICs unbedingt noch nicht einstecken

7

ISP-Stiftleiste

Die doppelreihige ISP-Stiftleiste dient der Programmierung des Mikrocontrol-lers mit dem AVR-ISP-Programmer (ISP steht fuumlr In System Programming)

ISP-Stiftleiste auf 2 x 5 Stifte kuumlrzen und mit den kurzen Beinchen einloumlten so dass auf die langen Stifte der AVR-ISP-Programmer gesteckt werden kann

8

Widerstand 100 kΩ

Den 100 kΩ-Widerstand rechts neben der ISP-Stiftleiste einloumlten

9

10

11

Elkos

Bei den verwendeten Elektrolyt-Kondensatoren ist die Polung zu beachten (langes Beinchen = Plus-Pol) Weiterhin ist auf den Kondensatoren ein wei-szliger Streifen mit Minus-Zeichen aufgedruckt Die Kondensatoren sollten eine Spannungsfestigkeit von mindestens 16 V besser 25V besitzen

Auf der Kupferseite der Platine zeigt die Form der Loumltaugen die Polung an Rundes Loumltauge = Plus quadratisches Loumltauge = Minus

Der 470 microF Kondensator wird mit dem weiszligen Streifen in Richtung Stromver-sorgungsbuchse direkt unter diese montiert

Der 100 microF Kondensator sitzt direkt unter der 16-poligen IC-Fassung Sein weiszliger Streifen (Minus-Pol) zeigt in Richtung der Stromversorgungsbuchse

Vier der 10 microF Kondensatoren werden links neben der 16-poligen IC-Fassung montiert Deren Polung ist wie folgt Unterster Kondensator Minus nach oben naumlchster Kondensator Minus nach unten die beiden oberen Kondensatoren mit Minus nach oben

Ein weiterer 10 microF Kondensator wird rechts neben die 16-polige IC-Fassung geloumltet Sein Minus-Streifen zeigt nach unten

12

13

Keramik-Kondensatoren

Die Beschriftung 104 bedeutet 10e4 pF = 100 nF Die beiden 33 pF-Kerkos (Keramik-Kondensatoren) werden direkt nebenei-

nander rechts neben die 16-polige IC-Fassung geloumltet Zwei 100 nF-Kondensatoren werden unter dem 470 microF-Elko eingeloumltet ein

weiterer mittig an der linken Seite der 40-poligen IC-Fassung

14

Quarz

Als Quarz wird ein 110592 MHz-Typ verwendet Bei dieser Frequenz ist eine fehlerfreie Kommunikation uumlber RS232 mit 9600 Baud moumlglich Fuumlr den AT-mega16 koumlnnen Quarze bis 16 MHz eingesetzt werden Details siehe Daten-blatt

Der Quarz wird direkt rechts neben die beiden 33 pF-Kerkos geloumltet Die Ori-entierung des Quarz spielt keine Rolle

15

16

17

18

Der Spannungsregler L7805 erzeugt eine stabilisierte Spannung von 5 V Es muss ein Kuumlhlkoumlrper zur Waumlrmeabfuhr vom Spannungsregler verwendet werden

Vor dem Einloumlten zwischen Spannungsregler und Kuumlhlkoumlrper etwas Waumlrme-leitpaste aufgetragen Beide Bauteile fest mit einer Schraube M3x10 und ei-ner 1 Mutter verschrauben

Dann den Spannungsregler einloumlten um 90deg abzubiegen das uumlberstehende Gewinde durch das vorgesehene Loch stecken und alles mit einer 2 Mutter auf der Platine befestigen

1 Mutter

2 Mutter

Schr

aube

L7805

Platine

KuumlhlkoumlrperWaumlrmeleitpaste

Beinchen

Loumlten

39

Spannungsregler L7805 Kuumlhl-koumlrper und Montage

19

Steckernetzteil

Funktionskontrolle vor dem Einsetzen des Mikrocontrollers Polung der Elektrolyt-Kondensatoren (Elkos) pruumlfen Sind alle Beinchen angeloumltet Hat das Loumltzinn an den Beinchen und der Pla-

tine guten Kontakt Sind eventuell zwei benachbarte Beinchen unbeabsichtigt durch Loumltzinn verbunden Alle Loumltverbindungen nochmals genau z B mit ei-ner Lupe pruumlfen

Probeweise das Stecker-Netzteil an die Buchse anschlieszligen Am 100 nF-Kondensator links mittig der 40-poligen IC-Fassung muumlssen 5 V anliegen

Versorgungsspannung unbedingt wieder von der Platine trennen

20

21

ICs MAX232 und ATmega16

Die Nuten auf den ICs am linken Rand muumlssen nach oben zeigen d h Pin1 ist bei beiden ICs in der Abbildung links unten und auf der Platine oben links

Manchmal passen die Beinchen der ICs nicht in die Fassung weil die Fas-sung scheinbar zu schmal ist Dann den IC seitlich mit einer Beinchen-Reihe flach auf den Tisch legen den IC-Koumlrper links und rechts greifen und Bein-chen durch leichten Druck biegen Einzelne verbogene Beinchen vorsichtig mit einer kleinen Flachzange richten

22

23

Wannenstecker 10- und 14-polig

Wannenstecker an den vorgesehe-nen Stellen mit der Nut gegen Ver-polung in Richtung des naumlherliegen-den Platinenrands einloumlten

Die Abbildung rechts zeigt die Pin-Belegung der Wannenstecker

24

Stiftleiste 8-polig 40-pol Stiftleiste in 4 jeweils 8-polige Stuumlcke zerteilen und einloumlten

25

Kunststoffgehaumluse

In der Selbstbauvariante der Platine (Nr 0) vor dem Einsetzten der Platine in das Gehaumluse passend positionierte Kunststoffstege am Gehaumluseboden fest-kleben

Tab 8 Bestuumlckung der Platine des Interface mit Bauelementen

42 Erweiterungsschaltungen 421 Uumlbersicht In Tab 3 sind von RCLs des RCL-Portals Sensoren und Aktoren mit den dazugehoumlrigen Er-weiterungsschaltungen zusammengestellt Da alle RCLs obligatorisch uumlber mindestens eine Webcam verfuumlgen sind diese unter den Sensoren nicht aufgefuumlhrt Die wenigen Erweite-rungsschaltungen fuumlr Sensoren sind unter Sensoren in Klammern aufgelistet Unter Aktoren werden auszliger elektro-mechanischen Wandlern auch gesteuerte Geraumlte oder Bauelemente verstanden Anzeigeinstrumente sind unter Aktoren nur aufgefuumlhrt wenn sie direkt vom In-terface gesteuert werden Mit gekennzeichnete Erweiterungsschaltungen befinden sich au-szligerhalb des Interface

40

RCL Sensoren Aktoren Erweiterungsschaltungen fuumlr Aktoren

Beugung und Interferenz I Referenz-Taster

Schrittmotor (Rotation) Schrittmotorsteuerung Laser-Modul Geschaltete Spannungsversorgung

Beugung und Interferenz II

4 Referenz-Taster Lichtsensor

4 Schrittmotoren (Translation) 4 Schrittmotorsteuerungen 5 Laser-Module Geschaltete Spannungsversorgung LED fuumlr Position des

Lichtsensors Geschaltete Spannungsversorgung

LED fuumlr Linealbeleuchtung Geschaltete Spannungsversorgung

Elektronen-beugung

Hochspannungsnetzgeraumlt Geschaltete Spannungsversorgung Hochspannungsnetzgeraumlt Steuerung der Hochspannung

Fotoeffekt 2 Referenz-Taster Photozelle

2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen

Quecksilberdampflampe Geschaltete Spannungsversorgung

der Drossel fuumlr Quecksilberdampf-lampe

Halbleiter-kennlinien

und Halbleiterkennli-nien - Schuumller-

projekt

Referenz-Taster

Schrittmotor (Rotation) Schrittmotorsteuerung Oszilloskop Geschaltete Spannungsversorgung

Oszilloskop Instrumentenverstaumlrker fuumlr X- und Y-Ablenkung

Multimeter Steuerung Spannungs- oder Strom-anzeige

Heiszliger Draht 4 Endtaster 4 Drehgeber Kurzschlusssensor

4 Gleichstrommotoren 4 Treiber

Zweifarbige LED Steuerung der LED-Farbe

Lichtgeschwin-digkeit

Drehimpulsgeber 2 Taster an Enden

der Eisenbahnstre-cke

2 Schrittmotoren 2 Schrittmotorsteuerungen Oszilloskop Geschaltete Spannungsversorgung

Motor der Lokomotive Steuerung des Ein- und Ausschal-tens und der Bewegungsrichtung

Maut Infrarot-Sensor Gleichstrommotor Geschaltete Spannungsquelle 2 IR-Fernbedienungen Spannungsregler 2-stellige 7-Segmentanzeige LED-Treiber

Millikan-Versuch 2 Referenz-Taster

2 Schrittmotoren 2 Schrittmotorsteuerungen Lichtquelle (LED) fuumlr Millikan-

Kondensator Geschaltete Spannungsversorgung

Airbrush-Kompressor Geschaltete Spannungsversorgung Magnetventil Geschaltete Spannungsversorgung Millikan-Kondensator Gesteuertes Hochspannungsmodul

Optische Com-putertomogra-

phie

2 Referenz-Taster 2 Lichtsensoren

Schrittmotor (Rotation) Schrittmotorsteuerung Schrittmotor (Translation) Schrittmotorsteuerung

2 Laser-Module 2 geschaltete Spannungsversor-gungen

Optische Fou-rier-

Transformation 2 Referenz-Taster

2 Schrittmotoren (Translation) 2 Schrittmotorsteuerungen

Laser-Modul Geschaltete Spannungsversorgung

Oszilloskop Oszilloskop Geschaltete Spannungsversorgung Signalgenerator Steuerung der Signalart

Radioaktivitaumlt 4 Referenz-Taster Geiger-Muumlller-

Zaumlhlrohr

2 Schrittmotoren (Translation) 2 Schrittmotorsteuerungen 2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen 4-stellige 7-Segment-Anzeige Treiber Elektromagnet Geschaltete Spannungsversorgung

Roboter im Labyrinth Infrarot-Sensor

2 Schrittmotoren 2 Schrittmotorsteuerung Infrarot-Sender Treiber

Rutherfordscher Streuversuch

2 Referenz-Taster Halbleiterdetektor

(Impulsformer)

2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen

4-stellige 7-Segment-Anzeige Treiber

Weltpendel

Referenz-Taster Lichtsensor der

Lichtschranke (Im-pulsformer)

Temperatursensor

Schrittmotor (Translation) Schrittmotorsteuerung Elektromagnet Geschaltete Spannungsversorgung

Laser der Lichtschranke Geschaltete Spannungsversorgung

Windkanal Referenz-Taster Schrittmotor (Translation) Schrittmotorsteuerung

41

Dehnungsmess-streifen (Wheat-stonesche Bruumlcke Messverstaumlrker Multimeter)

Geblaumlsemotor Geschaltete Spannungsversorgung

und Ansteuerung mit Pulsweiten-modulation

Anemometer Geschaltete Spannungsversorgung Multimeter Geschaltete Spannungsversorgung

Tab 9 Sensoren Aktoren und Erweiterungsschaltungen der RCLs des RCL-Portals

422 TMC222-Modul zur Schrittmotorsteuerung 4221 Schaltplan und Bauteilliste Abb 1 zeigt die Beschaltung des TMC222 von Trinamic auf dem TMC222-Modul

Abb 24 Beschaltung des TMC222 von Trinamic

Anhand der Bauteilliste in Tab 10 koumlnnen die elektronischen Bauelemente des TMC222-Moduls bei Reichelt electronic bestellt werden Ein TMC222-Modul kostet ungefaumlhr 10 euro

Nr Anzahl Kurzbeschreibung des Bauteils Best-Nr bei Reichelt electronic

Einzelpreis in euro

0 1 Epoxyd-Fotoplatine einseitig 75x100 mm 15 mm 35 microm BEL75X100-1 096 1 1 Integrierter TMC-Schrittmotor-Controller TMC 222 SI asymp 7 2 1 Elektrolytkondensator 8x11 mm Rm 35 mm 100 microF35 V RAD 10035 004 3 1 Tantal-Kondensator Rm 25 10 microF35 V Tantal 1035 014 4 2 Vielschicht-Keramikkondensator 220 nF 20 Z5U-25 220N 011 5 3 Vielschicht-Keramikkondensator 100 nF 20 Z5U-25 100N 004 6 2 Metallschichtwiderstand 100 kΩ Metall 100K 0082 7 1 1x36pol Stiftleiste gewinkelt Rm 254 SL 1X36W 027 8 1 1x36pol Buchsenleiste gerade Rm 254 BL 1X36G 025

Tab 10 Bauteilliste mit Bestellnummer und Einzelpreisen der Bauelemente bei Reichelt electronic (Stand 23102010)

4222 Bestuumlckung der Platine

42

Abb 25 zeigt die fertig bestuumlckte Platine mit den Nummern aus Tab 10

Abb 25 Bestuumlckte Platine des TMC222-Moduls

mit nummerierten Bauelementen

Die Platine (35 mm x 30 mm) kann anhand des Layouts in Abb 26 hergestellt werden Der IC TMC222 wird auf der Loumltseite der Platine aufgeloumltet Das TMC222-Modul kann mit der Stiftleiste (larr Tab 10 Nr 7) in eine Buchsenleiste (larr Tab 10 Nr 8) auf die Platine des In-terface gesteckt werden

Abb 26 Platine des TMC222-Moduls von der Loumltseite (links) und Layout

4223 Quellcode des Mikrocontroller-Programms Im Folgenden ist ein mit Bascom (larr 12 Tab 1 Entwicklungsumgebungen) erstelltes Bei-spiel-Programm zur Ansteuerung des Schrittmotormoduls TMC222 durch den Mikrocontroller ATmega16 angegeben $regfile = m16DEFdat $crystal = 11059200 $baud = 9600 Definitionen Config Scl = Portc0 Taktleitung Config Sda = Portc1 Datenleitung Const Adress = ampB11000000 I2C Adresse des TMC222 Const GetFullstatus1 = ampB10000001 Kommando des TMC222 Const Resetpos = ampB10000110 Kommando des TMC222 Const Motorparameter = ampB10001001 Kommando des TMC222 Const Setposition = ampB10001011 Dim Puffer(10) As Byte

43

Programm I2csend Adress GetFullstatus1 GetFullstatus1 (Initialisierung des TMC222) I2creceive Adress 7 Ack Daten in Puffer auslesen Puffer(1) = Motorparameter puffer auffuumlllen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB11110011 1111irun 0011ihold Puffer(5) = ampB01110001 0111vmax 0001vmin Puffer(6) = ampB00010000 000securepos(bit10-8) 1shaft 0000acceleration Puffer(7) = 0 securepos(bit7-0) Puffer(8) = ampB00001100 000nicht belegt 0accshape 11stepmode 00nicht belegt I2csend Adress Puffer(1) 8 I2csend Adress Resetpos aktuelle Position auf 0 setzen Puffer(1) = Setposition Motor bewegen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB01111111 position(bit 15-8) Puffer(5) = ampB11111111 position(bit 7-0)acute I2csend Adress Puffer(1) 5 End

423 Geschaltete Spannungsquellen und Verbraucher Die Ausgaumlnge des Mikrocontrollers duumlrfen nur mit Stroumlmen kleiner als ungefaumlhr 20 mA belas-tet werden Verbraucher mit einer Stromlast groumlszliger als 20 mA koumlnnen daher nicht direkt an den Mikrocontroller angeschlossen werden Abb 27 zeigt links eine Schaltung zum Schalten eines Verbrauchers wie z B des Relais und rechts eine Schaltung mit dem IC ULN2803A zum Schalten mehrerer Verbraucher wie z B Gluumlhlampen

Abb 27 Erweiterungsschaltungen zum Schalten eines (links) oder

mehrerer Verbraucher (rechts)

Zu beachten ist dass der Transistor BC337 maximal 800 mA schalten kann und fuumlr groumlszligere Stroumlme andere Transistoren verwendet werden muumlssen

424 Steuerung von Gleichstrommotoren

44

Sollen Gleichstrommotoren zum Bewegen von Objekten mit dem Mikrocontroller gesteuert werden dann eignet sich dazu der in Abb 28 dargestellte beschaltete IC L293D

Abb 28 Beschaltung des L293D zum

Steuern zweier Gleichstrom-motoren

Mit Pin 1 = Pin 9 = 1 (High) koumlnnen zwei Gleichstrommotoren M1 und M2 (Versorgungs-spannung UM lt 36 V Spulendauerstrom IM lt 600 mA) unabhaumlngig voneinander ein- und ausgeschaltet sowie in der Drehrichtung uumlber die Ports PA0 und PA1 fuumlr M1 und PA2 und PA3 fuumlr M2 gesteuert werden Z B gilt mit PA0 = PA1 = 0 (M1 ausgeschaltet) PA0 = 1 und PA1 = 0 (M1 dreht sich) PA0 = 0 und PA1 = 1 (M1 dreht sich in Gegenrichtung)

45

43 Quellcodes zum RCL Elektronenbeugung 431 Mikrocontroller-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

46

47

48

49

432 PHP-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

50

51

433 Bedienfeld der Laborseite

Tab 11 erlaumlutert die Funktion der Bloumlcke im Quellcode

Zeilen Funktion 1 Datei defaultconf einbinden 2 Datei headtpl einbinden

5 - 11 Ausgabe der verbleibenden Experimentierzeit 18 - 21 Button zum Einschalten der Elektronenbeugungsroumlhre 28 - 30 Eingabefeld fuumlr die Beschleunigungsspannung

37 Ruumlckmeldung zur eingegebenen Beschleunigungsspannung 42 Datei foottpl einbinden

Tab 11 Funktion der Programmbloumlcke in der Datei experi-menttpl

52

434 Webcamfeld der Laborseite

In Tab 12 ist die Funktion der Programmbloumlcke und die Anpassungen der Vorlage an das RCL Elektronenbeugung beschrieben

Zeilen Funktion Anpassung RCL Elektronenbeugung

5 Titelangabe erscheint als Tabulatorbeschriftung in Browsern

Name des RCLs eintragen

11 - 15 16 - 20

Zwei Javascripts zum getrennten Aufrufen zweier Po-pup-Fenster mit dargestelltem Webcambildern 1 und 2

Javascript 1 die IP-Adresse eintragen Javascript 2 auskommentiert weil nicht benoumltigt

24 - 40 42 - 60

Zwei Javascripts zum Aktualisieren der Webcambilder 1 und 2

Javascript 2 auskommentiert weil nicht benoumltigt

67 - 71 79 - 83

Aufrufen des ersten Webcambilds der Webcams 1 und 2 beim Aufrufen der Datei

Webcambild 2 auskommentiert weil nicht benoumltigt

72 - 78 84 - 90

Buttons zum Aufrufen der Screenshots der Webcam-bilder 1 und 2

Button 2 auskommentiert weil nicht benoumltigt

91 - 95 Zeile der Tabelle zum Eintragen von Informationen die sich auf die Webcambilder oder den Versuch beziehen

Text in Zeile der Tabelle geschrieben

Tab 12 Funktionen der Codeabschnitte in der Datei videohtm und Anpassung der Vor-lage an das RCL Elektronenbeugung

53

44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung Im Folgenden wird die Installation und Konfiguration des AVR-Studios 418 und der Bascom 11198 Demoversion beschrieben Alle Anleitungen sind zeilenweise von links nach rechts zu lesen

441 AVR-Studio 418 4411 Installation Auf der Webseite von ATMEL Register AVR Studio 418 (build 684) anklicken und Registrie-rungsformular ausfuumlllen Danach die Datei AvrStudio418Setup herunterladen Durch Dop-pelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen Next waumlhlen

I accept hellip und Next waumlhlen Installationsordner und Next waumlhlen

54

Installupgrade hellip und Next waumlhlen Install waumlhlen Die Installation beginnt

Finish waumlhlen

4412 Konfiguration AVR Studio 418 in Windows XP Professional unter StartProgramme aufrufen

Startfenster mit Cancel schlieszligen Unter ToolsProgram AVR Auto Connect waumlhlen

55

Im eingeblendeten Fenster auf der Registerkarte Main als Device ATmega16 und als Programming Mode ISP mo-de waumlhlen

Optional kann Signatur gelesen werden

In der Registerkarte Fuses alle Haumlkchen und Auswahlfel-der wie angegeben waumlhlen

Dann Program waumlhlen

442 BASCOM 11198 Demoversion 4421 Installation Auf der Webseite von Bascom unter Bascom AVR Demo die Zip-Datei setupdemoexe her-untergeladen Durch Doppelklick auf den Dateinamen die Installation starten

Next waumlhlen I accept the agreement und Next waumlhlen

56

Next waumlhlen Installationsordner eingeben und Next waumlhlen

Eintrag im Start-Menuuml eingeben und Next waumlhlen Next waumlhlen

Yes restart the computer now und Finish waumlhlen

57

4422 Konfiguration Bascom AVR in Windows XP Professional unter StartProgramme zum Einstellen der Para-meter des Mikrocontrollers und des Terminals aufrufen

OptionsCompilerChip waumlhlen Einstellungen wie im Bild vornehmen und OK waumlhlen

Auf der Registerkarte Communications Einstellungen wie im Bild vornehmen und OK waumlhlen

Unter OptionsCommunication Einstellungen wie im Bild

vornehmen und OK waumlhlen FileNew waumlhlen Unter ToolsTerminal emulator das Terminal aufrufen und

eingeben Die Befehlsliste des RCLs Elektronenbeu-gung wird angezeigt

45 Installation und Konfiguration von Programmen auf dem RCL-Server Im Folgenden wird der Download die Installation und die Konfiguration von Programmen auf dem RCL-Server unter Windows XP Professional beschrieben Alle Anleitungen sind zeilen-weise von links nach rechts zu lesen Die Installation der Programme sollte in der angegebe-nen Reihenfolge erfolgen

58

451 Einrichten des Internet-Zugangs LAN-Verbindung unter StartSystemsteuerungNetzwerkverbindungen aufrufen

Internetprotokoll (TCPIP) und Eigenschaften waumlhlen Folgende IP-Adresse verwenden waumlhlen IP-Adressen ein-

geben und OK waumlhlen

452 Paket XAMPP 174 Unter apache friends - xampp fuumlr windows und XAMPP Windows 174 Installer anklicken und Datei xampp-win32-174-VC6-installerexe speichern Durch Doppelklick auf die Datei die Installation starten

Sprache und Ok waumlhlen Ok waumlhlen

59

Weiter waumlhlen Zielverzeichnis mit Durchsuchen waumlhlen oder eingeben

Apache nicht als Dienst installieren Fertig stellen waumlhlen

Ja waumlhlen Zum Starten des Apache Webservers das Control Panel

unter StartProgrammeXAMPP 173 for Windows mit Start starten Anstelle von Start erscheint Running

Zum Beenden des Apache Webservers Stop waumlhlen Zum Beenden des Control Panels Exit waumlhlen

60

453 Videoserver webcamXP 5 Private Auf der Webseite von Moonware Studios unter webcamXP 55xx die Datei wlite550 herun-terladen Durch Doppelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen I Agree waumlhlen

Next waumlhlen Auszliger webcamXP 5 brauchen keine weiteren Komponen-

ten installiert zu werden

Den vorgeschlagenen Ordner und Install waumlhlen Finish waumlhlen

61

WebcamXP unter StartProgramme aufrufen Zugesandte

Lizenz-Daten in das eingeblendete Fenster eingeben und Register waumlhlen

Beim Starten des Programms stellt webcamXP automa-tisch eine Verbindung zu den am Computer angeschlosse-nen Webcams her

Nach dem Start ist Uumlberwachen gewaumlhlt Durch Rechts-klick mit der Maus auf das Videofenster wird zu jeder Vi-deoquelle ein Kontextmenuuml angezeigt Wird kein Videobild dargestellt das Kontextmenuuml aufrufen Art der Videoquelle waumlhlen (hier USB) und unter den erkannten Videoquellen (hier USB-Videogeraumlt) die gewuumlnschte waumlhlen

Das Videoformat muss fuumlr eine passende Darstellung auf

der Laborseite auf 320 x 240 eingestellt sein Ist das nicht der Fall im Kontextmenuuml unter Video Format einstellen

In gleicher Weise kann eine zweite Videoquelle hinzugefuumlgt werden

In der Registerkarte Web Broadcast kann unter

Broadcast (HTTP) der Videoserver mit Ausschalten ge-stoppt und mit Aktivieren gestartet werden

Zur Zielwahl des Webservers (131246237167 - Internet D16W3X3J - Computer 127001 - Local Host) Videoser-ver stoppen und einstellen Videoserver wieder starten

62

454 Terminalprogramm Hyperterminal Hyperterminal in Windows XP Professional unter StartProgrammeZubehoumlrKommunikation aufrufen

Name der neuen Verbindung - z B Interface - eingeben

und OK waumlhlen Die Verbindung zwischen Computer und Interface wurde

uumlber einen USB-Seriell-Adapter hergestellt Dann erschei-nen zwei zusaumltzliche Eintraumlge (Motorola Comp Modem und COM5) in der Liste Prinzipiell muss eine COMx-Verbindung gewaumlhlt werden

Eigenschaften von COM 5 wie im Bild einstellen und OK

waumlhlen DateiEigenschaften aufrufen und ASCII-Konfiguration

waumlhlen

63

Haken bei Eingegebene Zeichen lokal ausgeben (lokales

Echo) setzen um eingegebenen Zeichen im Hyperterminal zu sehen

Bei funktionsfaumlhiger Verbindung erscheint nach Eingabe von Return die Befehlsliste des Interface

Durch Aufrufen von DateiSpeichern die erstellte Verbin-

dung z B auf dem Desktop speichern Dadurch braucht die Verbindung nicht immer wieder von neuem konfiguriert wer-den

Nach Aufrufen von DateiBeenden die bestehende Verbin-dung mit Ja beenden

64

Wurde ein falscher COM-Port gewaumlhlt reagiert das Inter-

face auf die Eingabe Return nicht Hyperterminal dann beenden

Der COM-Port kann dann nicht unter DateiEigenschaften im Hyperterminal aber unter Eigenschaften des Kontext-menuumls der Datei Interfaceht in der Registerkarte Verbin-den mit geaumlndert werden Dann OK waumlhlen und erneut Verbindung testen

65

455 Fernwartungssoftware TeamViewer 6 Host Auf der Webseite von Teamviewer GmbH unter Fuumlr unbeaufsichtigte Server TeamViewer Vollversion die Datei TeamViewer_Setup-wq herunterladen Das Programm muss auf dem RCL-Server und dem Computer der auf den RCL-Server zugreifen soll installiert werden Durch Doppelklick auf die Datei die Installation starten

Ausfuumlhren waumlhlen Weiter waumlhlen

Fuumlr die private nicht kommerzielle Nutzung ist Teamviewer kostenlos

privat nicht-kommerziell und Weiter waumlhlen

Beide Haumlkchen setzen und Weiter waumlhlen

66

Ja un Weiter waumlhlen Weiter

Computername und Kennwort fuumlr den Zugriff auf den RCL-Server oder den eigenen Computer vergeben Kenn wort notie-ren

Ein Teamviewerkonto ist nicht erforderlich Kann auch spaumlter noch eingerichtet werden

ID fuumlr den Computer auf dem das Programm installiert wird fuumlr Zugriff notieren

Das Programm wird gestartet Standardmaumlszligig vorein-gestellt ist der Start des Programms beim Start des Be-trienssystems

67

46 Selbstbau eines elementaren RCLs 461 Hard- und Software Auch ohne gleich ein vielleicht teures physikalisches Experiment zu steuern laumlsst sich mit wenigen Bauelementen ein elementares RCL realisieren Von einer Webseite im Internet sol-len eine Leuchtdiode (LED) ein- oder ausgeschaltet sowie der Zustand der Leuchtdiode und eines Tasters abgefragt werden An Hard- und Software werden benoumltigt

1 Low-Current-LED 5 mm 2 mA 1 Widerstand 18 kΩ 1 Taster und optional zwei 10-polige Wannenstecker mit ungefaumlhr 10 cm passendem Flachbandkabel und Buchsen

Interface in Basisschaltung Null-Modem-Kabel 12 V DC Steckernetzteil (larr 1)

Installierte Bascom-Demo-Version (larr 42)

AVR ISP-Programmer mit 10-poligem Programmierkabel

Installiertes und konfiguriertes AVR Studio 418 (larr 41)

Installiertes Paket XAMPP (larr 52)

Texteditor wie z B Notepad in Windows XP Professional

Konfigurierte Hyperterminalverbindung (larr 54)

462 Bestuumlckung der Platine Abb 29 zeigt zur Orientierung fuumlr das Einloumlten der Bauelemente die fertig bestuumlckte Platine des Interface

Abb 29 Mit elementarem RCL bestuumlckte Platine

des Interface

LED mit Vorwiderstand und der Taster sind rechts neben dem Mikrocontroller im Lochraster-bereich aufgebaut und uumlber Wannenstecker und Flachbandkabel mit dem Port A des Mikro-controllers verbunden (die drei Bauteile rechts neben dem ATmega16 werden nicht benouml-tigt) Tab 13 erlaumlutert die Schritte zur Bestuumlckung der Platine des Interface

68

Nr Schaltung Erlaumluterung

1

Die Leuchtdiode (LED) mit dem Pluspol (langes Beinchen) an PortA0 (PIN40 oben rechts) des Mikrocontrollers anloumlten

An das kurze Beinchen einen 18kΩ Widerstand loumlten dessen anderes Ende mit der Masse (GND) verbinden

2

Den Taster mit PortA1 (PIN39 = 2 Beinchen von oben rechts) und Masse (GND) verbinden

3

Draufsicht

Belegung des 10-poligen Wannensteckers 1 GND (Masse) im Foto oben links 2 +5 V 3 PortA0 4 PortA1 10 PortA7 im Foto unten rechts

Tab 13 Schritte zum Aufbau des elementaren RCLs

463 Lokal gesteuertes RCL Nachfolgend ist der Basic-Programmcode des Mikrocontrollers zur Steuerung und Abfrage der LED und des Tasters angegeben 01 $regfile = m16DEFdat Microcontroller ATmega16 02 $crystal = 11059200 110592MHz Quarz 03 $baud = 9600 Baudrate 04 05 ---[ Variables ]--------------------------------------------------------------- 06 Dim Rs232kommando As String 10 erst Befehlspuffer dann Kommando 07 Dim Parameter As String 10 Parameter 08 Dim Str_pos As Byte Position von Leerzeichen zur Trennung von Kommando und Pa-rameter 09 10 ---[ Initialisierung ]--------------------------------------------------------- 11 Ddra0 = 1 PortA0 als Ausgang fuumlr LED 12 Porta0 = 0 LED aus 13 Ddra1 = 0 PortA1 als Eingang fuumlr Taster 14 Porta1 = 1 Pull-Up aktivieren 15 16 ---[ Main program loop ]------------------------------------------------------- 17 Do Start der Endlos-Schleife 18 19 If Ischarwaiting() = 1 Then Zeichen uumlber RS232 empfangen 20 Input Rs232kommando neues Kommando lesen 21 Parameter = Parameter initialisieren 22 Str_pos = Instr(rs232kommando ) Leerzeichen im Kommando suchen 23 If Str_pos gt 0 Then falls Leerzeichen dann in Kommando+Parameter zerlegen 24 Incr Str_pos Str_pos soll jetzt auf 1Zeichen des Parameters zeigen 25 Parameter = Mid(rs232kommando Str_pos ) Parameter = Teilstring nach Leerzeichen 26 Parameter = Ucase(parameter) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 27 Str_pos = Str_pos - 2 Str_pos soll jetzt auf letztes Zeichen des Kommandos zeigen 28 Rs232kommando = Left(rs232kommando Str_pos)Kommando = Teilstring vor Leerzeichen 29 Rs232kommando = Ucase(rs232kommando) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 30 End If 31 32 Select Case Rs232kommando Eventhandler Interpretation der Kommandos 33 Case Print Hilfe Hilfeseite anzeigen 34 Print LED on - LED einschalten 35 Print LED off - LED ausschalten 36 Print LED - zeigt Status der LED an 37 Print SW - zeigt Status des Schalters an 38

1K8

LED rotmicroC PortA0(PIN40)

Taster

microC PortA1(PIN39)

1

3

2

69

39 Case LED If Parameter = ON Then LED schalten 40 Porta0 = 1 41 End If 42 If Parameter = OFF Then 43 Porta0 = 0 44 End If 45 46 Case LED If Porta0 = 0 Then Status der LED ausgeben 47 Print LED aus 48 Else 49 Print LED an 50 End If 51 52 Case SW If Pina1 = 1 Then Status des Schalters ausgeben 53 Print Taster offen 54 Else 55 Print Taster geschlossen 56 End If 57 58 Case Else Print gt Rs232kommando lt ungueltiger Befehl - weitere Infos mit Info bei unguumlltigen Eingaben 59 End Select 60 61 End If 62 63 Loop Endlos-Schleife Springe zu Do 64 65 End wird nie erreicht

Der erste Teil des Programms (Zeilen 1 - 15) enthaumllt die Systemparameter Variablen und Initialisierung der Ein- und Ausgaumlnge Der zweite Teil enthaumllt ab Zeile 17 das Hauptpro-gramm in dem Benutzereingaben uumlber die serielle Schnittstelle empfangen interpretiert und in entsprechende Anweisungen umgesetzt werden Tab 14 erlaumlutert den Programmcode de-taillierter

Zeilen Erlaumluterung

1 - 3 Diese Angaben teilen dem Compiler (Bascom) mit welcher Prozessor eingesetzt wird wie schnell dieser getaktet (Quarz) ist und mit welcher Uumlbertragungsgeschwindigkeit die Kommunikation uumlber die serielle Schnittstelle (RS232) mit dem PC erfolgen soll

6 - 8 Es werden drei Variablen genutzt Die Eingabe uumlber die serielle Schnittstelle wird in rs232kommando gespeichert Es wird ein Text der Form Kommando ltLeerzeichengt Parameter erwartet so dass die Variable Parameter den-selbigen aufnimmt Die Variable str_pos wird fuumlr die Trennung von Kommando und Parameter benoumltigt

11 - 14

Mit dem Befehl ddrPX (ddr = data direction) wird festgelegt ob ein Beinchen als Ausgang (=1) oder als Eingang (=0) arbeiten soll Der ATmega16 besitzt 32 Ein-Ausgaumlnge die in vier Ports (P=AD) zu je 8 Pins (X=07) unterteilt sind ddrA0 = 1 legt also das 1 Beinchen (Pin 0) von PortA als Ausgang (=1) fest Mit dem Befehl PortA0 =1 kann dieser Pin dann durch Zuweisen von 1 oder 0 an- bzw ausgeschaltet werden Im Datenblatt erfahren Sie welches der 40 Beinchen des Mikrocontrollers wie bezeichnet wird (Pin-Belegung) Wird ein Beinchen als Eingang verwendet (ddrA1 = 0) koumlnnen Sie optional einen so genannten Pull-Up-Widerstand aktivieren (PortA1=1) oder deaktivieren (PortA1=0) Auch hierzu sollten Sie sich unbedingt mit dem Datenblatt vertraut machen

17 63 Das Hauptprogramm besteht aus einer Endlosschleife d h der Mikrocontroller verrichtet ununterbrochen seinen Job so lange er mit Strom versorgt wird

19 - 30 Falls ein Zeichen uumlber die serielle Schnittstelle empfangen wurde wird dieses und alle folgenden gelesen Anschlie-szligend wird gepruumlft ob der empfangene Text von der Form Kommando ltLeerzeichengt Parameter ist so dass er ge-gebenenfalls in ein Kommando und einen Parameter zerlegt werden kann

32 - 59 Dieser Abschnitt wird mit Event-Handler bezeichnet Hier wird auf die Kommandos (Events) reagiert und die ent-sprechenden Schritte ausgefuumlhrt zB schalten LED je nach Wert der Variablen Parameter an- bzw ausschalten

46 52

In beiden Zeilen wird ein Wert eines Ports abgefragt Unterschiedlich ist dass in Zeile 46 der Status eines Ausgangs abgefragt wird (porta0) und in Zeile 52 der Zustand eines Eingangs (pina0) Die Anweisung IF porta0 = 0 THEN pruumlft (hier ist = ein Vergleich und KEINE Zuweisung) ob zuletzt die LED ausgeschaltet (Zuweisung porta0 = 0) wurde Die Anweisung IF pina1= 1 THEN liest den Status eines Eingangs Hier kann festgestellt werden ob der Eingang uumlber den internen Pull-UP-Widerstand auf +5V liegt (pina1 liefert 1) oder ob der Schalter den Eingang mit Masse (0V) verbindet (pina1 liefert 0)

Tab 14 Erlaumluterung des Mikrocontroller-Programmcodes fuumlr elementares RCL

70

In Bascom AVR eine neue Datei erzeugen (FileNew) den Programmcode ohne Kommenta-re eingeben und mit ProgramCompile (F7) eine Hexadezimaldatei erzeugen Die Hexadezi-maldatei mit dem AVR-Studio und dem AVR-ISP-Programmer in den Mikrocontroller schrei-ben (larr 222 Programmuumlbertragung) Nach dem Verbinden von Computer und Interface per Null-Modem-Kabel kann durch Eingabe von in das konfigurierte Hyperterminal die Befehls-liste in Abb 30 aufgerufen werden

Abb 30 Aufgerufene Befehlsliste im Hyperterminal

Durch Eingabe von LED on oder LED off kann die LED ein- und ausgeschaltet LED zeigt den Status der LED und sw den Status des Tasters an Alternativ zum Hyperterminal kann auch das Terminal in BASCOM unter ToolsTerminal Emulator verwendet werden (larr 422)

464 Ferngesteuertes RCL Zum Ansteuern des Interfaces und zum Bedienen des Versuchsaufbaus uumlber das Internet wird eine Webseite benoumltigt die dem Benutzer alle Bedienelemente des Experiments zur Verfuumlgung stellt

Der Benutzer benoumltigt anklickbare Buttons im Webbrowser

Der Webserver muss die Information welcher Button gedruumlckt wurde empfangen und ein entsprechendes Kommando uumlber die serielle Schnittstelle an das Interface senden

Beide Schritte sind im nachfolgenden PHPHTML-Quellcode zusammengefasst 01 ltDOCTYPE HTML PUBLIC -W3CDTD HTML 401 TransitionalEN httpwwww3orgTRhtml4loosedtdgt 02 lthtmlgt 03 ltheadgt 04 ltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1gt 05 lttitlegtelementares RCLlttitlegt 06 ltheadgt 07 08 ltbodygt 09 ltphp 10 if (isset($_POST[Kommando])) wurde bereits Kommando gesendet 11 if( ( $handle = fopen( COM1 w+ ) ) ) Schnittstelle oumlffnen 12

71

13 throw new Exception( Can not access serial port 2 ) ohne Erfolg 14 15 fwrite( $handle $_POST[Kommando] chr( 13 ) ) Befehl an Interface senden 16 switch ( $_POST[Kommando] ) Antwort von Interface auswerten 17 case LED $tmp = fgets( $handle ) Echo von Interface ignorieren 18 $antwort = fgets( $handle ) Antwort des Interfaces 19 echo Antwort $antwort Ausgabe auf Webseite 20 break switch verlassen 21 22 case SW $tmp = fgets( $handle ) Echo von Interface ignorieren 23 $antwort = fgets( $handle ) Antwort des Interfaces 24 echo Antwort $antwort Ausgabe auf Webseite 25 break switch verlassen 26 27 28 29 fclose( $handle ) Schnittstelle schlieszligen 30 31 else 32 `mode com1 BAUD=9600 PARITY=N data=8 stop=1 xon=off` Schnittstellenparameter setzen 33 34 35 gt 36 37 lth3gtBefehl sendenlth3gt 38 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 39 ltinput type=hidden name=Kommando value=LED ON gt 40 ltinput type=submit value=LED anschalten gt 41 ltformgt 42 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 43 ltinput type=hidden name=Kommando value=LED OFF gt 44 ltinput type=submit value=LED ausschalten gt 45 ltformgt 46 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 47 ltinput type=hidden name=Kommando value=LED gt 48 ltinput type=submit value=LED abfragen gt 49 ltformgt 50 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 51 ltinput type=hidden name=Kommando value=SW gt 52 ltinput type=submit value=Taster abfragen gt 53 ltformgt 54 ltbodygt 55 lthtmlgt Den Quellcode in den Texteditor kopieren und im Ordner htdocs von XAMPP z B unter rclphp speichern HTML-Dateien mit PHP-Code (Zeilen 9-35) muumlssen mit der Erweiterung php gespeichert werden damit der Apache Webserver zwischen HTML-Seiten mit und ohne PHP-Code unterscheiden kann Den installierten Apache Webserver starten (larr 452) und im Adressfeld des Webbrowsers die IP-Adresse http127001rclphp aufrufen Das Bedi-enfeld des elementaren RCLs in Abb 31 wird im Browserfenster angezeigt

72

Abb 31 Laborseite des elementaren RCLs

Im Bedienfeld kann die LED an- und ausgeschaltet sowie der Status von LED und Taster abgefragt werden

  • 0 Warum ein Tutorial zur RCL-Technik
  • 1 Technische Konzeption
    • 11 Einfuumlhrung
    • 12 Wahl der RCL-Technik
      • 2 Lokal gesteuertes RCL
        • 21 Interface
          • 211 Mikrocontroller
          • 212 Basisschaltung und Erweiterungsschaltungen
          • 213 Programmierung des Mikrocontrollers
            • 22 Hyperterminal
            • 23 Positionieren von Objekten
              • 231 Hybrid-Schrittmotoren
              • 232 Schrittmotorsteuerung und Positionierungsmechanik
                  • 3 Ferngesteuertes RCL
                    • 31 RCL-Server
                    • 32 Laborseite
                      • 321 Steuerung des RCLs uumlber das Bedienfeld
                      • 322 Videouumlbertragung im Webcamfeld
                        • 33 Standard-Lernumgebung
                          • 4 ANHANG
                            • 41 Interface in Basisschaltung
                              • 411 Schaltplan und Bauteilliste
                              • 412 Bestuumlckung der Platine
                                • 42 Erweiterungsschaltungen
                                  • 421 Uumlbersicht
                                  • 422 TMC222-Modul zur Schrittmotorsteuerung
                                    • 4221 Schaltplan und Bauteilliste
                                    • 4222 Bestuumlckung der Platine
                                    • 4223 Quellcode des Mikrocontroller-Programms
                                      • 423 Geschaltete Spannungsquellen und Verbraucher
                                      • 424 Steuerung von Gleichstrommotoren
                                        • 43 Quellcodes zum RCL Elektronenbeugung
                                          • 431 Mikrocontroller-Programmierung
                                          • 432 PHP-Programmierung
                                          • 433 Bedienfeld der Laborseite
                                          • 434 Webcamfeld der Laborseite
                                            • 44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung
                                              • 441 AVR-Studio 418
                                                • 4411 Installation
                                                • 4412 Konfiguration
                                                  • 442 BASCOM 11198 Demoversion
                                                    • 4421 Installation
                                                    • 4422 Konfiguration
                                                        • 45 Installation und Konfiguration von Programmen auf dem RCL-Server
                                                          • 451 Einrichten des Internet-Zugangs
                                                          • 452 Paket XAMPP 174
                                                          • 453 Videoserver webcamXP 5 Private
                                                          • 454 Terminalprogramm Hyperterminal
                                                          • 455 Fernwartungssoftware TeamViewer 6 Host
                                                            • 46 Selbstbau eines elementaren RCLs
                                                              • 461 Hard- und Software
                                                              • 462 Bestuumlckung der Platine
                                                              • 463 Lokal gesteuertes RCL
                                                              • 464 Ferngesteuertes RCL

11

Ressource Kurzbeschreibung

Mik

roco

ntro

ller

Mikrocontroller mega16A Mikrocontroller ATmega16A Summary

Ausfuumlhrliches und zusammenfassendes Datenblatt des Mikrocon-trollers ATmega16

wwwmicrocontrollernet Portal fuumlr Mikrocontroller RoboterNETZ Portal fuumlr Robotik Mikrocontroller und Elektronik AVR-Tutorial Tutorial zur AVR-Familie auf microcontrollernet BASCOM-AVR Online-Hilfe zur Entwicklungsumgebung BASCOM-AVR myAVR Mikrocontrollerloumlsungen fuumlr Ausbildung und Selbststudium BASCOM-Forum Forum von MCS BASCOM RoboterNETZ-Forum Forum von RoboterNETZ myAVR-Forum Forum von myAVR AVR-Forum Forum von Atmel Roland Walter AVR Mikrocontroller Lehr-buch Buch zur Programmierung von AVR-Mikrocontrollern mit Basic

Guumlnter Schmitt Mikrocomputertechnik mit Controllern der Atmel AVR-RISC-Familie

Buch zur Programmierung von AVR-Mikrocontrollern in Assemb-ler und C

Claus Kuumlhnel Programmierung der AVR RISC Mikrocontroller mit BASCOM-AVR

Buch zur Programmierung von AVR-Mikrocontrollern in BAS-COM-AVR (Basic)

Frank Sichla Schaltungssammlung Mikro-controller und USB

Buch mit praktischen Anwendungsschaltungen und Einsatzmoumlg-lichkeiten von Mikrocontrollern

HTM

LPH

P

SELFHTML Portal zum Erstellen von Webseiten mit HTML SELTPHP Portal zum Programmieren von Webseiten mit PHP PHP Entwicklerseite von PHP Kleines Tutorial PHP-Tutorial PHP-Handbuch PHP-Handbuch

Elek

tron

ik

reichelt elektronik Elektronikversand Conrad Elektronikversand ELV Elektronik Elektronikversand Datasheet Catalogcom Datenbank fuumlr Datenblaumltter elektronischer Bauelemente Datasheet Archive Datenbank fuumlr Datenblaumltter elektronischer Bauelemente Pegelwandler Max232 fuumlr serielle Schnitt-stelle Datenblatt des ICs Max232 von Texas Instruments

Spannungsregler L7805 Datenblatt des ICs L7805 von STMicroelectronics Schrittmotormodul TMC222 Datenblatt des ICs TMC222 von Trinamic

Schr

ittm

otor

en

Minebea Hybrid Stepping Motors Datenblaumltter von 12 Hybrid-Schrittmotoren Trinamic Stepper Motors Datenblaumltter und Bezugsquellen von 6 Hybrid-Schrittmotoren reichelt elektronik Groszliges Angebot an Schrittmotoren Quality Motors Auf TMC-Module und -ICs abgestimmte Schrittmotoren Nanotec Schrittmotor-Animation Animation von unipolarem und bipolarem Schrittmotor

Nanotec Glossar Glossar mit Erklaumlrungen zu wichtigen Begriffen aus der Schrittmo-tor-Antriebstechnik

Erich Rummich Elektrische Schrittmoto-ren und -antriebe- Funktionsprinzip- Be-triebseigenschaften - Messtechnik

Buch zum Erwerb von Kenntnissen zum Aufbau und zur Funkti-onsweise von Schrittmotoren

Tab 2 Ressourcen zur Realisation eines RCLs

Die seit 1996 zunehmende Bedeutung der kostenlosen Skriptsprache PHP und das Wachstum des Internets korrespondieren mit einer Zunahme an kostenlosem Informati-onsmaterial zur PHPHTML-Programmierung Neben den unter PHPHTML in Tab 2 ge-nannten Ressourcen sind wegen des groszligen Marktes keine Buumlcher zu PHP genannt Die teuren und schnell veraltenden Buumlcher sollten in Bibliotheken geliehen werden Unter Elektronik sind in Tab 2 Links zum Versandhandel elektronischer Bauelemente zu Datenbanken mit Datenblaumlttern elektronischer Bauelemente und zu Datenblaumlttern der wichtigsten ICs des Interface zu finden Unter Schrittmotoren sind Links zu Schrittmotoren

12

wichtiger Anbieter zusammengestellt die uumlber den Elektronikhandel leicht bezogen wer-den koumlnnen Das Buch von Erich Rummich erklaumlrt Zusammenhaumlnge zwischen Bauform und Funktionsweise von Schrittmotoren die uumlber Informationen zu Schrittmotoren im Tu-torial (rarr 231) gegebenen Informationen hinausgehen

Programmierung des Mikrocontrollers in Basic Besonders die Moumlglichkeit der Programmierung des Mikrocontrollers in der Hochsprache Basic (larr 12 Tab 1 Bascom AVR) erleichtert den Einstieg in den Selbstbau von RCLs Daruumlber hinaus besteht analog zur PHP-Programmierung die Mikrocontroller-Programmierung aus einer an das jeweilige RCL lediglich anzupassenden Basispro-grammierung (rarr 431)

Betriebssystemunabhaumlngigkeit Das Interface kommt ohne betriebssystemspezische Treiber aus PHP und HTML sind be-triebsystemunabhaumlngige Sprachen Der Apache Webserver XAMPP ist auszliger fuumlr Windows fuumlr die Betriebssysteme Linux Mac OS X und Solaris9 erhaumlltlich

Wartung von Programmierung und Interface Aumlnderungen der PHPHTML-Programmierung koumlnnen leicht uumlber einen Fernzugriff auf den RCL-Server vorgenommen werden Da der PHPHTML-Quellcode im RCL-Betrieb stets in einer lauffaumlhigen Form vorliegt fuumlhren Wechsel von Personen die Zugriff auf die Programmierung haben nicht zu Ausfaumlllen des RCLs Aumlnderungen und Reparaturen an den Ergaumlnzungsschaltungen des Interface koumlnnen aufgrund des Lochrasteranteils der Platine (rarr 412) leicht durchgefuumlhrt werden

Zerstoumlrungssichere Versuchskomponenten Versuchskomponenten sind durch die Programmierung des Mikrocontrollers vor Fehlbe-dienungen des RCLs geschuumltzt Da der Mikrocontroller die Zulaumlssigkeit von Parameter-werten uumlberwacht ist kein Missbrauch des Experiments durch Dritte moumlglich Abstuumlrze des RCL-Servers fuumlhren nicht zu undefinierten Zustaumlnden des Experiments weil der Mik-rocontroller das Experiment steuert In der Lebensdauer staumlrker begrenzte Versuchskom-ponenten wie z B die Elektronenbeugungsroumlhre beim RCL Elektronenbeugung (larr 11 Abb 2) koumlnnen durch eine programmierte Standby-Funktion des Mikrocontrollers bei Nichtgebrauch ausgeschaltet werden

Keine Installation von Zusatzsoftware Besucher benoumltigen zum Experimentieren mit RCLs lediglich einen kostenlos verfuumlgbaren Webbrowser wie z B die auf Funktionsfaumlhigkeit fuumlr die RCLs getesteten Internet Explo-rer Opera Firefox Safari oder Konquerer mit aktivierter Javaskript-Funktion Es muss keine weitere Zusatzsoftware installiert werden

Eine alternative technische Loumlsung fuumlr RCLs ist LabVIEW (Laboratory Virtual Instrument En-gineering Workbench) von National Instruments (NI)10 LabVIEW ist eine sehr umfangreiche

9 Apache friends XAMPP

13

mittlerweile als Industriestandard geltende grafische Programmierumgebung zum Messen Steuern und Regeln von Systemen Uumlber umfangreiche Treiber-Bibliotheken lassen sich fast alle gaumlngigen mit einer entsprechenden Schnittstelle ausgestatteten Geraumlte in LabVIEW ein-binden LabVIEW wurde als technische Loumlsung im RCL-Projekt aus mehreren Gruumlnden nicht eingesetzt

Besucher muumlssen einmalig vor dem Experimentieren mit RCLs die LabVIEW Run-Time Engine11 installieren

Es existieren nur wenige Schulgeraumlte mit den erforderlichen Schnittstellen

Die Kosten von ungefaumlhr 1300 euro fuumlr die Basisversion und ungefaumlhr 2800 euro fuumlr die Vollver-sion sind zu hoch

LabVIEW ist fuumlr die zu entwickelnden RCLs bzw die Zielgruppe aus Schuumllern und Studie-rende uumlberdimensioniert Der Nachbau von RCLs durch interessierte Schuumller und Studie-rende waumlre aus Kosten und Anforderungsgruumlnden nur schwer moumlglich

Trotz der graphischen Programmieroberflaumlche von LabVIEW muumlssen im Programmcode immer noch Anpassungen in der speziell fuumlr LabVIEW entwickelten Programmiersprache G vorgenommen werden

Die Einarbeitung in LabVIEW ist vom Zeitaufwand und den Anforderungen her mindes-tens genauso hoch wie die fuumlr Mikrocontroller- und PHP-Programmierung

Eine mit fertigen LabVIEW-Elementen gestaltete Laborseite ist nicht unbedingt nutzer-freundlicher als eine mit PHPHTML erstellte Laborseite

2 Lokal gesteuertes RCL 21 Interface 211 Mikrocontroller Zentrales Bauelement des Interface ist ein ATMEL AVR 8-bit RISC Mikrocontroller ATme-ga16 Dieser enthaumllt im Vergleich zu einem Mikroprozessor auszliger dem Prozessor auch peri-phere Module wie z B Speicher digitale und analoge Ein- und Ausgaumlnge oder Timer fuumlr Zu-satzfunktionen Dadurch kommen Anwendungen von Mikrocontrollern wie z B RCLs meist mit wenigen zusaumltzlichen Bauelementen aus Tab 3 enthaumllt eine Uumlbersicht der wichtigsten Features des Mikrocontrollers zum Prozessor zur Programmierung und Datenspeicherung zu peripheren Modulen und erlaumlutert einige Fachbegriffe

10 Vgl National Instruments 11 Vgl National Instruments LabVIEW Run-Time Engine

14

Feature Erlaumluterung

Proz

esso

r

ATMEL AVR 8 bit RISC Mik-rocontroller ATmega16

ATMEL US-amerikanischer Hersteller von Mikrocontrollern AVR Familie von Mikrocontrollern 8 bit Breite des internen Datenbusses des Mikrocontrollers RISC steht fuumlr Reduced Instruction Set Computer (Rechner mit reduziertem Befehls-

satz) Designphilosophie von Mikrocontrollern mit Befehlssatz aus moumlglichst einfa-chen Befehlen und houmlherer Effizienz des Prozessors

ATmega Eine der Mikrocontroller-Serien von ATMEL 16 steht fuumlr 16 kB Flash-ROM Groumlszlige des Programmspeichers des Mikrocontrollers

131 Befehle mit 1-2 Taktzyk-lenBefehl

Die ATmega-Serie besitzt unter den Mikrocontroller-Serien von ATMEL den groumlszligten Befehlssatz Die meisten Befehle benoumltigen zur Ausfuumlhrung nur einen Taktzyklus

Variabel waumlhlbare Taktfre-quenzen bis zu 16 MHz

Ein externer Schwingquarz legt die Schwingungsfrequenz einer Oszillatorschaltung und damit die Taktfrequenz des Mikrocontrollers fest

Prog

ram

mie

rung

und

Dat

ensp

eich

erun

g

ISP uumlber SPI-Bus in 16 kB Flash-ROM Programm-Speicher

ISP steht fuumlr In System Programming Der Mikrocontroller kann ohne aus der Schal-tung entfernt zu werden programmiert werden Es wird kein teures Programmierge-raumlt sondern nur ein Programmieradapter benoumltigt

SPI steht fuumlr Serial Peripheral Interface (Serielles Peripheres Interface) Nach dem Master-Slave-Prinzip arbeitender synchroner serieller Datenbus zur Kommunikation zwischen digitalen Schaltungen

Flash-ROM Kann zur Speicherung des Programmcodes ca 1000-mal neu be-schriebengeloumlscht - geflashed - werden aber beliebig oft gelesen werden Daten bleiben auch ohne Versorgungsspannung erhalten

512 B EEPROM 1 kB internes SRAM

EEPROM steht fuumlr Electrically Erasable Programmable Read Only Memory (Elektrisch loumlschbarer und programmierbarer Nur-Lese-Speicher) Nichtfluumlchtiger Speicher der beliebig oft gelesen und mindestens 100000 mal beschrieben werden kann Kann z B zum Speichern von Messwerten und Konfigurationsdaten verwen-det und uumlber ISP programmiert werden

SRAM steht fuumlr Static Random Access Memory Fluumlchtiger Speicher der beliebig oft gelesen und beschrieben werden kann Wird z B zur Speicherung von Variablen und des Stacks verwendet

Perip

here

Mod

ule

32 programmierbare Ein- und Ausgaumlnge

Der Mikrocontroller ist 40-polig Davon koumlnnen 32 Pole entweder als Ein- oder Aus-gang programmiert werden

Zwei 8-bit- und ein 16-bit-Timer mit Vorteilern und Ver-gleichs-Modus

Die vom Quarzoszillator gesteuerten Timer erlauben z B praumlzise Zeitmessungen oder Interrupts bei bestimmten Zaumlhlerstaumlnden Die maximalen Zaumlhlerstaumlnde sind bei 8 bit 255 und bei 16 bit 1023 Vorteiler erlauben eine Verringerung der Zaumlhlrate

Programmierbare USART USART steht fuumlr Universal SynchronousAsynchronous Receiver Transmitter Seriel-

le Schnittstelle die zur Datenuumlbertragung zwischen Mikrocontroller und Computer benutzt wird

I2C Interface

I2C ist ein synchroner serieller Zweidraht-Bus mit einer Daten- und einer Taktleitung zur Kommunikation zwischen ICs Nach dem Master-Slave-Prinzip kann ein Master bis zu 128 Slaves ansprechen Die Uumlbertragungsrate liegt im Standard-Mode bei 100 kbits

Externe und interne Interrupts

Interrupts unterbrechen das Hauptprogramm des Mikrocontrollers um kurzfristige und zeitkritische Verarbeitungen durchzufuumlhren Externe Interrupts werden durch am Mikrocontroller angeschlossene Hardware gesteuert interne Interrupts durch die Programmierung des Mikrocontrollers

4 PWM-Ausgaumlnge PWM steht fuumlr Pulse Width Modulation (Pulsweitenmodulation) Timer stellen an 4

Ausgaumlngen Rechteckimpulse der Dauer t und Unterbrechungsdauer T-t mit variab-lem Tastverhaumlltnis tT zur Verfuumlgung

8 10-bit ADC

ADC steht fuumlr Analog to Digital Converter (AD-Wandler) Integrierte Schaltung die analoge Eingangsspannung Ue in digitale Ausgangsspannung (Zahl) umwandelt

10-bit Aufloumlsungsvermoumlgen des AD-Wandlers Kleinster aufloumlsbarer Spannungsun-terschied ist (Uemax - Uemin)210

Tab 3 Features des Mikrocontrollers ATmega16

15

212 Basisschaltung und Erweiterungsschaltungen Abb 5 zeigt am Beispiel des RCLs Elektronenbeugung die Platine des Interface mit den Funktionsgruppen 1 - 5 der Basisschaltung und den Funktionsgruppen 6 und 7 der Erweite-rungsschaltungen (larr 11 Abb 4)

Abb 5 Platine des Interface des RCLs Elektronenbeugung

Abb 6 zeigt den dazugehoumlrigen Schaltplan mit den Nummern der Funktionsgruppen und die Pinbelegung des Mikrocontrollers ATmega16

Abb 6 Schaltplan des Interface des RCLs Elektronenbeugung (links) und Pinbelegung

des Mikrocontrollers ATmega16 (rechts)

16

Basisschaltung Die Spannungsversorgung (1) des Interface erfolgt uumlber ein Universal-Steckernetzteil mit der Betriebsspannung Ub = 12 V Eine Diode SB140 schuumltzt die Elektronik des Interface vor falscher Polung der Spannungsversorgung Der Spannungsregler L7805 wandelt die Betriebsspannung am Hohlstecker in eine Gleichspannung von 5 V fuumlr die Spannungs-versorgung der elektronischen Bauelemente des Interface um Die Betriebsspannung kann im Interface auch direkt zur Ansteuerung von Relais oder zur Spannungsversorgung kleinerer Motoren verwendet werden Bei Bedarf kann unter Beachtung der Kuumlhlung des L7805 das Interface mit houmlheren Betriebsspannungen z B fuumlr staumlrkere Schrittmotoren betrieben werden Die nicht hinreichend stabile und temperaturabhaumlngige Frequenz des internen RC-Oszillators im Mikrocontroller (2) kann bei Verwendung der USART zu Problemen fuumlhren Daher wird ein externer 110592 MHz Schwingquarz (3) eingesetzt Der IC MAX232 ist ein Pegelwandler der die 0V+5 V-Signale der seriellen Schnittstelle (4) des Mikrocontrol-lers an die plusmn12 V-Signale der seriellen Schnittstelle des Computers anpasst Uumlber den ISP-Stecker kann der Mikrocontroller programmiert werden (5) Das Interface in der Ba-sisschaltung kann im Selbstbau angefertigt werden (rarr 41)

Erweiterungsschaltungen Nur die wenigsten Aktoren Sensoren gesteuerte Geraumlte und Bauelemente eines RCLs lassen sich direkt vom Mikrocontroller ansteuern Beim RCL Elektronenbeugung wird die Heizspannung der Elektronenkanone mit einem Relais zum Schalten der Netzspannung des Hochspannungsnetzgeraumltes ein- und ausgeschaltet (6) Liefert der Mikrocontroller am Port PA0 die Spannung 5 V (high) so wird die Kollektor-Emitter-Strecke des Transistors BC 337 niederohmig fast die gesamte Betriebsspannung Ub = 12 V faumlllt uumlber dem Relais ab und es flieszligt ein Strom durch das Relais Die Diode 1N4001 schuumltzt den Transistor vor Induktionsspannungsspitzen beim Ein- und Ausschalten der Spule im Relais Am Steuereingang des Hochspannungsnetzgeraumlts kann durch Anlegen einer Steuer-spannung US zwischen 0 V und 5 V die Beschleunigungsspannung der Elektronenkanone zwischen 0 und 43 kV im belasteten Zustand bei eingeschalteter Gluumlhkathode variiert werden Die analoge Steuerspannung US erzeugt ein 8-bit Digital-Analog-Wandler PCF8591 der uumlber den I2C-Bus des Mikrocontrollers (Ports PC0 und PC1) mit Binaumlr-codes zwischen 0 und 255 angesteuert wird (7) Die Ausgangsspannung des DA-Wandlers liegt in 256 Stufen zwischen 370 mV und 497 V Dieser Schaltung wurde der Vorzug gegenuumlber der Erzeugung einer Steuerspannung mit Hilfe eines der Pulsweiten-modulationsausgaumlnge des Mikrocontrollers gegeben weil der Programmieraufwand ge-ringer und die Steuerspannung keine Restwelligkeit aufweist

Eine Uumlbersicht zu Erweiterungsschaltungen fuumlr Sensoren und Aktoren (rarr 421) zeigt die Anpassungsfaumlhigkeit des Interface an die unterschiedlichsten Experimente

17

213 Programmierung des Mikrocontrollers Im Folgenden wird die Programmstruktur des Mikrocontroller-Programms und die Uumlbertra-gung des Programmcodes in den Mikrocontroller beschrieben

Programmstruktur Der Mikrocontroller ist mit einem Programm (Firmware) ausgestattet um die Aufgaben des Interfaces abzuarbeiten Hierzu zaumlhlen im Wesentlichen Programmteile zur Kommu-nikation mit dem RCL-Server und zur Steuerung des Experiments da das Interface eine Schnittstelle zwischen Experiment und RCL-Server darstellt Weitere Programmteile sind beispielsweise zur Initialisierung des Versuchsaufbaus und der Steuerparameter sowie zur Konfiguration des Interfaces realisiert Abb 7 zeigt ein Flussdiagramm der Programm-teile zur Kommunikation mit dem RCL-Server und zur Steuerung des Experiments

Abb 7 Flussdiagramm der Programmierung des Mikrocontrollers

Der Programmteil zur Kommunikation mit dem RCL-Server besteht im Wesentlichen aus einer Schleife die unablaumlssig auf Steuerzeichen des RCL-Servers wartet diese gegebe-nenfalls empfaumlngt und auswertet Soll mittels eines empfangenen Steuerzeichens der Versuchsaufbau angesteuert werden wird vom Kommunikations-Programmteil eine ent-sprechende Anweisung fuumlr den Steuerungs-Programmteil generiert In der Schleife wer-den auch Antworten wie z B Messergebnisse des Steuerungs-Programmteils entgegen-genommen und an den RCL-Server ausgegeben Der Kommunikations-Programmteil kann Kommandos mit und ohne Parameter entgegen-nehmen und verarbeiten So lassen sich einfache Befehle wie Start und Stopp eines Mo-tors aber auch speziellere Anweisungen wie Messe uumlber den Bereich von a nach b mit einer Schrittweite c ausfuumlhren Auch Messergebnisse oder Statusinformationen in Form einzelner Daten wie Zahlen oder Listen koumlnnen vom Kommunikations-Programmteil an den RCL-Server uumlbertragen werden Ferner uumlbernimmt der Kommunikations-Programmteil auch den Austausch von Konfigurationsdaten fuumlr das Interface beispiels-

18

weise Motorparameter oder Zeitvorgaben fuumlr eine Standby-Funktion Schlieszliglich gibt der Kommunikations-Programmteil auch Fehlermeldungen an den RCL-Server aus etwa bei einem Fehlerzustand im Experiment oder bei fehlerhaften Anweisungen des Besuchers bzw des RCL-Servers Im Programmteil zur Steuerung des Experiments erfolgt die Ansteuerung von Aktoren und das Auslesen von Sensoren mittels elektronischer Aus- und Eingaumlnge (Ports) des Mikro-controllers Gegebenenfalls sind zwischen den Ports des Mikrocontrollers und dem Expe-riment Erweiterungsschaltungen erforderlich (larr 212 Erweiterungsschaltungen) Der Steuerungs-Programmteil ist als Interrupt-Routine implementiert Interne Zeitgeber des Mikrocontrollers rufen den Programmteil zyklisch z B alle 1 oder 10 Millisekunden auf wobei die zuvor beschriebene Schleife des Kommunikations-Programmteils kurzzeitig fuumlr die Abarbeitung des Steuerungs-Programmteils unterbrochen wird Hierdurch wird die Steuerung als Real-Time-Prozess12 ausgefuumlhrt und es koumlnnen insbesondere zeitkritische Steueraufgaben mit einer Aufloumlsung von ungefaumlhr 1 - 10 ms zuverlaumlssig erledigt werden Ferner ist im Mikrocontroller und dem Programm ein sogenannter Watchdog installiert der das Programm bei einem Programmabsturz automatisch neu startet Der Watchdog als elektronische Baugruppe im Mikrocontroller fuumlhrt einen Neustart des Mikrocontrollers (Reset) durch sofern er nicht mehr uumlber das Programm in vorgegebenen Zeitintervallen angesteuert wird Je nach RCL gibt es noch weitere Interrupt-Routinen die unabhaumlngig vom Zeittakt des Mikrocontrollers auf externe Ereignisse wie z B Ausgangsspannungsaumlnderungen eines Sensors reagieren Damit kann besonders schnell auf Erfordernisse des Experiments re-agiert oder es koumlnnen Zeitmessungen mit einer Genauigkeit von ungefaumlhr 10-6 s durchge-fuumlhrt werden Im Anhang (rarr 431) ist der Pascal-Quellcode fuumlr den Mikrocontroller des RCLs Elektronenbeugung verfuumlgbar

Programmuumlbertragung Nach der Kompilierung des Assembler- Basic- C+- C++- oder Pascal-Programms liegt eine Hexadezimaldatei vor die vom Computer in den Mikrocontroller uumlbertragen werden muss (Flashen des Programms) Zur Programmuumlbertragung muss das AVR-Studio instal-liert und konfiguriert sein (rarr 441) Abb 8 zeigt wie die Programmuumlbertragung durchge-fuumlhrt wird

12 Real-Time bedeutet hier dass die maximale Dauer eines Vorgangs vorhersehbar und gewaumlhrleistet ist dass eine Steuer-

aufgabe nach einer vorhersehbaren Zeit abgeschlossen ist

19

Abb 8 Programmuumlbertragung zwischen Computer und Mikrocontroller im Inter-

face des RCLs Elektronenbeugung uumlber USB-Seriell-Adapter und ISP-Programmer

Das Interface braucht nicht mit dem Experiment verbunden zu sein Auch Erweiterungs-schaltungen innerhalb oder auszligerhalb des Interface muumlssen nicht mit dem Mikrocontroller verbunden sein Das Interface ermoumlglicht uumlber die ISP-Schnittstelle die Programmierung mit einem preisguumlnstigen ISP-Programmer ohne ein teureres Experimentierboard13 Zur Uumlbertragung des Programms muss in folgenden Schritten vorgegangen werden

(1) Spannungsversorgung des Interface zur Sicherheit unterbrechen weil beim Verbinden mehrpoliger Steckerverbindungen es zu Kurzschluumlssen kommen kann

(2) 10-poligen ISP-Stecker des ISP-Programmers an die ISP-Schnittstelle des Interface anschlieszligen

(3) ISP-Programmer an die serielle Schnittstelle oder uumlber USB-Seriell-Adapter an die USB-Schnittstelle des Computers anschlieszligen

(4) Spannungsversorgung des Interface wieder herstellen

(5) AVR-Studio unter StartProgramme aufrufen und nach Abb 9 in der Registerkarte Program unter Flash die zu uumlbertragende Hexadezimal-Datei z B Elektronenbeu-gunghex auf der Festplatte auswaumlhlen und Program waumlhlen

13 Vgl ATMEL STK 500 Entwicklerkit bei Reichelt Elektronik

20

Abb 9 Uumlbertragung der Hexadezimaldatei Elekt-

ronenbeugunghex in den Mikrocontroller

(6) Spannungsversorgung des Interface unterbrechen ISP-Programmer vom Interface trennen AVR-Studio beenden und den ISP-Programmer vom Computer trennen

22 Hyperterminal Nach der Programmuumlbertragung kann das Experiment uumlber das konfigurierte Hyperterminal (rarr 454) lokal gesteuert werden Mit dem Hyperterminal koumlnnen als Text eingegebene Be-fehle oder Abfragen an den Mikrocontroller gesendet oder von diesem empfangen werden Der Computer muss wie bei der Programmuumlbertragung mit dem Interface per Null-Modem-Kabel uumlber die serielle Schnittstelle oder einen USB-Seriell-Adapter verbunden sein Das In-terface muss an die Versorgungsspannung anschlossen sein braucht aber nicht mit dem Experiment verbunden zu sein Abb 10 zeigt nach Eingabe von und von param im Hyper-terminal die Befehlsliste des Mikrocontrollers fuumlr das RCL Elektronenbeugung

21

Abb 10 Befehlsliste des Mikrocontrollers im Hyperterminal fuumlr das RCL Elektronenbeugung

Tab 4 gibt Erlaumluterungen zur Befehlsliste

BefehlAbfrage Erlaumluterung

DA x Am Eingang des DA-Wandlers wird die Zahl x (0 - 255) im Binaumlrcode

angelegt und die Ausgangsspannung des Hochspannungsnetzgeraumlts bzw die Beschleunigungsspannung der Elektronenkanone eingestellt

OnOff Hochspannungsnetzgeraumlt und Gluumlhkathode der Elektronenkanone ein-

oder ausschalten Beim Einschalten wird die Steuerspannung des Inter-face am Hochspannungsnetzgeraumlt auf asymp 0 V einstellt

Standby Ausgabe der eingestellten Standbyzeit von 300 s setSB x Standbyzeit einstellen

next Standby in Ausgabe der verbleibenden Standbyzeit (254 s) bis das Experiment

ausgeschaltet wird Eine negative Standbyzeit gibt die Zeit seit dem Ab-lauf der Standbyzeit an

Power On Delay Ausgabe der Verzoumlgerungszeit (2 s) bis das Hochspannungsnetzge-

raumltElektronenbeugungsroumlhre nach dem Ausschalten oder nach Ablauf der Standbyzeit erneut eingeschaltet werden kann

setPOD x Verzoumlgerungszeit einstellen

power on enabled in Ausgabe wie lange Hochspannungsnetzgeraumlt nicht eingeschaltet wer-

den kann Zeiten unter 0 bedeuten dass Power-On-Delay-Zeit ablaufen ist

Tab 4 Erlaumluterung der Befehle in Abb 10

23 Positionieren von Objekten In fast allen RCLs des RCL-Portals auszliger den RCLs Elektronenbeugung und Oszilloskop muumlssen Objekte rotatorisch oder translatorisch positioniert werden Eingesetzt werden Hyb-rid-Schrittmotoren als Aktoren eine Schrittmotorsteuerung von Trinamic als Erweiterungs-schaltung (TMC222-Modul) die Positionierungseinheit ausgedienter Flachbrett-Scanner und ein Referenz-Taster als Sensor

231 Hybrid-Schrittmotoren Abb 11 zeigt den vereinfachten schematischen Aufbau eines zweiphasigen Schrittmotors mit getrennten magnetischen Kreisen des Stators und einem permanent magnetisierten zweipoligen Rotor (Polpaarzahl 1)

22

Abb 11 Funktionsprinzip von Schrittmotoren Unipolare (links) und bipolare Schaltung (rechts)

von Schrittmotoren mit Bestromungstabellen fuumlr Voll- und Halbschrittbetrieb Darge-stellt ist der Schritt 0

Der Rotor verfuumlgt bei der dargestellten Polreihenfolge S-S-N-N des Stators uumlber eine stabile Stellung bei einer hypothetischen (magnetische Monopole) Polreihenfolge N-S-N-S gaumlbe es mit diesem Aufbau des Stators nur instabile Stellungen des Rotors Um den Rotor in Bewe-gung zu setzen muss die Polreihenfolge S-S-N-N im oder entgegen den Uhrzeigersinn (Rechts- oder Linksdrehung) weitergeschaltet und der Rotor vom magnetischen Schrittfeld mitgenommen werden

Die magnetische Polaritaumlt eines magnetischen Kreises laumlsst sich entweder durch zwei Spu-len konstanter elektrischer Polaritaumlt mit unterschiedlichem Wicklungssinn (herstellungstech-nisch zu aufwendig) durch eine Spule mit Mittelanzapfung und konstanter elektrischer Pola-ritaumlt der beiden Teilspulen (unipolare Schaltung) oder durch eine Spule mit wechselnder elektrischer Polaritaumlt (bipolare Schaltung) realisieren In Abb 11 sind dazu die elektrischen Beschaltungen und die Bestromungstabellen fuumlr eine Rechtsdrehung des Rotors dargestellt Fuumlr eine Linksdrehung des Rotors muss die Schrittfolge in umgekehrter Reihenfolge durch-laufen werden

Es wird zwischen Vollschrittbetrieb (graue Zeilen der Tabellen) mit Schrittwinkel 90deg bzw Schrittzahl 4 und Halbschrittbetrieb (alle Zeilen der Tabellen) mit Schrittwinkel 45deg bzw Schrittzahl 8 unterschieden Beim Vollschrittbetrieb werden immer beide magnetische Kreise bestromt und die N-S-Polachse des Rotors nimmt nur Stellungen zwischen den Statorpolen

23

an Beim Halbschrittbetrieb wird zwischen den Vollschritten nur einer der magnetischen Krei-se bestromt und die N-S-Polachse des Rotors kann zusaumltzlich 4 Stellungen in Richtung der Statorpole einnehmen Der Hybrid-Schrittmotor ist die am haumlufigsten vertretene Bauform von Schrittmotoren Abb 12 zeigt den Aufbau eines Hybrid-Schrittmotors

Abb 12 Aufbau eines Hybrid-Schrittmotors fuumlr unipolare und

bipolare Schaltung Daten Schrittwinkel 18deg max Drehmoment 155 Ncm

Der Stator besteht aus zwei Straumlngen mit je 4 in Reihe geschalteten Spulen Der Wick-lungssinn der Spulen ist in beiden Straumlngen so dass sich die Polfolge N-S-N-S uumlber den Umfang ergibt Beide Straumlnge zusammen ergeben unabhaumlngig von der Stromrichtung ei-ne Polfolge N-N-S-S-N-N-S-S uumlber den Umfang Ein zweipoliger Rotor (Polpaarzahl 1) kann im Vollschrittbetrieb 4 Stellungen annehmen Der Rotor des Hybridschrittmotors be-steht aber aus axial magnetisierten Permanentmagneten deren Polpaarzahl durch axial versetzte weichmagnetische Zahnscheiben auf 50 erhoumlht wurde Dadurch erhoumlht sich die Schrittzahl auf 4 sdot 50 = 200 und der Schrittwinkel verkleinert sich auf 360deg200 = 18deg Um stabile Rotorstellungen zu erhalten muumlssen die Statorsegmente ebenfalls gezahnt ausge-fuumlhrt werden

Ein solcher Hybrid-Schrittmotor vereint die Vorteile des Reluktanz- und des permanenter-regten Schrittmotors Ein kleiner Schrittwinkel wird durch das von Reluktanzschrittmotoren bekannte Prinzip der Erzeugung einer Vielzahl von Polen des Rotors durch Zahnscheiben erzielt Ein hohes Drehmoment wird durch das von permanenterregten Schrittmotoren be-kannte Prinzip der Ausfuumlhrung des Rotors als Permanentmagnet erzielt Aufgrund der bi-filaren Wicklung besteht jede Statorwicklung aus zwei Teilspulen und der Schrittmotor kann in unipolarer (alle 6 Anschluumlsse verwendet) und bipolarer Schaltung (nur 4 An-schluumlsse verwendet gemeinsamer Anschluss der Teilspulen bleibt unverwendet) wie in Abb 12 dargestellt verwendet werden

24

Schrittmotoren erlauben nicht nur das Bewegen sondern innerhalb der Leistungsgrenzen (keine Schrittverluste) auch ein genaues Positionieren von Objekten Bei bekannter Schrittzahl auf einer gemessenen Strecke oder Schrittzahl fuumlr den Vollwinkel koumlnnen aus-gehend von einer Referenzstellung Objekte translatorisch oder rotatorisch positioniert werden

232 Schrittmotorsteuerung und Positionierungsmechanik Im Folgenden wird die bei allen RCLs mit Schrittmotoren eingesetzte Schrittmotorsteuerung die Mechanik zur translatorischen Positionierung von Objekten und die Funktionsweise eines Referenztasters beschrieben

Schrittmotorsteuerung Abb 13 zeigt das Blockschaltbild und das im Selbstbau herstellbare TMC222-Modul (rarr 4221 rarr 4222) mit dem IC TMC222 von Trinamic zur Steuerung bipolarer 2-phasiger Hybrid-Schrittmotoren

Abb 13 Blockschaltbild (links) und Platine des TMC222-Moduls (rechts) mit IC TMC 222 auf

der Loumltseite der Platine

Der IC TMC222 enthaumllt ein I2C-Interface zum Anschluss an den I2C-Bus des Mikrocon-trollers (Ports PC0 und PC1) Die 10 kΩ-Pull-up-Widerstaumlnde heben die Takt- (SCL clock) und Datenleitung (SDA data) auf ein Potential von 5 V Der IC TMC222 enthaumllt ei-nen Motortreiber fuumlr Spulenstroumlme bis zu 800 mA und einen Motor-Controller zur Steue-rung der Spulenstroumlme Ein Vorteil des TMC-Moduls ist der relativ geringe Programmier-aufwand fuumlr den Mikrocontroller (rarr 4223) da der IC TMC222 nach Uumlbergabe der Steu-erungsparameter (Drehrichtung Drehzahl hellip) vom Mikrocontroller die Ansteuerung des Schrittmotors uumlbernimmt Der IC TMC222 unterstuumltzt das Beschleunigen und Abbremsen des Schrittmotors enthaumllt einen Schrittpositionszaumlhler und unterstuumltzt Mikrostepping (va-riable Spulenstroumlme zur elektronischen Verkleinerung des Schrittwinkels und groumlszligerer Laufruhe)

25

Falls in RCLs Gleichstrommotoren mit houmlheren Drehzahlen als Schrittmotoren benoumltigt werden kann eine andere Erweiterungsschaltung (rarr 424) eingesetzt werden

Positionierungsmechanik und Referenz-Taster Die Mechanik zur rotatorischen Positionierung von Objekten kann meist kostenguumlnstig selbst oder durch Personal in einer Werkstatt angefertigt werden Abb 14 zeigt eine kos-tenguumlnstige Loumlsung zur translatorischen Positionierung von Objekten

Abb 14 Positionierungseinheit eines Flachbrett-

Scanners Schrittmotor (1) Getriebe (2) Li-nearfuumlhrung (3) Antriebsriemen (4) und er-gaumlnzter Referenz-Taster (5)

Falls der geometrische Aufbau und die geforderte Positionierungsgenauigkeit des RCLs es zulassen kann die Schrittmotor-Positionierungs-Einheit ausgedienter Flachbrett-Scanner zur translatorischen Positionierung von Objekten verwendet werden In Einzelfaumll-len wie dem RCL Weltpendel kann die Positionierungsmechanik auch selbst angefertigt werden Der Referenz-Taster in Abb 14 wird eingesetzt um abzufragen ob ein vom Schrittmotor bewegtes Objekt die Position des Tasters erreicht hat und um diese Position zu referenzieren Ohne eine solche Referenzierung kann die Positionierung eines Objekts langfristig ungenau werden So kann z B beim RCL Weltpendel das Auftreffen der Kugel auf den Magneten zum Uumlberspringen von Schrittmotorstellungen fuumlhren Der Zustand des Referenz-Tasters in Abb 15 wird z B uumlber den Port PA0 des Mikrocontrollers abgefragt

Abb 15 Referenz-Taster zum referenzieren der

Position des bewegten Objekts

26

Zu Problemen koumlnnen undefinierte Zustaumlnde der Eingaumlnge des Mikrocontrollers fuumlhren wie sie beim Prellen dem zeitlich begrenzten schwingen eines Tasters beim Oumlffnen oder Schlieszligen entstehen Abhilfe schafft ein passend dimensionierter parallel zum Taster ge-schalteter Kondensator Bei geoumlffnetem Taster ist der Kondensator aufgeladen Beim Schlieszligen haumllt der Kondensator die Spannung uumlber die Schwingphase trotz kurzzeitig wieder geoumlffnetem Schalter noch aufrecht Analoges gilt fuumlr den Uumlbergang vom geschlos-senen zum geoumlffneten Taster

3 Ferngesteuertes RCL 31 RCL-Server Fuumlr den Betrieb eines RCLs wird ein RCL-Server benoumltigt (larr 11) Vorausgesetzt wird dass bei einem neuen Computer alle notwendigen Treiber (Ethernet Video Audio hellip) zum Be-trieb der Hardware des Computers und Windows XP Professional mit Service Pack 3 instal-liert sind Ein Benutzerkonto braucht nicht angelegt zu werden

Der RCL-Server benoumltigt einen Internetzugang mit statischer IP-Adresse und Uploaddatenra-te von mindestens 200 kbits (DSL 2000) fuumlr die fluumlssige Wiedergabe von Bewegungen in Webcambildern Die statische IP-Adresse wird von der Institution am Standort des RCLs vergeben oder kann von Privatpersonen bei einem Provider beantragt werden Mit folgenden Schritten wird der RCL-Server eingerichtet

Internetzugang einrichten (rarr 451) und im Browser testen

Checken ob die Windows Firewall aktiviert ist

Virenschutzproramm Avira Antivir Personal herunterladen (larr Tab 1) installieren und ak-tualisieren

Uumlber Windows Update alle Updates von Windows XP Professional installieren

Fernwartungssoftware TeamViewer 6 Vollversion (larr Tab 1) herunterladen und auf dem RCL-Server und dem eigenen Computer installieren (rarr 455)

Webeditor Notepad++ herunterladen installieren und aktualisieren (larr Tab 1)

Videoserver WebcamXP 5 herunterladen und installieren (rarr 453)

Paket XAMPP herunterladen und installieren (rarr 452) Verknuumlpfungen mit den Dateien xampphtdocsapache_startbat und xampphtdocsapache_stopbat auf dem Desktop oder in der Schnellstartleiste erstellen und Webserver mit erstgenannter Verknuumlpfung starten Webserver durch Eingabe von 127001 oder localhost ins Adressfeld des Brow-sers testen Bei erfolgreichem Test werden die im Ordner xampphtdocs abgelegten Webseiten von XAMPP dargestellt Statische IP-Adresse des RCL-Servers im Browser eines anderen Computers mit Internetzugang eingegeben Bei erfolgreichem Test werden die Webseiten von XAMPP dargestellt In der Datei xamppphpphpini unter Resource Limits die max_execution_time mit dem Windows-Editor von 60 auf 300 erhoumlhen und die

27

Datei speichern damit PHP bei Befehlen mit laumlngerer Ausfuumlhrungsdauer keine Fehler-meldung liefert

Ordner xampphtdocs mit den Webseiten von XAMPP in xampphtdocs_xampp um-benennen und fuumlr spaumltere Testzwecke nicht loumlschen RCL-Ordner htdocs herunterladen (larr Tab 1) extrahieren und in das Verzeichnis xampp verschieben

Abb 16 zeigt die Struktur des RCL-Ordners htdocs

Abb 16 Struktur des RCL-Ordners htdocs RCL-spezifisch anzupassende Dateien sind grau

hinterlegt

Der geoumlffnete Ordner Labor enthaumllt alle PHP- und HTML-Dateien bzw Programmierungen fuumlr die Funktionalitaumlt des Bedienfelds der Laborseite (larr 11 Abb 3) An das RCL anzupas-sen sind die portalsprachenunabhaumlngigen Dateien configphp und experimentphp sowie fuumlr jede Portalsprache die Dateien defaultconf und experimenttpl in den Ordnern eng fra ger und ita

Datei configphp Zeit bis zum automatischen Logout beim Experimentieren mit dem RCL eintragen

Datei experimentphp PHP-Basisprogrammierung um die RCL-spezifische PHP-Programmierung erweitern (rarr 432)

Datei defaultconf Name des RCLs (z B Elektronenbeugung) in jeder Portalsprache ein-getragen

Datei experimenttpl HTML-Basisprogrammierung um RCL-spezifische Ein- und Ausga-befelder erweitern (rarr 433)

28

32 Laborseite 321 Steuerung des RCLs uumlber das Bedienfeld Das Bedienfeld der Laborseite (larr 11 Abb 3) wird von der Dateien indexphp und experi-menttpl erzeugt Befehle wie das Anklicken von Buttons Eingaben und Auswahl aus Listen werden in ein HTML-Formular mit Formularfeldern in der Datei experimenttpl geschrieben Die Daten werden von der PHP-Datei experimentphp ausgewertet und uumlber die serielle Schnittstelle dem Mikrocontroller-Programm zur Steuerung des Experiments uumlbergeben Die Dateien experimentphp und experimenttpl wurden getrennt angelegt um Code und Design zu trennen und nur das Design in der Datei experimenttpl an die Portalsprache anpasst werden muss

Tab 5 enthaumllt Ausschnitte der HTML-Datei experimenttpl (rarr 433) der Datei experi-mentphp (rarr 432) und des Mikrocontroller-Programms (rarr 431) fuumlr das RCL Elektronen-beugung

29

Code mit Erlaumluterung

expe

rimen

ttpl

1821 Tag ltformgtltformgt definiert ein Formular 18 Attribut action legt fest dass Formulardaten in der Datei indexphp verarbeitet werden Uumlbertragen

werden eine Session-ID ($sid) um exklusiven Zugriff des jeweilgen Besuchers zu sichern und ($portal) um die vom Besucher gewaumlhlte Sprache beizubehalten post ist eine Uumlbertragungsmethode zwischen Browser und Webserver und gibt die die vom Besucher gewaumlhlte Aktion zum Ansteuern des Experiments an die Datei experimenttpl weiter

20 Erzeugt im Bedienfeld den Sendebutton (submit) mit der Aufschrift Elektronenroumlhre einschalten (valu-e)

19 Unsichtbares Feld (hidden) mit Variablennamen action und Wert RoumlhreAn Der Variablenname ac-tion stimmt nur zufaumlllig mit action in Zeile 18 uumlberein

expe

rimen

tphp

24 Die Funktion wird als Eventhaumlndler bezeichnet weil je nach uumlbergebener Aktion - siehe Zeile 19 in experi-

menttpl - die entsprechenden Anweisungen (case) ausgefuumlhrt werden 37 Fuumlr den Fall dass die Variable $action den Wert RoumlhreAn hat wird die Funktion power_on() aufgeru-

fen

59 Schreibt in die Logdatei logtxt den Text RoumlhreAn 6061 Oumlffnet den in der Datei configphp zentral gespeicherten Com-Port an den das Interface angeschlossen ist

oder gibt Fehlermeldung Can not access file system im Bedienfeld aus falls der Com-Port sich nicht oumlff-nen laumlsst

62 Sendet die Zeichenfolge On und chr(13) (entspricht der Betaumltigung der Return-Taste im Hyperterminal) an den Mikrocontroller

63 Schlieszligt serielle Schnittstelle

Que

llcod

e M

ikro

cont

rolle

r

166 Wird uumlber die serielle Schnittstelle der Befehl on empfangen und ist das Einschalten zulaumlssig (Zeiten fuumlr

PowerOnDelay und Standby abgelaufen) dann hellip 167 Hochspannungsnetzgeraumlt einschalten 168 Der DA-Wandler PCF8591 wird unter seiner Adresse PCF8591 = 01001000 angesprochen Parameterein-

stellungen mit 01000000 und Ausgangsspannung auf 0 V einstellen 169 Setzt Standby auf vorgegebene Standbyzeit zuruumlck 171 Gibt Meldung aus wie lange PowerOnDelay noch dauert

Tab 5 Uumlbertragung des Befehls Elektronenroumlhre einschalten vom Bedienfeld zum Experi-ment

30

Anhand der Erlaumluterungen der Programmcodes koumlnnen die Ablaumlufe zwischen dem Druumlcken des Buttons Elektronenroumlhre einschalten und dem Einschalten der Elektronenbeugungs-roumlhre oder der Eingabe einer Beschleunigungsspannung und dem Anlegen einer Beschleu-nigungsspannung verfolgt werden Uumlber das Bedienfeld koumlnnen nur die von der Datei expe-rimenttpl bereitgestellten Befehle on und da der insgesamt implementierten Befehle (rarr 22 Abb 10) aufgerufen werden

322 Videouumlbertragung im Webcamfeld Zur Aufnahme von Livebildern des Experiments koumlnnen USB-Webcams und IP-Kameras (Netzwerkkameras) eingesetzt werden Teurere IP-Kameras muumlssen eingesetzt werden wenn die Kamera wie z B beim RCL Roboter im Labyrinth zu weit vom Computer entfernt ist oder eine besonders lichtempfindliche Kamera aus der Uumlberwachungstechnik wie z B beim RCL Millikan-Versuch benoumltigt wird W-LAN-Kameras kommen zum Einsatz wenn Bil-der von einem beweglichen Objekt aus wie z B beim RCL Roboter im Labyrinth uumlbertra-gen werden sollen

Das Videoserverprogramm webcamXP 5 erkennt beim Aufrufen automatisch an den RCL-Server angeschlossenen USB-Webcams Vor dem Kauf einer IP-Kamera ist zu pruumlfen ob das Modell unterstuumltzt wird14 IP-Kameras muumlssen im Kontextmenuuml der Videoquelle konfigu-riert werden Abb 17 zeigt das Webcambild einer USB-Webcam vom Szintillationsschirm der Elektronenbeugungsroumlhre

Abb 17 Webcambild des Szintillationsschirms der Elektro-

nenbeugungsroumlhre einer USB-Webcam in webcamXP 5 beim RCL Elektronenbeugung

14 Vgl Moonware Studios webcamXP IP-cameras for webcamXP

31

Zum Einbinden des Webcambilds in die Laborseite des RCLs wird die laborsprachenabhaumln-gige Datei videohtm (rarr 434) in den Ordnern eng fra ger und ita verwendet Standardmauml-szligig werden zwei Webcambilder und Screenshots unterstuumltzt der Code fuumlr weitere Webcam-bilder kann durch copy and paste hinzugefuumlgt werden

Unter den Technologien Java Javaskript Flash und Windows Media fuumlr die Wiedergabe ei-nes Livestreams auf eine Webseite wurde Javaskript gewaumlhlt weil die anderen Technologien die Installation des Java Runtime Environments (JRE) des Flash- oder Windows Media Players durch den Besucher eines RCLs voraussetzen Die Wiedergabe des Livestreams mit einem Java-Applet startet zudem erst verzoumlgert nachdem das Applet geladen ist und verfuumlgt uumlber eine zu geringe Wiedergabegeschwindigkeit

33 Standard-Lernumgebung Bestandteil der Entwicklung eines RCLs ist die Erstellung einer Standard-Lernumgebung zum RCL Abb 18 zeigt exemplarisch fuumlr die deutschen Webseiten im Ordner ger das Menuuml (larr 11 Abb 3) und die Dateistruktur der Standard-Lernumgebung

Abb 18 Deutschsprachiges Menuuml und Dateistruktur der Standard-Lernumgebung

RCL-spezifisch anzupassende Dateien sind grau hinterlegt

Die englischen Dateinamen introductionhtm setuphtm hellip im Ordner ger korrespondieren mit den deutschen Menuumlpunkten Wird das RCL unter dem Menuumlpunkt RCLs des RCL-Portals aufgerufen dann ruft die Frameset-Datei indexhtm die Dateien menuumlhtm und intro-ductionhtm auf und das Menuuml wird zusammen mit der Webseite Einstieg dargestellt Die Wahl weiterer Menuumlpunkte ruft jeweils die korrespondiere Datei im Ordner auf Bei Wahl des Menuumlpunkts Labor werden mit der Frameset-Datei laboratoryhtm die Dateien videohtm fuumlr das Webcamfeld und die Datei laborindexphp fuumlr das Bedienfeld aufgerufen

32

Im Ordner docsmaterial werden alle Dokumente fuumlr die Webseite Material im Ordner docsothers die Dokumente anderer Webseiten abgelegt Im Ordner docsoriginals sind die Originale von Dokumenten wie z B Word-Dateien und der verwendeten Bilder abgelegt Grafikdateien der Webseiten Einstieg hellip Auswertung hellip Betreuung werden in gleichnami-gen Ordnern wie z B imagesanalysis abgelegt Bei sprachenunabhaumlngigen Grafikdateien wird unter dem Dateinamen abbx bei sprachenabhaumlngigen unter dem Dateinamen abbx_lan mit lan = eng fra ger und ita gespeichert Analoges gilt fuumlr die als gif-Grafiken forxgif oder forx_langif zu speichernden Formeln Originale von Bildern werden im Ordner imagesoriginals abgelegt Die Webseite zur Datei htdocsindexhtm enthaumllt zum lokalen Aufrufen der Standard-Lernumgebung Links zu den vier Index-Dateien in den Ordnern eng fra ger und ita Die Stylesheet-Datei htdocsrcl_stylecss enthaumllt die Styles der Webseiten

In der Regel werden Standard-Lernumgebungen der RCLs des RCL-Portals von verschiede-nen Personen erstellt Fehlende Gestaltungs- und Formatierungsregeln fuumlhren zu einem un-einheitlichen inattraktivem Erscheinungsbild des RCL-Portals Tab 6 gibt einen Uumlberblick der wichtigsten Gestaltungs- und Formatierungsregeln

Element Richtlinien

Gliederung

Die Webseiten Einstieg Aufbau Aufgaben Diskussion Material und Support enthalten vorgegebene Gliederungspunkte teilweise mit ausgefuumlhrten Uumlberschriften

Die umfangreicheren Webseiten Theorie und Auswertung enthalten ein Inhaltsverzeichnis mit internen Links zu Gliederungspunkten Zwischen Punkten der ersten Gliederungsebene (1 2 hellip) ist ein zwei-zeiliger Abstand (ltpgtampnbspltpgtltpgtampnbspltpgt) zwischen Punkten der zweiten (11 12 hellip) und Punkten der nur falls unbedingt notwendig dritten 111 112 hellip) Gliederungsebene ein einzeiliger Abstand zu waumlhlen Nach Abbildungen und Tabellen folgt ein einzeiliger Abstand zum nachfolgenden Text

Links Keine internen Links zwischen den Webseiten der Lernumgebung Externe Links werden prinzipiell in einem neuen Browserfenster geoumlffnet (blank)

Abbildung

Alle Abbildungen erhalten fortlaufend beginnend mit 1 nummerierte Abbildungsunterschriften der Form Abb x hellip

Abbildungen sind moumlglichst spachenunabhaumlngig d h ohne Texte in der Abbildung zu erstellen Zur Beschriftung koumlnnen z B Zahlen verwendet werden die in der Abbildungsunterschrift oder im Text er-laumlutert werden

Tabellen Tabellen werden in jeder Webseite fortlaufend beginnend mit 1 nummeriert Tabellen sind zu zentrieren Rahmenstaumlrke 1

Formeln

Formeln sind nicht als Textzeichen oder Grafik im laufenden Text einzufuumlgen sondern stets zentriert in einer eigenen Zeile als gif-Grafik

Zum Erstellen der Formel-Grafiken eignet sich z B der Formel-Editor MathType15 mit der Aufloumlsungs-Einstellung 120 dpi fuumlr InternetGif

Formeln brauchen im Rahmen des begrenzten Umfangs der Webseiten nicht nummeriert zu werden Groumlszligen-symbole

Griechische Groumlszligensymbole und mathematische Symbole sind nicht als Grafiken im laufenden Text sondern als HTML-Code einzufuumlgen Eine Zeichenreferenz findet sich bei Selfhtml16

Styles Zur Formatierung der Webseiten werden aus der Stylesheet-Datei nur die drei Styles Uumlberschrift fuumlr

die Uumlberschriften Bildunterschrift fuumlr Abbildungs- und Tabellenunterschriften und Tabellentext fuumlr Tex-te in Tabellen benoumltigt

Tab 6 Richtlinien zur Gestaltung und Formatierung der Standard-Lernumgebung

Detailliertere Informationen zum Layout der Standard-Lernumgebung koumlnnen dem RCL-Ordner und dem Erscheinungsbild der Webseiten von RCLs in Browsern entnommen wer-den

15 Vgl Design Science MathType 16 Vgl Selfhtml HTML-Zeichreferenz

33

4 ANHANG

34

41 Interface in Basisschaltung 411 Schaltplan und Bauteilliste Abb 19 zeigt den Schaltplan der Basisschaltung des Interface und Tab 7 die dazugehoumlrige Bauteilliste

Abb 19 Basisschaltung des Interface

Nr Anzahl Kurzbeschreibung des Bauteils Best-Nr bei Reichelt electronic

Einzelpreis in euro

0 1 Epoxyd-Platine (190x112 mm) mit Anteil Loumltpunktraster (Spezi-

alanfertigung) - asymp 10

1 1

Epoxyd-Fotoplatine einseitig 160x100 mm 15 mm 35 microm Epoxyd-Lochrasterplatine 160x100 mm 15 mm 35 microm

BEL 160x100-1 UP 832EP

170 420

1 1 Hohlstecker-Einbaubuchse gewinkelt Loumltfahnen 21 mm HEBW 21 018 2 1 D-SUB-Stecker 9-polig gewinkelt RM 94 D-SUB ST 09EU 029 3 1 Schottky Diode DO41 40 V 1 A SB 140 008 4 1 Draht von abgeschnittenem Beinchen aus Pos-Nr 3 - - 5 1 IC-Sockel 16-polig superflach gedreht vergoldet GS 16P 029 6 1 IC-Sockel 40-polig superflach gedreht vergoldet GS 40P 061 7 1 2x10-pol-Stiftleiste gerade RM 254 SL 2X10G 254 007 8 1 Metallschichtwiderstand 100 kΩ Metall 100k 0082 9 1 Elektrolytkondensator 10x16 mm 470 microF RM 50 mm RAD 47025 006 10 1 Elektrolytkondensator 63x11 mm 100 microF RM 25 mm RAD 10016 004 11 5 Elektrolytkondensator 5x11 mm 10 microF RM 20 mm RAD 1035 004 12 2 Keramik-Kondensator 33 pF Kerko 33p 006 13 3 Vielschicht-Keramikkondensator 100 nF 20 Z5U-25 100n 004

35

14 1 Standardquarz Grundton 110592 MHz 110592-HC49U-S 018 15 1 Spannungsregler 1 A positiv TO-220 microA 7805 028 16 1 Kuumlhlkoumlrper fuumlr Gehaumluse TO-220 99KW V FI356 066 17 1 Zylinderkopfschraube Schlitz M3 10 mm fuumlr Kuumlhlkoumlrper M3x10mm 160 18 2 Sechskantmutter M3 fuumlr Kuumlhlkoumlrper SK M3 001 19 1 Stecker-Schaltnetzteil 12 V 2250 mA MW 3IP25GS 1150 20 1 RS232-Driver DIL-16 MAX 232 CPE 041 21 1 ATmega AVR-RISC-Controller DIL-40 ATmega16-16 DIP 420 22 3 10-poliger Wannenstecker RM 254 stehend (optional) WSL 10G 009 23 1 14-poliger Wannenstecker RM 254 stehend (optional) WSL 14G 014 24 1 40-polige Stiftleiste 1-reihig gerade RM254 (optional) SL 1x40G 254 023 25 1 Kunststoffgehaumluse 1982x1124x760 mm (Serientyp 202) - asymp 10 euro 26 1 D-SUB Nullmodem-Kabel 9-pol BUBU 3 m AK 143 155 27 x DIN-Einbaubuchse 5-pol Schraubver 360deg (optional) DIO-50W EMS 185 28 x DIN-Einbaubuchse 8-polig Schraubversch 270deg (optional) DIO-80SN EMS 180 29 x Pfostenstecker 10-polig mit Verrieglung gew (optional) PSL 10W 028 30 x Klemmleiste RM 254 Oumlffnungshebel 8-polig (optional) Wago 233 220

Tab 7 Bauteilliste mit Bestellnummer und Einzelpreisen der Bauelemente bei Reichelt electronic (Stand 23102010)

Anhand der Bauteilliste in koumlnnen die elektronischen Bauelemente der Basisschaltung (larr Tab 7 Nr 0 ndash 21 optional Nr 22 - 24) bei Reichelt electronic bestellt werden Das Gehaumluse des Interface (larr Tab 7 Nr 25) sollte vom Hersteller HAGOTECH GmbH bezogen werden Weiterhin wird ein Nullmodemkabel (larr Tab 7 Nr 26) zur Verbindung des Interface mit dem Computer benoumltigt Sensoren und Aktoren des Experiments koumlnnen mit optionalen Steck-verbindern (larr Tab 7 Nr 27 - 30) und entsprechende Kabelverbindungen an das Interface angeschlossen werden Die Nummern 0 - 25 stimmen mit der angegebenen Bestuumlckungs-reihenfolge auf der Platine uumlberein Das Interface kostet in der Basisschaltung ca 50 euro

412 Bestuumlckung der Platine Abb 20 zeigt zur Bestuumlckung der Platine benoumltigte Werkzeuge

Abb 20 Werkzeuge zur Bestuumlckung der Platine des Interface

36

Loumltkolben mit feiner Spitze in Meisselform 2 mm oder Loumltstation (1) Loumltzinnabsauger zum Entfernen von Loumltzinn (2) Nasser Schwamm zum Reinigen der Spitze des Loumltkolbens (3) Loumltzinn mit Durchmesser 08 - 10 mm (4) Flachspitzzange zum Biegen von Anschluumlssen der Bauelemente (5) Seitenschneider zum Kuumlrzen der Beinchen von Bauelementen (6) Multimeter zum Pruumlfen der Funktionsfaumlhigkeit der Schaltung (7) Sekundenkleber zur Befestigung von Bauelementen Kleine Bohrmaschine z B von Dremel und 08 mm Bohrer oder duumlnne Rundfeile zum

Weiten von Loumlchern auf der Platine des Interface

Abb 21 zeigt die Platine des Interface von der Loumltseite in der Spezialanfertigung der Elekt-ronik-Werkstatt an der Technischen Universitaumlt Kaiserslautern und in der Selbstbauvariante (larr Tab 7 Nr 0) Abb 22 zeigt das Platinenlayout

Abb 21 Platine des Interface von der Loumltseite als Spezialanfertigung (links) und der Selbstbauvariante

(rechts)

Abb 22 Layout zur Herstellung des geaumltzten Teils der

Platine in der Selbstbauvariante

37

In der Selbstbauvariante kann anhand des Platinenlayouts eine selbst geaumltzte Platine fuumlr die Basisschaltung auf einer Platine im Europakartenformat hergestellt und diese in der Laumlnge gekuumlrzt werden Eine gekuumlrzte Lochrasterplatine bildet den zweiten Teil der Platine Mit den optionalen vier Wannensteckern (larr Tab 7 Nr 22 - 23) oder den vier Stiftleisten (larr Tab 7 Nr 24) an den Ports des Mikrocontrollers koumlnnen leicht elektrische Verbindungen zum Rasterteil der Platine herstellt werden Abb 23 zeigt die fertig bestuumlckte Platine mit den Nummern aus Tab 7

Abb 23 Bestuumlckte Platine des Interface mit nummerierten Bauelementen

Tab 8 beschreibt das Einloumlten der elektronischen Bauelemente anhand der Nummern aus Tab 7 und in der angegebenen Reihenfolge

Nr Bauelement Beschreibung des Einbaus

0 Spezialanfertigung und Selbst-bauvariante der Epoxydharz-

Platine

1

Stromversorgungsbuchse ndash Hohlstecker 21 mm

Wenn die Loumltbeine nicht durch die Loumlcher der Platine passen die Loumlcher mit einer runden Schluumlsselfeile aufweiten

Stromversorgungsbuchse mit Sekundenkleber vor dem Festloumlten auf der Pla-tine fixieren da diese mechanischen Belastungen durch das Einstecken und Herausziehen des 12 V -Steckers ausgesetzt ist

Wahlweise kann die 25 mm-Version der Buchse verwendet werden

2

RS232 Datenstecker

RS232 Datenstecker mit Sekundenkleber vor dem Festloumlten auf der Platine fixieren da dieser mechanischen Belastungen durch das Einstecken und Herausziehen des Null-Modem-Kabels ausgesetzt ist

Alle Beinchen und Befestigungsstifte zur houmlheren Stabilitaumlt anloumlten

3

Ein Ring an einer Seite der Diode (hier links weiszlig) zeigt die Durchlass- bzw Sperrrichtung der Diode an Die Position des Ringes entspricht der Position des Balkens im Schaltungssymbol

38

Diode ndash SB140 Auf der Platine muss der Ring auf der von der Stromversorgungsbuchse ab-

gewandten Seite liegen

4 Drahtbruumlcke

Vor dem Einloumlten des 40-poligen IC-Sockels (Nr 5) muss eine Drahtbruumlcke unter diesem eingeloumltet werden Dazu koumlnnen die abgeschnittenen Beinchen der bereits eingeloumlteten Diode (Nr 3) verwendet werden

5 6

IC-Fassungen

Die 16-polige und 40-polige IC-Fassungen besitzen eventuell eine Markie-rung fuumlr Pin1 (z B Kerbe in der Stirnseite Punkt Pfeilhellip) als Hilfe fuumlr das richtige Einstecken der ICs Die Markierungen muumlssen bei beiden Fassungen nach oben also zum naumlchstliegenden Rand der Platine zeigen

Die ICs unbedingt noch nicht einstecken

7

ISP-Stiftleiste

Die doppelreihige ISP-Stiftleiste dient der Programmierung des Mikrocontrol-lers mit dem AVR-ISP-Programmer (ISP steht fuumlr In System Programming)

ISP-Stiftleiste auf 2 x 5 Stifte kuumlrzen und mit den kurzen Beinchen einloumlten so dass auf die langen Stifte der AVR-ISP-Programmer gesteckt werden kann

8

Widerstand 100 kΩ

Den 100 kΩ-Widerstand rechts neben der ISP-Stiftleiste einloumlten

9

10

11

Elkos

Bei den verwendeten Elektrolyt-Kondensatoren ist die Polung zu beachten (langes Beinchen = Plus-Pol) Weiterhin ist auf den Kondensatoren ein wei-szliger Streifen mit Minus-Zeichen aufgedruckt Die Kondensatoren sollten eine Spannungsfestigkeit von mindestens 16 V besser 25V besitzen

Auf der Kupferseite der Platine zeigt die Form der Loumltaugen die Polung an Rundes Loumltauge = Plus quadratisches Loumltauge = Minus

Der 470 microF Kondensator wird mit dem weiszligen Streifen in Richtung Stromver-sorgungsbuchse direkt unter diese montiert

Der 100 microF Kondensator sitzt direkt unter der 16-poligen IC-Fassung Sein weiszliger Streifen (Minus-Pol) zeigt in Richtung der Stromversorgungsbuchse

Vier der 10 microF Kondensatoren werden links neben der 16-poligen IC-Fassung montiert Deren Polung ist wie folgt Unterster Kondensator Minus nach oben naumlchster Kondensator Minus nach unten die beiden oberen Kondensatoren mit Minus nach oben

Ein weiterer 10 microF Kondensator wird rechts neben die 16-polige IC-Fassung geloumltet Sein Minus-Streifen zeigt nach unten

12

13

Keramik-Kondensatoren

Die Beschriftung 104 bedeutet 10e4 pF = 100 nF Die beiden 33 pF-Kerkos (Keramik-Kondensatoren) werden direkt nebenei-

nander rechts neben die 16-polige IC-Fassung geloumltet Zwei 100 nF-Kondensatoren werden unter dem 470 microF-Elko eingeloumltet ein

weiterer mittig an der linken Seite der 40-poligen IC-Fassung

14

Quarz

Als Quarz wird ein 110592 MHz-Typ verwendet Bei dieser Frequenz ist eine fehlerfreie Kommunikation uumlber RS232 mit 9600 Baud moumlglich Fuumlr den AT-mega16 koumlnnen Quarze bis 16 MHz eingesetzt werden Details siehe Daten-blatt

Der Quarz wird direkt rechts neben die beiden 33 pF-Kerkos geloumltet Die Ori-entierung des Quarz spielt keine Rolle

15

16

17

18

Der Spannungsregler L7805 erzeugt eine stabilisierte Spannung von 5 V Es muss ein Kuumlhlkoumlrper zur Waumlrmeabfuhr vom Spannungsregler verwendet werden

Vor dem Einloumlten zwischen Spannungsregler und Kuumlhlkoumlrper etwas Waumlrme-leitpaste aufgetragen Beide Bauteile fest mit einer Schraube M3x10 und ei-ner 1 Mutter verschrauben

Dann den Spannungsregler einloumlten um 90deg abzubiegen das uumlberstehende Gewinde durch das vorgesehene Loch stecken und alles mit einer 2 Mutter auf der Platine befestigen

1 Mutter

2 Mutter

Schr

aube

L7805

Platine

KuumlhlkoumlrperWaumlrmeleitpaste

Beinchen

Loumlten

39

Spannungsregler L7805 Kuumlhl-koumlrper und Montage

19

Steckernetzteil

Funktionskontrolle vor dem Einsetzen des Mikrocontrollers Polung der Elektrolyt-Kondensatoren (Elkos) pruumlfen Sind alle Beinchen angeloumltet Hat das Loumltzinn an den Beinchen und der Pla-

tine guten Kontakt Sind eventuell zwei benachbarte Beinchen unbeabsichtigt durch Loumltzinn verbunden Alle Loumltverbindungen nochmals genau z B mit ei-ner Lupe pruumlfen

Probeweise das Stecker-Netzteil an die Buchse anschlieszligen Am 100 nF-Kondensator links mittig der 40-poligen IC-Fassung muumlssen 5 V anliegen

Versorgungsspannung unbedingt wieder von der Platine trennen

20

21

ICs MAX232 und ATmega16

Die Nuten auf den ICs am linken Rand muumlssen nach oben zeigen d h Pin1 ist bei beiden ICs in der Abbildung links unten und auf der Platine oben links

Manchmal passen die Beinchen der ICs nicht in die Fassung weil die Fas-sung scheinbar zu schmal ist Dann den IC seitlich mit einer Beinchen-Reihe flach auf den Tisch legen den IC-Koumlrper links und rechts greifen und Bein-chen durch leichten Druck biegen Einzelne verbogene Beinchen vorsichtig mit einer kleinen Flachzange richten

22

23

Wannenstecker 10- und 14-polig

Wannenstecker an den vorgesehe-nen Stellen mit der Nut gegen Ver-polung in Richtung des naumlherliegen-den Platinenrands einloumlten

Die Abbildung rechts zeigt die Pin-Belegung der Wannenstecker

24

Stiftleiste 8-polig 40-pol Stiftleiste in 4 jeweils 8-polige Stuumlcke zerteilen und einloumlten

25

Kunststoffgehaumluse

In der Selbstbauvariante der Platine (Nr 0) vor dem Einsetzten der Platine in das Gehaumluse passend positionierte Kunststoffstege am Gehaumluseboden fest-kleben

Tab 8 Bestuumlckung der Platine des Interface mit Bauelementen

42 Erweiterungsschaltungen 421 Uumlbersicht In Tab 3 sind von RCLs des RCL-Portals Sensoren und Aktoren mit den dazugehoumlrigen Er-weiterungsschaltungen zusammengestellt Da alle RCLs obligatorisch uumlber mindestens eine Webcam verfuumlgen sind diese unter den Sensoren nicht aufgefuumlhrt Die wenigen Erweite-rungsschaltungen fuumlr Sensoren sind unter Sensoren in Klammern aufgelistet Unter Aktoren werden auszliger elektro-mechanischen Wandlern auch gesteuerte Geraumlte oder Bauelemente verstanden Anzeigeinstrumente sind unter Aktoren nur aufgefuumlhrt wenn sie direkt vom In-terface gesteuert werden Mit gekennzeichnete Erweiterungsschaltungen befinden sich au-szligerhalb des Interface

40

RCL Sensoren Aktoren Erweiterungsschaltungen fuumlr Aktoren

Beugung und Interferenz I Referenz-Taster

Schrittmotor (Rotation) Schrittmotorsteuerung Laser-Modul Geschaltete Spannungsversorgung

Beugung und Interferenz II

4 Referenz-Taster Lichtsensor

4 Schrittmotoren (Translation) 4 Schrittmotorsteuerungen 5 Laser-Module Geschaltete Spannungsversorgung LED fuumlr Position des

Lichtsensors Geschaltete Spannungsversorgung

LED fuumlr Linealbeleuchtung Geschaltete Spannungsversorgung

Elektronen-beugung

Hochspannungsnetzgeraumlt Geschaltete Spannungsversorgung Hochspannungsnetzgeraumlt Steuerung der Hochspannung

Fotoeffekt 2 Referenz-Taster Photozelle

2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen

Quecksilberdampflampe Geschaltete Spannungsversorgung

der Drossel fuumlr Quecksilberdampf-lampe

Halbleiter-kennlinien

und Halbleiterkennli-nien - Schuumller-

projekt

Referenz-Taster

Schrittmotor (Rotation) Schrittmotorsteuerung Oszilloskop Geschaltete Spannungsversorgung

Oszilloskop Instrumentenverstaumlrker fuumlr X- und Y-Ablenkung

Multimeter Steuerung Spannungs- oder Strom-anzeige

Heiszliger Draht 4 Endtaster 4 Drehgeber Kurzschlusssensor

4 Gleichstrommotoren 4 Treiber

Zweifarbige LED Steuerung der LED-Farbe

Lichtgeschwin-digkeit

Drehimpulsgeber 2 Taster an Enden

der Eisenbahnstre-cke

2 Schrittmotoren 2 Schrittmotorsteuerungen Oszilloskop Geschaltete Spannungsversorgung

Motor der Lokomotive Steuerung des Ein- und Ausschal-tens und der Bewegungsrichtung

Maut Infrarot-Sensor Gleichstrommotor Geschaltete Spannungsquelle 2 IR-Fernbedienungen Spannungsregler 2-stellige 7-Segmentanzeige LED-Treiber

Millikan-Versuch 2 Referenz-Taster

2 Schrittmotoren 2 Schrittmotorsteuerungen Lichtquelle (LED) fuumlr Millikan-

Kondensator Geschaltete Spannungsversorgung

Airbrush-Kompressor Geschaltete Spannungsversorgung Magnetventil Geschaltete Spannungsversorgung Millikan-Kondensator Gesteuertes Hochspannungsmodul

Optische Com-putertomogra-

phie

2 Referenz-Taster 2 Lichtsensoren

Schrittmotor (Rotation) Schrittmotorsteuerung Schrittmotor (Translation) Schrittmotorsteuerung

2 Laser-Module 2 geschaltete Spannungsversor-gungen

Optische Fou-rier-

Transformation 2 Referenz-Taster

2 Schrittmotoren (Translation) 2 Schrittmotorsteuerungen

Laser-Modul Geschaltete Spannungsversorgung

Oszilloskop Oszilloskop Geschaltete Spannungsversorgung Signalgenerator Steuerung der Signalart

Radioaktivitaumlt 4 Referenz-Taster Geiger-Muumlller-

Zaumlhlrohr

2 Schrittmotoren (Translation) 2 Schrittmotorsteuerungen 2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen 4-stellige 7-Segment-Anzeige Treiber Elektromagnet Geschaltete Spannungsversorgung

Roboter im Labyrinth Infrarot-Sensor

2 Schrittmotoren 2 Schrittmotorsteuerung Infrarot-Sender Treiber

Rutherfordscher Streuversuch

2 Referenz-Taster Halbleiterdetektor

(Impulsformer)

2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen

4-stellige 7-Segment-Anzeige Treiber

Weltpendel

Referenz-Taster Lichtsensor der

Lichtschranke (Im-pulsformer)

Temperatursensor

Schrittmotor (Translation) Schrittmotorsteuerung Elektromagnet Geschaltete Spannungsversorgung

Laser der Lichtschranke Geschaltete Spannungsversorgung

Windkanal Referenz-Taster Schrittmotor (Translation) Schrittmotorsteuerung

41

Dehnungsmess-streifen (Wheat-stonesche Bruumlcke Messverstaumlrker Multimeter)

Geblaumlsemotor Geschaltete Spannungsversorgung

und Ansteuerung mit Pulsweiten-modulation

Anemometer Geschaltete Spannungsversorgung Multimeter Geschaltete Spannungsversorgung

Tab 9 Sensoren Aktoren und Erweiterungsschaltungen der RCLs des RCL-Portals

422 TMC222-Modul zur Schrittmotorsteuerung 4221 Schaltplan und Bauteilliste Abb 1 zeigt die Beschaltung des TMC222 von Trinamic auf dem TMC222-Modul

Abb 24 Beschaltung des TMC222 von Trinamic

Anhand der Bauteilliste in Tab 10 koumlnnen die elektronischen Bauelemente des TMC222-Moduls bei Reichelt electronic bestellt werden Ein TMC222-Modul kostet ungefaumlhr 10 euro

Nr Anzahl Kurzbeschreibung des Bauteils Best-Nr bei Reichelt electronic

Einzelpreis in euro

0 1 Epoxyd-Fotoplatine einseitig 75x100 mm 15 mm 35 microm BEL75X100-1 096 1 1 Integrierter TMC-Schrittmotor-Controller TMC 222 SI asymp 7 2 1 Elektrolytkondensator 8x11 mm Rm 35 mm 100 microF35 V RAD 10035 004 3 1 Tantal-Kondensator Rm 25 10 microF35 V Tantal 1035 014 4 2 Vielschicht-Keramikkondensator 220 nF 20 Z5U-25 220N 011 5 3 Vielschicht-Keramikkondensator 100 nF 20 Z5U-25 100N 004 6 2 Metallschichtwiderstand 100 kΩ Metall 100K 0082 7 1 1x36pol Stiftleiste gewinkelt Rm 254 SL 1X36W 027 8 1 1x36pol Buchsenleiste gerade Rm 254 BL 1X36G 025

Tab 10 Bauteilliste mit Bestellnummer und Einzelpreisen der Bauelemente bei Reichelt electronic (Stand 23102010)

4222 Bestuumlckung der Platine

42

Abb 25 zeigt die fertig bestuumlckte Platine mit den Nummern aus Tab 10

Abb 25 Bestuumlckte Platine des TMC222-Moduls

mit nummerierten Bauelementen

Die Platine (35 mm x 30 mm) kann anhand des Layouts in Abb 26 hergestellt werden Der IC TMC222 wird auf der Loumltseite der Platine aufgeloumltet Das TMC222-Modul kann mit der Stiftleiste (larr Tab 10 Nr 7) in eine Buchsenleiste (larr Tab 10 Nr 8) auf die Platine des In-terface gesteckt werden

Abb 26 Platine des TMC222-Moduls von der Loumltseite (links) und Layout

4223 Quellcode des Mikrocontroller-Programms Im Folgenden ist ein mit Bascom (larr 12 Tab 1 Entwicklungsumgebungen) erstelltes Bei-spiel-Programm zur Ansteuerung des Schrittmotormoduls TMC222 durch den Mikrocontroller ATmega16 angegeben $regfile = m16DEFdat $crystal = 11059200 $baud = 9600 Definitionen Config Scl = Portc0 Taktleitung Config Sda = Portc1 Datenleitung Const Adress = ampB11000000 I2C Adresse des TMC222 Const GetFullstatus1 = ampB10000001 Kommando des TMC222 Const Resetpos = ampB10000110 Kommando des TMC222 Const Motorparameter = ampB10001001 Kommando des TMC222 Const Setposition = ampB10001011 Dim Puffer(10) As Byte

43

Programm I2csend Adress GetFullstatus1 GetFullstatus1 (Initialisierung des TMC222) I2creceive Adress 7 Ack Daten in Puffer auslesen Puffer(1) = Motorparameter puffer auffuumlllen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB11110011 1111irun 0011ihold Puffer(5) = ampB01110001 0111vmax 0001vmin Puffer(6) = ampB00010000 000securepos(bit10-8) 1shaft 0000acceleration Puffer(7) = 0 securepos(bit7-0) Puffer(8) = ampB00001100 000nicht belegt 0accshape 11stepmode 00nicht belegt I2csend Adress Puffer(1) 8 I2csend Adress Resetpos aktuelle Position auf 0 setzen Puffer(1) = Setposition Motor bewegen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB01111111 position(bit 15-8) Puffer(5) = ampB11111111 position(bit 7-0)acute I2csend Adress Puffer(1) 5 End

423 Geschaltete Spannungsquellen und Verbraucher Die Ausgaumlnge des Mikrocontrollers duumlrfen nur mit Stroumlmen kleiner als ungefaumlhr 20 mA belas-tet werden Verbraucher mit einer Stromlast groumlszliger als 20 mA koumlnnen daher nicht direkt an den Mikrocontroller angeschlossen werden Abb 27 zeigt links eine Schaltung zum Schalten eines Verbrauchers wie z B des Relais und rechts eine Schaltung mit dem IC ULN2803A zum Schalten mehrerer Verbraucher wie z B Gluumlhlampen

Abb 27 Erweiterungsschaltungen zum Schalten eines (links) oder

mehrerer Verbraucher (rechts)

Zu beachten ist dass der Transistor BC337 maximal 800 mA schalten kann und fuumlr groumlszligere Stroumlme andere Transistoren verwendet werden muumlssen

424 Steuerung von Gleichstrommotoren

44

Sollen Gleichstrommotoren zum Bewegen von Objekten mit dem Mikrocontroller gesteuert werden dann eignet sich dazu der in Abb 28 dargestellte beschaltete IC L293D

Abb 28 Beschaltung des L293D zum

Steuern zweier Gleichstrom-motoren

Mit Pin 1 = Pin 9 = 1 (High) koumlnnen zwei Gleichstrommotoren M1 und M2 (Versorgungs-spannung UM lt 36 V Spulendauerstrom IM lt 600 mA) unabhaumlngig voneinander ein- und ausgeschaltet sowie in der Drehrichtung uumlber die Ports PA0 und PA1 fuumlr M1 und PA2 und PA3 fuumlr M2 gesteuert werden Z B gilt mit PA0 = PA1 = 0 (M1 ausgeschaltet) PA0 = 1 und PA1 = 0 (M1 dreht sich) PA0 = 0 und PA1 = 1 (M1 dreht sich in Gegenrichtung)

45

43 Quellcodes zum RCL Elektronenbeugung 431 Mikrocontroller-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

46

47

48

49

432 PHP-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

50

51

433 Bedienfeld der Laborseite

Tab 11 erlaumlutert die Funktion der Bloumlcke im Quellcode

Zeilen Funktion 1 Datei defaultconf einbinden 2 Datei headtpl einbinden

5 - 11 Ausgabe der verbleibenden Experimentierzeit 18 - 21 Button zum Einschalten der Elektronenbeugungsroumlhre 28 - 30 Eingabefeld fuumlr die Beschleunigungsspannung

37 Ruumlckmeldung zur eingegebenen Beschleunigungsspannung 42 Datei foottpl einbinden

Tab 11 Funktion der Programmbloumlcke in der Datei experi-menttpl

52

434 Webcamfeld der Laborseite

In Tab 12 ist die Funktion der Programmbloumlcke und die Anpassungen der Vorlage an das RCL Elektronenbeugung beschrieben

Zeilen Funktion Anpassung RCL Elektronenbeugung

5 Titelangabe erscheint als Tabulatorbeschriftung in Browsern

Name des RCLs eintragen

11 - 15 16 - 20

Zwei Javascripts zum getrennten Aufrufen zweier Po-pup-Fenster mit dargestelltem Webcambildern 1 und 2

Javascript 1 die IP-Adresse eintragen Javascript 2 auskommentiert weil nicht benoumltigt

24 - 40 42 - 60

Zwei Javascripts zum Aktualisieren der Webcambilder 1 und 2

Javascript 2 auskommentiert weil nicht benoumltigt

67 - 71 79 - 83

Aufrufen des ersten Webcambilds der Webcams 1 und 2 beim Aufrufen der Datei

Webcambild 2 auskommentiert weil nicht benoumltigt

72 - 78 84 - 90

Buttons zum Aufrufen der Screenshots der Webcam-bilder 1 und 2

Button 2 auskommentiert weil nicht benoumltigt

91 - 95 Zeile der Tabelle zum Eintragen von Informationen die sich auf die Webcambilder oder den Versuch beziehen

Text in Zeile der Tabelle geschrieben

Tab 12 Funktionen der Codeabschnitte in der Datei videohtm und Anpassung der Vor-lage an das RCL Elektronenbeugung

53

44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung Im Folgenden wird die Installation und Konfiguration des AVR-Studios 418 und der Bascom 11198 Demoversion beschrieben Alle Anleitungen sind zeilenweise von links nach rechts zu lesen

441 AVR-Studio 418 4411 Installation Auf der Webseite von ATMEL Register AVR Studio 418 (build 684) anklicken und Registrie-rungsformular ausfuumlllen Danach die Datei AvrStudio418Setup herunterladen Durch Dop-pelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen Next waumlhlen

I accept hellip und Next waumlhlen Installationsordner und Next waumlhlen

54

Installupgrade hellip und Next waumlhlen Install waumlhlen Die Installation beginnt

Finish waumlhlen

4412 Konfiguration AVR Studio 418 in Windows XP Professional unter StartProgramme aufrufen

Startfenster mit Cancel schlieszligen Unter ToolsProgram AVR Auto Connect waumlhlen

55

Im eingeblendeten Fenster auf der Registerkarte Main als Device ATmega16 und als Programming Mode ISP mo-de waumlhlen

Optional kann Signatur gelesen werden

In der Registerkarte Fuses alle Haumlkchen und Auswahlfel-der wie angegeben waumlhlen

Dann Program waumlhlen

442 BASCOM 11198 Demoversion 4421 Installation Auf der Webseite von Bascom unter Bascom AVR Demo die Zip-Datei setupdemoexe her-untergeladen Durch Doppelklick auf den Dateinamen die Installation starten

Next waumlhlen I accept the agreement und Next waumlhlen

56

Next waumlhlen Installationsordner eingeben und Next waumlhlen

Eintrag im Start-Menuuml eingeben und Next waumlhlen Next waumlhlen

Yes restart the computer now und Finish waumlhlen

57

4422 Konfiguration Bascom AVR in Windows XP Professional unter StartProgramme zum Einstellen der Para-meter des Mikrocontrollers und des Terminals aufrufen

OptionsCompilerChip waumlhlen Einstellungen wie im Bild vornehmen und OK waumlhlen

Auf der Registerkarte Communications Einstellungen wie im Bild vornehmen und OK waumlhlen

Unter OptionsCommunication Einstellungen wie im Bild

vornehmen und OK waumlhlen FileNew waumlhlen Unter ToolsTerminal emulator das Terminal aufrufen und

eingeben Die Befehlsliste des RCLs Elektronenbeu-gung wird angezeigt

45 Installation und Konfiguration von Programmen auf dem RCL-Server Im Folgenden wird der Download die Installation und die Konfiguration von Programmen auf dem RCL-Server unter Windows XP Professional beschrieben Alle Anleitungen sind zeilen-weise von links nach rechts zu lesen Die Installation der Programme sollte in der angegebe-nen Reihenfolge erfolgen

58

451 Einrichten des Internet-Zugangs LAN-Verbindung unter StartSystemsteuerungNetzwerkverbindungen aufrufen

Internetprotokoll (TCPIP) und Eigenschaften waumlhlen Folgende IP-Adresse verwenden waumlhlen IP-Adressen ein-

geben und OK waumlhlen

452 Paket XAMPP 174 Unter apache friends - xampp fuumlr windows und XAMPP Windows 174 Installer anklicken und Datei xampp-win32-174-VC6-installerexe speichern Durch Doppelklick auf die Datei die Installation starten

Sprache und Ok waumlhlen Ok waumlhlen

59

Weiter waumlhlen Zielverzeichnis mit Durchsuchen waumlhlen oder eingeben

Apache nicht als Dienst installieren Fertig stellen waumlhlen

Ja waumlhlen Zum Starten des Apache Webservers das Control Panel

unter StartProgrammeXAMPP 173 for Windows mit Start starten Anstelle von Start erscheint Running

Zum Beenden des Apache Webservers Stop waumlhlen Zum Beenden des Control Panels Exit waumlhlen

60

453 Videoserver webcamXP 5 Private Auf der Webseite von Moonware Studios unter webcamXP 55xx die Datei wlite550 herun-terladen Durch Doppelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen I Agree waumlhlen

Next waumlhlen Auszliger webcamXP 5 brauchen keine weiteren Komponen-

ten installiert zu werden

Den vorgeschlagenen Ordner und Install waumlhlen Finish waumlhlen

61

WebcamXP unter StartProgramme aufrufen Zugesandte

Lizenz-Daten in das eingeblendete Fenster eingeben und Register waumlhlen

Beim Starten des Programms stellt webcamXP automa-tisch eine Verbindung zu den am Computer angeschlosse-nen Webcams her

Nach dem Start ist Uumlberwachen gewaumlhlt Durch Rechts-klick mit der Maus auf das Videofenster wird zu jeder Vi-deoquelle ein Kontextmenuuml angezeigt Wird kein Videobild dargestellt das Kontextmenuuml aufrufen Art der Videoquelle waumlhlen (hier USB) und unter den erkannten Videoquellen (hier USB-Videogeraumlt) die gewuumlnschte waumlhlen

Das Videoformat muss fuumlr eine passende Darstellung auf

der Laborseite auf 320 x 240 eingestellt sein Ist das nicht der Fall im Kontextmenuuml unter Video Format einstellen

In gleicher Weise kann eine zweite Videoquelle hinzugefuumlgt werden

In der Registerkarte Web Broadcast kann unter

Broadcast (HTTP) der Videoserver mit Ausschalten ge-stoppt und mit Aktivieren gestartet werden

Zur Zielwahl des Webservers (131246237167 - Internet D16W3X3J - Computer 127001 - Local Host) Videoser-ver stoppen und einstellen Videoserver wieder starten

62

454 Terminalprogramm Hyperterminal Hyperterminal in Windows XP Professional unter StartProgrammeZubehoumlrKommunikation aufrufen

Name der neuen Verbindung - z B Interface - eingeben

und OK waumlhlen Die Verbindung zwischen Computer und Interface wurde

uumlber einen USB-Seriell-Adapter hergestellt Dann erschei-nen zwei zusaumltzliche Eintraumlge (Motorola Comp Modem und COM5) in der Liste Prinzipiell muss eine COMx-Verbindung gewaumlhlt werden

Eigenschaften von COM 5 wie im Bild einstellen und OK

waumlhlen DateiEigenschaften aufrufen und ASCII-Konfiguration

waumlhlen

63

Haken bei Eingegebene Zeichen lokal ausgeben (lokales

Echo) setzen um eingegebenen Zeichen im Hyperterminal zu sehen

Bei funktionsfaumlhiger Verbindung erscheint nach Eingabe von Return die Befehlsliste des Interface

Durch Aufrufen von DateiSpeichern die erstellte Verbin-

dung z B auf dem Desktop speichern Dadurch braucht die Verbindung nicht immer wieder von neuem konfiguriert wer-den

Nach Aufrufen von DateiBeenden die bestehende Verbin-dung mit Ja beenden

64

Wurde ein falscher COM-Port gewaumlhlt reagiert das Inter-

face auf die Eingabe Return nicht Hyperterminal dann beenden

Der COM-Port kann dann nicht unter DateiEigenschaften im Hyperterminal aber unter Eigenschaften des Kontext-menuumls der Datei Interfaceht in der Registerkarte Verbin-den mit geaumlndert werden Dann OK waumlhlen und erneut Verbindung testen

65

455 Fernwartungssoftware TeamViewer 6 Host Auf der Webseite von Teamviewer GmbH unter Fuumlr unbeaufsichtigte Server TeamViewer Vollversion die Datei TeamViewer_Setup-wq herunterladen Das Programm muss auf dem RCL-Server und dem Computer der auf den RCL-Server zugreifen soll installiert werden Durch Doppelklick auf die Datei die Installation starten

Ausfuumlhren waumlhlen Weiter waumlhlen

Fuumlr die private nicht kommerzielle Nutzung ist Teamviewer kostenlos

privat nicht-kommerziell und Weiter waumlhlen

Beide Haumlkchen setzen und Weiter waumlhlen

66

Ja un Weiter waumlhlen Weiter

Computername und Kennwort fuumlr den Zugriff auf den RCL-Server oder den eigenen Computer vergeben Kenn wort notie-ren

Ein Teamviewerkonto ist nicht erforderlich Kann auch spaumlter noch eingerichtet werden

ID fuumlr den Computer auf dem das Programm installiert wird fuumlr Zugriff notieren

Das Programm wird gestartet Standardmaumlszligig vorein-gestellt ist der Start des Programms beim Start des Be-trienssystems

67

46 Selbstbau eines elementaren RCLs 461 Hard- und Software Auch ohne gleich ein vielleicht teures physikalisches Experiment zu steuern laumlsst sich mit wenigen Bauelementen ein elementares RCL realisieren Von einer Webseite im Internet sol-len eine Leuchtdiode (LED) ein- oder ausgeschaltet sowie der Zustand der Leuchtdiode und eines Tasters abgefragt werden An Hard- und Software werden benoumltigt

1 Low-Current-LED 5 mm 2 mA 1 Widerstand 18 kΩ 1 Taster und optional zwei 10-polige Wannenstecker mit ungefaumlhr 10 cm passendem Flachbandkabel und Buchsen

Interface in Basisschaltung Null-Modem-Kabel 12 V DC Steckernetzteil (larr 1)

Installierte Bascom-Demo-Version (larr 42)

AVR ISP-Programmer mit 10-poligem Programmierkabel

Installiertes und konfiguriertes AVR Studio 418 (larr 41)

Installiertes Paket XAMPP (larr 52)

Texteditor wie z B Notepad in Windows XP Professional

Konfigurierte Hyperterminalverbindung (larr 54)

462 Bestuumlckung der Platine Abb 29 zeigt zur Orientierung fuumlr das Einloumlten der Bauelemente die fertig bestuumlckte Platine des Interface

Abb 29 Mit elementarem RCL bestuumlckte Platine

des Interface

LED mit Vorwiderstand und der Taster sind rechts neben dem Mikrocontroller im Lochraster-bereich aufgebaut und uumlber Wannenstecker und Flachbandkabel mit dem Port A des Mikro-controllers verbunden (die drei Bauteile rechts neben dem ATmega16 werden nicht benouml-tigt) Tab 13 erlaumlutert die Schritte zur Bestuumlckung der Platine des Interface

68

Nr Schaltung Erlaumluterung

1

Die Leuchtdiode (LED) mit dem Pluspol (langes Beinchen) an PortA0 (PIN40 oben rechts) des Mikrocontrollers anloumlten

An das kurze Beinchen einen 18kΩ Widerstand loumlten dessen anderes Ende mit der Masse (GND) verbinden

2

Den Taster mit PortA1 (PIN39 = 2 Beinchen von oben rechts) und Masse (GND) verbinden

3

Draufsicht

Belegung des 10-poligen Wannensteckers 1 GND (Masse) im Foto oben links 2 +5 V 3 PortA0 4 PortA1 10 PortA7 im Foto unten rechts

Tab 13 Schritte zum Aufbau des elementaren RCLs

463 Lokal gesteuertes RCL Nachfolgend ist der Basic-Programmcode des Mikrocontrollers zur Steuerung und Abfrage der LED und des Tasters angegeben 01 $regfile = m16DEFdat Microcontroller ATmega16 02 $crystal = 11059200 110592MHz Quarz 03 $baud = 9600 Baudrate 04 05 ---[ Variables ]--------------------------------------------------------------- 06 Dim Rs232kommando As String 10 erst Befehlspuffer dann Kommando 07 Dim Parameter As String 10 Parameter 08 Dim Str_pos As Byte Position von Leerzeichen zur Trennung von Kommando und Pa-rameter 09 10 ---[ Initialisierung ]--------------------------------------------------------- 11 Ddra0 = 1 PortA0 als Ausgang fuumlr LED 12 Porta0 = 0 LED aus 13 Ddra1 = 0 PortA1 als Eingang fuumlr Taster 14 Porta1 = 1 Pull-Up aktivieren 15 16 ---[ Main program loop ]------------------------------------------------------- 17 Do Start der Endlos-Schleife 18 19 If Ischarwaiting() = 1 Then Zeichen uumlber RS232 empfangen 20 Input Rs232kommando neues Kommando lesen 21 Parameter = Parameter initialisieren 22 Str_pos = Instr(rs232kommando ) Leerzeichen im Kommando suchen 23 If Str_pos gt 0 Then falls Leerzeichen dann in Kommando+Parameter zerlegen 24 Incr Str_pos Str_pos soll jetzt auf 1Zeichen des Parameters zeigen 25 Parameter = Mid(rs232kommando Str_pos ) Parameter = Teilstring nach Leerzeichen 26 Parameter = Ucase(parameter) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 27 Str_pos = Str_pos - 2 Str_pos soll jetzt auf letztes Zeichen des Kommandos zeigen 28 Rs232kommando = Left(rs232kommando Str_pos)Kommando = Teilstring vor Leerzeichen 29 Rs232kommando = Ucase(rs232kommando) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 30 End If 31 32 Select Case Rs232kommando Eventhandler Interpretation der Kommandos 33 Case Print Hilfe Hilfeseite anzeigen 34 Print LED on - LED einschalten 35 Print LED off - LED ausschalten 36 Print LED - zeigt Status der LED an 37 Print SW - zeigt Status des Schalters an 38

1K8

LED rotmicroC PortA0(PIN40)

Taster

microC PortA1(PIN39)

1

3

2

69

39 Case LED If Parameter = ON Then LED schalten 40 Porta0 = 1 41 End If 42 If Parameter = OFF Then 43 Porta0 = 0 44 End If 45 46 Case LED If Porta0 = 0 Then Status der LED ausgeben 47 Print LED aus 48 Else 49 Print LED an 50 End If 51 52 Case SW If Pina1 = 1 Then Status des Schalters ausgeben 53 Print Taster offen 54 Else 55 Print Taster geschlossen 56 End If 57 58 Case Else Print gt Rs232kommando lt ungueltiger Befehl - weitere Infos mit Info bei unguumlltigen Eingaben 59 End Select 60 61 End If 62 63 Loop Endlos-Schleife Springe zu Do 64 65 End wird nie erreicht

Der erste Teil des Programms (Zeilen 1 - 15) enthaumllt die Systemparameter Variablen und Initialisierung der Ein- und Ausgaumlnge Der zweite Teil enthaumllt ab Zeile 17 das Hauptpro-gramm in dem Benutzereingaben uumlber die serielle Schnittstelle empfangen interpretiert und in entsprechende Anweisungen umgesetzt werden Tab 14 erlaumlutert den Programmcode de-taillierter

Zeilen Erlaumluterung

1 - 3 Diese Angaben teilen dem Compiler (Bascom) mit welcher Prozessor eingesetzt wird wie schnell dieser getaktet (Quarz) ist und mit welcher Uumlbertragungsgeschwindigkeit die Kommunikation uumlber die serielle Schnittstelle (RS232) mit dem PC erfolgen soll

6 - 8 Es werden drei Variablen genutzt Die Eingabe uumlber die serielle Schnittstelle wird in rs232kommando gespeichert Es wird ein Text der Form Kommando ltLeerzeichengt Parameter erwartet so dass die Variable Parameter den-selbigen aufnimmt Die Variable str_pos wird fuumlr die Trennung von Kommando und Parameter benoumltigt

11 - 14

Mit dem Befehl ddrPX (ddr = data direction) wird festgelegt ob ein Beinchen als Ausgang (=1) oder als Eingang (=0) arbeiten soll Der ATmega16 besitzt 32 Ein-Ausgaumlnge die in vier Ports (P=AD) zu je 8 Pins (X=07) unterteilt sind ddrA0 = 1 legt also das 1 Beinchen (Pin 0) von PortA als Ausgang (=1) fest Mit dem Befehl PortA0 =1 kann dieser Pin dann durch Zuweisen von 1 oder 0 an- bzw ausgeschaltet werden Im Datenblatt erfahren Sie welches der 40 Beinchen des Mikrocontrollers wie bezeichnet wird (Pin-Belegung) Wird ein Beinchen als Eingang verwendet (ddrA1 = 0) koumlnnen Sie optional einen so genannten Pull-Up-Widerstand aktivieren (PortA1=1) oder deaktivieren (PortA1=0) Auch hierzu sollten Sie sich unbedingt mit dem Datenblatt vertraut machen

17 63 Das Hauptprogramm besteht aus einer Endlosschleife d h der Mikrocontroller verrichtet ununterbrochen seinen Job so lange er mit Strom versorgt wird

19 - 30 Falls ein Zeichen uumlber die serielle Schnittstelle empfangen wurde wird dieses und alle folgenden gelesen Anschlie-szligend wird gepruumlft ob der empfangene Text von der Form Kommando ltLeerzeichengt Parameter ist so dass er ge-gebenenfalls in ein Kommando und einen Parameter zerlegt werden kann

32 - 59 Dieser Abschnitt wird mit Event-Handler bezeichnet Hier wird auf die Kommandos (Events) reagiert und die ent-sprechenden Schritte ausgefuumlhrt zB schalten LED je nach Wert der Variablen Parameter an- bzw ausschalten

46 52

In beiden Zeilen wird ein Wert eines Ports abgefragt Unterschiedlich ist dass in Zeile 46 der Status eines Ausgangs abgefragt wird (porta0) und in Zeile 52 der Zustand eines Eingangs (pina0) Die Anweisung IF porta0 = 0 THEN pruumlft (hier ist = ein Vergleich und KEINE Zuweisung) ob zuletzt die LED ausgeschaltet (Zuweisung porta0 = 0) wurde Die Anweisung IF pina1= 1 THEN liest den Status eines Eingangs Hier kann festgestellt werden ob der Eingang uumlber den internen Pull-UP-Widerstand auf +5V liegt (pina1 liefert 1) oder ob der Schalter den Eingang mit Masse (0V) verbindet (pina1 liefert 0)

Tab 14 Erlaumluterung des Mikrocontroller-Programmcodes fuumlr elementares RCL

70

In Bascom AVR eine neue Datei erzeugen (FileNew) den Programmcode ohne Kommenta-re eingeben und mit ProgramCompile (F7) eine Hexadezimaldatei erzeugen Die Hexadezi-maldatei mit dem AVR-Studio und dem AVR-ISP-Programmer in den Mikrocontroller schrei-ben (larr 222 Programmuumlbertragung) Nach dem Verbinden von Computer und Interface per Null-Modem-Kabel kann durch Eingabe von in das konfigurierte Hyperterminal die Befehls-liste in Abb 30 aufgerufen werden

Abb 30 Aufgerufene Befehlsliste im Hyperterminal

Durch Eingabe von LED on oder LED off kann die LED ein- und ausgeschaltet LED zeigt den Status der LED und sw den Status des Tasters an Alternativ zum Hyperterminal kann auch das Terminal in BASCOM unter ToolsTerminal Emulator verwendet werden (larr 422)

464 Ferngesteuertes RCL Zum Ansteuern des Interfaces und zum Bedienen des Versuchsaufbaus uumlber das Internet wird eine Webseite benoumltigt die dem Benutzer alle Bedienelemente des Experiments zur Verfuumlgung stellt

Der Benutzer benoumltigt anklickbare Buttons im Webbrowser

Der Webserver muss die Information welcher Button gedruumlckt wurde empfangen und ein entsprechendes Kommando uumlber die serielle Schnittstelle an das Interface senden

Beide Schritte sind im nachfolgenden PHPHTML-Quellcode zusammengefasst 01 ltDOCTYPE HTML PUBLIC -W3CDTD HTML 401 TransitionalEN httpwwww3orgTRhtml4loosedtdgt 02 lthtmlgt 03 ltheadgt 04 ltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1gt 05 lttitlegtelementares RCLlttitlegt 06 ltheadgt 07 08 ltbodygt 09 ltphp 10 if (isset($_POST[Kommando])) wurde bereits Kommando gesendet 11 if( ( $handle = fopen( COM1 w+ ) ) ) Schnittstelle oumlffnen 12

71

13 throw new Exception( Can not access serial port 2 ) ohne Erfolg 14 15 fwrite( $handle $_POST[Kommando] chr( 13 ) ) Befehl an Interface senden 16 switch ( $_POST[Kommando] ) Antwort von Interface auswerten 17 case LED $tmp = fgets( $handle ) Echo von Interface ignorieren 18 $antwort = fgets( $handle ) Antwort des Interfaces 19 echo Antwort $antwort Ausgabe auf Webseite 20 break switch verlassen 21 22 case SW $tmp = fgets( $handle ) Echo von Interface ignorieren 23 $antwort = fgets( $handle ) Antwort des Interfaces 24 echo Antwort $antwort Ausgabe auf Webseite 25 break switch verlassen 26 27 28 29 fclose( $handle ) Schnittstelle schlieszligen 30 31 else 32 `mode com1 BAUD=9600 PARITY=N data=8 stop=1 xon=off` Schnittstellenparameter setzen 33 34 35 gt 36 37 lth3gtBefehl sendenlth3gt 38 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 39 ltinput type=hidden name=Kommando value=LED ON gt 40 ltinput type=submit value=LED anschalten gt 41 ltformgt 42 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 43 ltinput type=hidden name=Kommando value=LED OFF gt 44 ltinput type=submit value=LED ausschalten gt 45 ltformgt 46 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 47 ltinput type=hidden name=Kommando value=LED gt 48 ltinput type=submit value=LED abfragen gt 49 ltformgt 50 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 51 ltinput type=hidden name=Kommando value=SW gt 52 ltinput type=submit value=Taster abfragen gt 53 ltformgt 54 ltbodygt 55 lthtmlgt Den Quellcode in den Texteditor kopieren und im Ordner htdocs von XAMPP z B unter rclphp speichern HTML-Dateien mit PHP-Code (Zeilen 9-35) muumlssen mit der Erweiterung php gespeichert werden damit der Apache Webserver zwischen HTML-Seiten mit und ohne PHP-Code unterscheiden kann Den installierten Apache Webserver starten (larr 452) und im Adressfeld des Webbrowsers die IP-Adresse http127001rclphp aufrufen Das Bedi-enfeld des elementaren RCLs in Abb 31 wird im Browserfenster angezeigt

72

Abb 31 Laborseite des elementaren RCLs

Im Bedienfeld kann die LED an- und ausgeschaltet sowie der Status von LED und Taster abgefragt werden

  • 0 Warum ein Tutorial zur RCL-Technik
  • 1 Technische Konzeption
    • 11 Einfuumlhrung
    • 12 Wahl der RCL-Technik
      • 2 Lokal gesteuertes RCL
        • 21 Interface
          • 211 Mikrocontroller
          • 212 Basisschaltung und Erweiterungsschaltungen
          • 213 Programmierung des Mikrocontrollers
            • 22 Hyperterminal
            • 23 Positionieren von Objekten
              • 231 Hybrid-Schrittmotoren
              • 232 Schrittmotorsteuerung und Positionierungsmechanik
                  • 3 Ferngesteuertes RCL
                    • 31 RCL-Server
                    • 32 Laborseite
                      • 321 Steuerung des RCLs uumlber das Bedienfeld
                      • 322 Videouumlbertragung im Webcamfeld
                        • 33 Standard-Lernumgebung
                          • 4 ANHANG
                            • 41 Interface in Basisschaltung
                              • 411 Schaltplan und Bauteilliste
                              • 412 Bestuumlckung der Platine
                                • 42 Erweiterungsschaltungen
                                  • 421 Uumlbersicht
                                  • 422 TMC222-Modul zur Schrittmotorsteuerung
                                    • 4221 Schaltplan und Bauteilliste
                                    • 4222 Bestuumlckung der Platine
                                    • 4223 Quellcode des Mikrocontroller-Programms
                                      • 423 Geschaltete Spannungsquellen und Verbraucher
                                      • 424 Steuerung von Gleichstrommotoren
                                        • 43 Quellcodes zum RCL Elektronenbeugung
                                          • 431 Mikrocontroller-Programmierung
                                          • 432 PHP-Programmierung
                                          • 433 Bedienfeld der Laborseite
                                          • 434 Webcamfeld der Laborseite
                                            • 44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung
                                              • 441 AVR-Studio 418
                                                • 4411 Installation
                                                • 4412 Konfiguration
                                                  • 442 BASCOM 11198 Demoversion
                                                    • 4421 Installation
                                                    • 4422 Konfiguration
                                                        • 45 Installation und Konfiguration von Programmen auf dem RCL-Server
                                                          • 451 Einrichten des Internet-Zugangs
                                                          • 452 Paket XAMPP 174
                                                          • 453 Videoserver webcamXP 5 Private
                                                          • 454 Terminalprogramm Hyperterminal
                                                          • 455 Fernwartungssoftware TeamViewer 6 Host
                                                            • 46 Selbstbau eines elementaren RCLs
                                                              • 461 Hard- und Software
                                                              • 462 Bestuumlckung der Platine
                                                              • 463 Lokal gesteuertes RCL
                                                              • 464 Ferngesteuertes RCL

12

wichtiger Anbieter zusammengestellt die uumlber den Elektronikhandel leicht bezogen wer-den koumlnnen Das Buch von Erich Rummich erklaumlrt Zusammenhaumlnge zwischen Bauform und Funktionsweise von Schrittmotoren die uumlber Informationen zu Schrittmotoren im Tu-torial (rarr 231) gegebenen Informationen hinausgehen

Programmierung des Mikrocontrollers in Basic Besonders die Moumlglichkeit der Programmierung des Mikrocontrollers in der Hochsprache Basic (larr 12 Tab 1 Bascom AVR) erleichtert den Einstieg in den Selbstbau von RCLs Daruumlber hinaus besteht analog zur PHP-Programmierung die Mikrocontroller-Programmierung aus einer an das jeweilige RCL lediglich anzupassenden Basispro-grammierung (rarr 431)

Betriebssystemunabhaumlngigkeit Das Interface kommt ohne betriebssystemspezische Treiber aus PHP und HTML sind be-triebsystemunabhaumlngige Sprachen Der Apache Webserver XAMPP ist auszliger fuumlr Windows fuumlr die Betriebssysteme Linux Mac OS X und Solaris9 erhaumlltlich

Wartung von Programmierung und Interface Aumlnderungen der PHPHTML-Programmierung koumlnnen leicht uumlber einen Fernzugriff auf den RCL-Server vorgenommen werden Da der PHPHTML-Quellcode im RCL-Betrieb stets in einer lauffaumlhigen Form vorliegt fuumlhren Wechsel von Personen die Zugriff auf die Programmierung haben nicht zu Ausfaumlllen des RCLs Aumlnderungen und Reparaturen an den Ergaumlnzungsschaltungen des Interface koumlnnen aufgrund des Lochrasteranteils der Platine (rarr 412) leicht durchgefuumlhrt werden

Zerstoumlrungssichere Versuchskomponenten Versuchskomponenten sind durch die Programmierung des Mikrocontrollers vor Fehlbe-dienungen des RCLs geschuumltzt Da der Mikrocontroller die Zulaumlssigkeit von Parameter-werten uumlberwacht ist kein Missbrauch des Experiments durch Dritte moumlglich Abstuumlrze des RCL-Servers fuumlhren nicht zu undefinierten Zustaumlnden des Experiments weil der Mik-rocontroller das Experiment steuert In der Lebensdauer staumlrker begrenzte Versuchskom-ponenten wie z B die Elektronenbeugungsroumlhre beim RCL Elektronenbeugung (larr 11 Abb 2) koumlnnen durch eine programmierte Standby-Funktion des Mikrocontrollers bei Nichtgebrauch ausgeschaltet werden

Keine Installation von Zusatzsoftware Besucher benoumltigen zum Experimentieren mit RCLs lediglich einen kostenlos verfuumlgbaren Webbrowser wie z B die auf Funktionsfaumlhigkeit fuumlr die RCLs getesteten Internet Explo-rer Opera Firefox Safari oder Konquerer mit aktivierter Javaskript-Funktion Es muss keine weitere Zusatzsoftware installiert werden

Eine alternative technische Loumlsung fuumlr RCLs ist LabVIEW (Laboratory Virtual Instrument En-gineering Workbench) von National Instruments (NI)10 LabVIEW ist eine sehr umfangreiche

9 Apache friends XAMPP

13

mittlerweile als Industriestandard geltende grafische Programmierumgebung zum Messen Steuern und Regeln von Systemen Uumlber umfangreiche Treiber-Bibliotheken lassen sich fast alle gaumlngigen mit einer entsprechenden Schnittstelle ausgestatteten Geraumlte in LabVIEW ein-binden LabVIEW wurde als technische Loumlsung im RCL-Projekt aus mehreren Gruumlnden nicht eingesetzt

Besucher muumlssen einmalig vor dem Experimentieren mit RCLs die LabVIEW Run-Time Engine11 installieren

Es existieren nur wenige Schulgeraumlte mit den erforderlichen Schnittstellen

Die Kosten von ungefaumlhr 1300 euro fuumlr die Basisversion und ungefaumlhr 2800 euro fuumlr die Vollver-sion sind zu hoch

LabVIEW ist fuumlr die zu entwickelnden RCLs bzw die Zielgruppe aus Schuumllern und Studie-rende uumlberdimensioniert Der Nachbau von RCLs durch interessierte Schuumller und Studie-rende waumlre aus Kosten und Anforderungsgruumlnden nur schwer moumlglich

Trotz der graphischen Programmieroberflaumlche von LabVIEW muumlssen im Programmcode immer noch Anpassungen in der speziell fuumlr LabVIEW entwickelten Programmiersprache G vorgenommen werden

Die Einarbeitung in LabVIEW ist vom Zeitaufwand und den Anforderungen her mindes-tens genauso hoch wie die fuumlr Mikrocontroller- und PHP-Programmierung

Eine mit fertigen LabVIEW-Elementen gestaltete Laborseite ist nicht unbedingt nutzer-freundlicher als eine mit PHPHTML erstellte Laborseite

2 Lokal gesteuertes RCL 21 Interface 211 Mikrocontroller Zentrales Bauelement des Interface ist ein ATMEL AVR 8-bit RISC Mikrocontroller ATme-ga16 Dieser enthaumllt im Vergleich zu einem Mikroprozessor auszliger dem Prozessor auch peri-phere Module wie z B Speicher digitale und analoge Ein- und Ausgaumlnge oder Timer fuumlr Zu-satzfunktionen Dadurch kommen Anwendungen von Mikrocontrollern wie z B RCLs meist mit wenigen zusaumltzlichen Bauelementen aus Tab 3 enthaumllt eine Uumlbersicht der wichtigsten Features des Mikrocontrollers zum Prozessor zur Programmierung und Datenspeicherung zu peripheren Modulen und erlaumlutert einige Fachbegriffe

10 Vgl National Instruments 11 Vgl National Instruments LabVIEW Run-Time Engine

14

Feature Erlaumluterung

Proz

esso

r

ATMEL AVR 8 bit RISC Mik-rocontroller ATmega16

ATMEL US-amerikanischer Hersteller von Mikrocontrollern AVR Familie von Mikrocontrollern 8 bit Breite des internen Datenbusses des Mikrocontrollers RISC steht fuumlr Reduced Instruction Set Computer (Rechner mit reduziertem Befehls-

satz) Designphilosophie von Mikrocontrollern mit Befehlssatz aus moumlglichst einfa-chen Befehlen und houmlherer Effizienz des Prozessors

ATmega Eine der Mikrocontroller-Serien von ATMEL 16 steht fuumlr 16 kB Flash-ROM Groumlszlige des Programmspeichers des Mikrocontrollers

131 Befehle mit 1-2 Taktzyk-lenBefehl

Die ATmega-Serie besitzt unter den Mikrocontroller-Serien von ATMEL den groumlszligten Befehlssatz Die meisten Befehle benoumltigen zur Ausfuumlhrung nur einen Taktzyklus

Variabel waumlhlbare Taktfre-quenzen bis zu 16 MHz

Ein externer Schwingquarz legt die Schwingungsfrequenz einer Oszillatorschaltung und damit die Taktfrequenz des Mikrocontrollers fest

Prog

ram

mie

rung

und

Dat

ensp

eich

erun

g

ISP uumlber SPI-Bus in 16 kB Flash-ROM Programm-Speicher

ISP steht fuumlr In System Programming Der Mikrocontroller kann ohne aus der Schal-tung entfernt zu werden programmiert werden Es wird kein teures Programmierge-raumlt sondern nur ein Programmieradapter benoumltigt

SPI steht fuumlr Serial Peripheral Interface (Serielles Peripheres Interface) Nach dem Master-Slave-Prinzip arbeitender synchroner serieller Datenbus zur Kommunikation zwischen digitalen Schaltungen

Flash-ROM Kann zur Speicherung des Programmcodes ca 1000-mal neu be-schriebengeloumlscht - geflashed - werden aber beliebig oft gelesen werden Daten bleiben auch ohne Versorgungsspannung erhalten

512 B EEPROM 1 kB internes SRAM

EEPROM steht fuumlr Electrically Erasable Programmable Read Only Memory (Elektrisch loumlschbarer und programmierbarer Nur-Lese-Speicher) Nichtfluumlchtiger Speicher der beliebig oft gelesen und mindestens 100000 mal beschrieben werden kann Kann z B zum Speichern von Messwerten und Konfigurationsdaten verwen-det und uumlber ISP programmiert werden

SRAM steht fuumlr Static Random Access Memory Fluumlchtiger Speicher der beliebig oft gelesen und beschrieben werden kann Wird z B zur Speicherung von Variablen und des Stacks verwendet

Perip

here

Mod

ule

32 programmierbare Ein- und Ausgaumlnge

Der Mikrocontroller ist 40-polig Davon koumlnnen 32 Pole entweder als Ein- oder Aus-gang programmiert werden

Zwei 8-bit- und ein 16-bit-Timer mit Vorteilern und Ver-gleichs-Modus

Die vom Quarzoszillator gesteuerten Timer erlauben z B praumlzise Zeitmessungen oder Interrupts bei bestimmten Zaumlhlerstaumlnden Die maximalen Zaumlhlerstaumlnde sind bei 8 bit 255 und bei 16 bit 1023 Vorteiler erlauben eine Verringerung der Zaumlhlrate

Programmierbare USART USART steht fuumlr Universal SynchronousAsynchronous Receiver Transmitter Seriel-

le Schnittstelle die zur Datenuumlbertragung zwischen Mikrocontroller und Computer benutzt wird

I2C Interface

I2C ist ein synchroner serieller Zweidraht-Bus mit einer Daten- und einer Taktleitung zur Kommunikation zwischen ICs Nach dem Master-Slave-Prinzip kann ein Master bis zu 128 Slaves ansprechen Die Uumlbertragungsrate liegt im Standard-Mode bei 100 kbits

Externe und interne Interrupts

Interrupts unterbrechen das Hauptprogramm des Mikrocontrollers um kurzfristige und zeitkritische Verarbeitungen durchzufuumlhren Externe Interrupts werden durch am Mikrocontroller angeschlossene Hardware gesteuert interne Interrupts durch die Programmierung des Mikrocontrollers

4 PWM-Ausgaumlnge PWM steht fuumlr Pulse Width Modulation (Pulsweitenmodulation) Timer stellen an 4

Ausgaumlngen Rechteckimpulse der Dauer t und Unterbrechungsdauer T-t mit variab-lem Tastverhaumlltnis tT zur Verfuumlgung

8 10-bit ADC

ADC steht fuumlr Analog to Digital Converter (AD-Wandler) Integrierte Schaltung die analoge Eingangsspannung Ue in digitale Ausgangsspannung (Zahl) umwandelt

10-bit Aufloumlsungsvermoumlgen des AD-Wandlers Kleinster aufloumlsbarer Spannungsun-terschied ist (Uemax - Uemin)210

Tab 3 Features des Mikrocontrollers ATmega16

15

212 Basisschaltung und Erweiterungsschaltungen Abb 5 zeigt am Beispiel des RCLs Elektronenbeugung die Platine des Interface mit den Funktionsgruppen 1 - 5 der Basisschaltung und den Funktionsgruppen 6 und 7 der Erweite-rungsschaltungen (larr 11 Abb 4)

Abb 5 Platine des Interface des RCLs Elektronenbeugung

Abb 6 zeigt den dazugehoumlrigen Schaltplan mit den Nummern der Funktionsgruppen und die Pinbelegung des Mikrocontrollers ATmega16

Abb 6 Schaltplan des Interface des RCLs Elektronenbeugung (links) und Pinbelegung

des Mikrocontrollers ATmega16 (rechts)

16

Basisschaltung Die Spannungsversorgung (1) des Interface erfolgt uumlber ein Universal-Steckernetzteil mit der Betriebsspannung Ub = 12 V Eine Diode SB140 schuumltzt die Elektronik des Interface vor falscher Polung der Spannungsversorgung Der Spannungsregler L7805 wandelt die Betriebsspannung am Hohlstecker in eine Gleichspannung von 5 V fuumlr die Spannungs-versorgung der elektronischen Bauelemente des Interface um Die Betriebsspannung kann im Interface auch direkt zur Ansteuerung von Relais oder zur Spannungsversorgung kleinerer Motoren verwendet werden Bei Bedarf kann unter Beachtung der Kuumlhlung des L7805 das Interface mit houmlheren Betriebsspannungen z B fuumlr staumlrkere Schrittmotoren betrieben werden Die nicht hinreichend stabile und temperaturabhaumlngige Frequenz des internen RC-Oszillators im Mikrocontroller (2) kann bei Verwendung der USART zu Problemen fuumlhren Daher wird ein externer 110592 MHz Schwingquarz (3) eingesetzt Der IC MAX232 ist ein Pegelwandler der die 0V+5 V-Signale der seriellen Schnittstelle (4) des Mikrocontrol-lers an die plusmn12 V-Signale der seriellen Schnittstelle des Computers anpasst Uumlber den ISP-Stecker kann der Mikrocontroller programmiert werden (5) Das Interface in der Ba-sisschaltung kann im Selbstbau angefertigt werden (rarr 41)

Erweiterungsschaltungen Nur die wenigsten Aktoren Sensoren gesteuerte Geraumlte und Bauelemente eines RCLs lassen sich direkt vom Mikrocontroller ansteuern Beim RCL Elektronenbeugung wird die Heizspannung der Elektronenkanone mit einem Relais zum Schalten der Netzspannung des Hochspannungsnetzgeraumltes ein- und ausgeschaltet (6) Liefert der Mikrocontroller am Port PA0 die Spannung 5 V (high) so wird die Kollektor-Emitter-Strecke des Transistors BC 337 niederohmig fast die gesamte Betriebsspannung Ub = 12 V faumlllt uumlber dem Relais ab und es flieszligt ein Strom durch das Relais Die Diode 1N4001 schuumltzt den Transistor vor Induktionsspannungsspitzen beim Ein- und Ausschalten der Spule im Relais Am Steuereingang des Hochspannungsnetzgeraumlts kann durch Anlegen einer Steuer-spannung US zwischen 0 V und 5 V die Beschleunigungsspannung der Elektronenkanone zwischen 0 und 43 kV im belasteten Zustand bei eingeschalteter Gluumlhkathode variiert werden Die analoge Steuerspannung US erzeugt ein 8-bit Digital-Analog-Wandler PCF8591 der uumlber den I2C-Bus des Mikrocontrollers (Ports PC0 und PC1) mit Binaumlr-codes zwischen 0 und 255 angesteuert wird (7) Die Ausgangsspannung des DA-Wandlers liegt in 256 Stufen zwischen 370 mV und 497 V Dieser Schaltung wurde der Vorzug gegenuumlber der Erzeugung einer Steuerspannung mit Hilfe eines der Pulsweiten-modulationsausgaumlnge des Mikrocontrollers gegeben weil der Programmieraufwand ge-ringer und die Steuerspannung keine Restwelligkeit aufweist

Eine Uumlbersicht zu Erweiterungsschaltungen fuumlr Sensoren und Aktoren (rarr 421) zeigt die Anpassungsfaumlhigkeit des Interface an die unterschiedlichsten Experimente

17

213 Programmierung des Mikrocontrollers Im Folgenden wird die Programmstruktur des Mikrocontroller-Programms und die Uumlbertra-gung des Programmcodes in den Mikrocontroller beschrieben

Programmstruktur Der Mikrocontroller ist mit einem Programm (Firmware) ausgestattet um die Aufgaben des Interfaces abzuarbeiten Hierzu zaumlhlen im Wesentlichen Programmteile zur Kommu-nikation mit dem RCL-Server und zur Steuerung des Experiments da das Interface eine Schnittstelle zwischen Experiment und RCL-Server darstellt Weitere Programmteile sind beispielsweise zur Initialisierung des Versuchsaufbaus und der Steuerparameter sowie zur Konfiguration des Interfaces realisiert Abb 7 zeigt ein Flussdiagramm der Programm-teile zur Kommunikation mit dem RCL-Server und zur Steuerung des Experiments

Abb 7 Flussdiagramm der Programmierung des Mikrocontrollers

Der Programmteil zur Kommunikation mit dem RCL-Server besteht im Wesentlichen aus einer Schleife die unablaumlssig auf Steuerzeichen des RCL-Servers wartet diese gegebe-nenfalls empfaumlngt und auswertet Soll mittels eines empfangenen Steuerzeichens der Versuchsaufbau angesteuert werden wird vom Kommunikations-Programmteil eine ent-sprechende Anweisung fuumlr den Steuerungs-Programmteil generiert In der Schleife wer-den auch Antworten wie z B Messergebnisse des Steuerungs-Programmteils entgegen-genommen und an den RCL-Server ausgegeben Der Kommunikations-Programmteil kann Kommandos mit und ohne Parameter entgegen-nehmen und verarbeiten So lassen sich einfache Befehle wie Start und Stopp eines Mo-tors aber auch speziellere Anweisungen wie Messe uumlber den Bereich von a nach b mit einer Schrittweite c ausfuumlhren Auch Messergebnisse oder Statusinformationen in Form einzelner Daten wie Zahlen oder Listen koumlnnen vom Kommunikations-Programmteil an den RCL-Server uumlbertragen werden Ferner uumlbernimmt der Kommunikations-Programmteil auch den Austausch von Konfigurationsdaten fuumlr das Interface beispiels-

18

weise Motorparameter oder Zeitvorgaben fuumlr eine Standby-Funktion Schlieszliglich gibt der Kommunikations-Programmteil auch Fehlermeldungen an den RCL-Server aus etwa bei einem Fehlerzustand im Experiment oder bei fehlerhaften Anweisungen des Besuchers bzw des RCL-Servers Im Programmteil zur Steuerung des Experiments erfolgt die Ansteuerung von Aktoren und das Auslesen von Sensoren mittels elektronischer Aus- und Eingaumlnge (Ports) des Mikro-controllers Gegebenenfalls sind zwischen den Ports des Mikrocontrollers und dem Expe-riment Erweiterungsschaltungen erforderlich (larr 212 Erweiterungsschaltungen) Der Steuerungs-Programmteil ist als Interrupt-Routine implementiert Interne Zeitgeber des Mikrocontrollers rufen den Programmteil zyklisch z B alle 1 oder 10 Millisekunden auf wobei die zuvor beschriebene Schleife des Kommunikations-Programmteils kurzzeitig fuumlr die Abarbeitung des Steuerungs-Programmteils unterbrochen wird Hierdurch wird die Steuerung als Real-Time-Prozess12 ausgefuumlhrt und es koumlnnen insbesondere zeitkritische Steueraufgaben mit einer Aufloumlsung von ungefaumlhr 1 - 10 ms zuverlaumlssig erledigt werden Ferner ist im Mikrocontroller und dem Programm ein sogenannter Watchdog installiert der das Programm bei einem Programmabsturz automatisch neu startet Der Watchdog als elektronische Baugruppe im Mikrocontroller fuumlhrt einen Neustart des Mikrocontrollers (Reset) durch sofern er nicht mehr uumlber das Programm in vorgegebenen Zeitintervallen angesteuert wird Je nach RCL gibt es noch weitere Interrupt-Routinen die unabhaumlngig vom Zeittakt des Mikrocontrollers auf externe Ereignisse wie z B Ausgangsspannungsaumlnderungen eines Sensors reagieren Damit kann besonders schnell auf Erfordernisse des Experiments re-agiert oder es koumlnnen Zeitmessungen mit einer Genauigkeit von ungefaumlhr 10-6 s durchge-fuumlhrt werden Im Anhang (rarr 431) ist der Pascal-Quellcode fuumlr den Mikrocontroller des RCLs Elektronenbeugung verfuumlgbar

Programmuumlbertragung Nach der Kompilierung des Assembler- Basic- C+- C++- oder Pascal-Programms liegt eine Hexadezimaldatei vor die vom Computer in den Mikrocontroller uumlbertragen werden muss (Flashen des Programms) Zur Programmuumlbertragung muss das AVR-Studio instal-liert und konfiguriert sein (rarr 441) Abb 8 zeigt wie die Programmuumlbertragung durchge-fuumlhrt wird

12 Real-Time bedeutet hier dass die maximale Dauer eines Vorgangs vorhersehbar und gewaumlhrleistet ist dass eine Steuer-

aufgabe nach einer vorhersehbaren Zeit abgeschlossen ist

19

Abb 8 Programmuumlbertragung zwischen Computer und Mikrocontroller im Inter-

face des RCLs Elektronenbeugung uumlber USB-Seriell-Adapter und ISP-Programmer

Das Interface braucht nicht mit dem Experiment verbunden zu sein Auch Erweiterungs-schaltungen innerhalb oder auszligerhalb des Interface muumlssen nicht mit dem Mikrocontroller verbunden sein Das Interface ermoumlglicht uumlber die ISP-Schnittstelle die Programmierung mit einem preisguumlnstigen ISP-Programmer ohne ein teureres Experimentierboard13 Zur Uumlbertragung des Programms muss in folgenden Schritten vorgegangen werden

(1) Spannungsversorgung des Interface zur Sicherheit unterbrechen weil beim Verbinden mehrpoliger Steckerverbindungen es zu Kurzschluumlssen kommen kann

(2) 10-poligen ISP-Stecker des ISP-Programmers an die ISP-Schnittstelle des Interface anschlieszligen

(3) ISP-Programmer an die serielle Schnittstelle oder uumlber USB-Seriell-Adapter an die USB-Schnittstelle des Computers anschlieszligen

(4) Spannungsversorgung des Interface wieder herstellen

(5) AVR-Studio unter StartProgramme aufrufen und nach Abb 9 in der Registerkarte Program unter Flash die zu uumlbertragende Hexadezimal-Datei z B Elektronenbeu-gunghex auf der Festplatte auswaumlhlen und Program waumlhlen

13 Vgl ATMEL STK 500 Entwicklerkit bei Reichelt Elektronik

20

Abb 9 Uumlbertragung der Hexadezimaldatei Elekt-

ronenbeugunghex in den Mikrocontroller

(6) Spannungsversorgung des Interface unterbrechen ISP-Programmer vom Interface trennen AVR-Studio beenden und den ISP-Programmer vom Computer trennen

22 Hyperterminal Nach der Programmuumlbertragung kann das Experiment uumlber das konfigurierte Hyperterminal (rarr 454) lokal gesteuert werden Mit dem Hyperterminal koumlnnen als Text eingegebene Be-fehle oder Abfragen an den Mikrocontroller gesendet oder von diesem empfangen werden Der Computer muss wie bei der Programmuumlbertragung mit dem Interface per Null-Modem-Kabel uumlber die serielle Schnittstelle oder einen USB-Seriell-Adapter verbunden sein Das In-terface muss an die Versorgungsspannung anschlossen sein braucht aber nicht mit dem Experiment verbunden zu sein Abb 10 zeigt nach Eingabe von und von param im Hyper-terminal die Befehlsliste des Mikrocontrollers fuumlr das RCL Elektronenbeugung

21

Abb 10 Befehlsliste des Mikrocontrollers im Hyperterminal fuumlr das RCL Elektronenbeugung

Tab 4 gibt Erlaumluterungen zur Befehlsliste

BefehlAbfrage Erlaumluterung

DA x Am Eingang des DA-Wandlers wird die Zahl x (0 - 255) im Binaumlrcode

angelegt und die Ausgangsspannung des Hochspannungsnetzgeraumlts bzw die Beschleunigungsspannung der Elektronenkanone eingestellt

OnOff Hochspannungsnetzgeraumlt und Gluumlhkathode der Elektronenkanone ein-

oder ausschalten Beim Einschalten wird die Steuerspannung des Inter-face am Hochspannungsnetzgeraumlt auf asymp 0 V einstellt

Standby Ausgabe der eingestellten Standbyzeit von 300 s setSB x Standbyzeit einstellen

next Standby in Ausgabe der verbleibenden Standbyzeit (254 s) bis das Experiment

ausgeschaltet wird Eine negative Standbyzeit gibt die Zeit seit dem Ab-lauf der Standbyzeit an

Power On Delay Ausgabe der Verzoumlgerungszeit (2 s) bis das Hochspannungsnetzge-

raumltElektronenbeugungsroumlhre nach dem Ausschalten oder nach Ablauf der Standbyzeit erneut eingeschaltet werden kann

setPOD x Verzoumlgerungszeit einstellen

power on enabled in Ausgabe wie lange Hochspannungsnetzgeraumlt nicht eingeschaltet wer-

den kann Zeiten unter 0 bedeuten dass Power-On-Delay-Zeit ablaufen ist

Tab 4 Erlaumluterung der Befehle in Abb 10

23 Positionieren von Objekten In fast allen RCLs des RCL-Portals auszliger den RCLs Elektronenbeugung und Oszilloskop muumlssen Objekte rotatorisch oder translatorisch positioniert werden Eingesetzt werden Hyb-rid-Schrittmotoren als Aktoren eine Schrittmotorsteuerung von Trinamic als Erweiterungs-schaltung (TMC222-Modul) die Positionierungseinheit ausgedienter Flachbrett-Scanner und ein Referenz-Taster als Sensor

231 Hybrid-Schrittmotoren Abb 11 zeigt den vereinfachten schematischen Aufbau eines zweiphasigen Schrittmotors mit getrennten magnetischen Kreisen des Stators und einem permanent magnetisierten zweipoligen Rotor (Polpaarzahl 1)

22

Abb 11 Funktionsprinzip von Schrittmotoren Unipolare (links) und bipolare Schaltung (rechts)

von Schrittmotoren mit Bestromungstabellen fuumlr Voll- und Halbschrittbetrieb Darge-stellt ist der Schritt 0

Der Rotor verfuumlgt bei der dargestellten Polreihenfolge S-S-N-N des Stators uumlber eine stabile Stellung bei einer hypothetischen (magnetische Monopole) Polreihenfolge N-S-N-S gaumlbe es mit diesem Aufbau des Stators nur instabile Stellungen des Rotors Um den Rotor in Bewe-gung zu setzen muss die Polreihenfolge S-S-N-N im oder entgegen den Uhrzeigersinn (Rechts- oder Linksdrehung) weitergeschaltet und der Rotor vom magnetischen Schrittfeld mitgenommen werden

Die magnetische Polaritaumlt eines magnetischen Kreises laumlsst sich entweder durch zwei Spu-len konstanter elektrischer Polaritaumlt mit unterschiedlichem Wicklungssinn (herstellungstech-nisch zu aufwendig) durch eine Spule mit Mittelanzapfung und konstanter elektrischer Pola-ritaumlt der beiden Teilspulen (unipolare Schaltung) oder durch eine Spule mit wechselnder elektrischer Polaritaumlt (bipolare Schaltung) realisieren In Abb 11 sind dazu die elektrischen Beschaltungen und die Bestromungstabellen fuumlr eine Rechtsdrehung des Rotors dargestellt Fuumlr eine Linksdrehung des Rotors muss die Schrittfolge in umgekehrter Reihenfolge durch-laufen werden

Es wird zwischen Vollschrittbetrieb (graue Zeilen der Tabellen) mit Schrittwinkel 90deg bzw Schrittzahl 4 und Halbschrittbetrieb (alle Zeilen der Tabellen) mit Schrittwinkel 45deg bzw Schrittzahl 8 unterschieden Beim Vollschrittbetrieb werden immer beide magnetische Kreise bestromt und die N-S-Polachse des Rotors nimmt nur Stellungen zwischen den Statorpolen

23

an Beim Halbschrittbetrieb wird zwischen den Vollschritten nur einer der magnetischen Krei-se bestromt und die N-S-Polachse des Rotors kann zusaumltzlich 4 Stellungen in Richtung der Statorpole einnehmen Der Hybrid-Schrittmotor ist die am haumlufigsten vertretene Bauform von Schrittmotoren Abb 12 zeigt den Aufbau eines Hybrid-Schrittmotors

Abb 12 Aufbau eines Hybrid-Schrittmotors fuumlr unipolare und

bipolare Schaltung Daten Schrittwinkel 18deg max Drehmoment 155 Ncm

Der Stator besteht aus zwei Straumlngen mit je 4 in Reihe geschalteten Spulen Der Wick-lungssinn der Spulen ist in beiden Straumlngen so dass sich die Polfolge N-S-N-S uumlber den Umfang ergibt Beide Straumlnge zusammen ergeben unabhaumlngig von der Stromrichtung ei-ne Polfolge N-N-S-S-N-N-S-S uumlber den Umfang Ein zweipoliger Rotor (Polpaarzahl 1) kann im Vollschrittbetrieb 4 Stellungen annehmen Der Rotor des Hybridschrittmotors be-steht aber aus axial magnetisierten Permanentmagneten deren Polpaarzahl durch axial versetzte weichmagnetische Zahnscheiben auf 50 erhoumlht wurde Dadurch erhoumlht sich die Schrittzahl auf 4 sdot 50 = 200 und der Schrittwinkel verkleinert sich auf 360deg200 = 18deg Um stabile Rotorstellungen zu erhalten muumlssen die Statorsegmente ebenfalls gezahnt ausge-fuumlhrt werden

Ein solcher Hybrid-Schrittmotor vereint die Vorteile des Reluktanz- und des permanenter-regten Schrittmotors Ein kleiner Schrittwinkel wird durch das von Reluktanzschrittmotoren bekannte Prinzip der Erzeugung einer Vielzahl von Polen des Rotors durch Zahnscheiben erzielt Ein hohes Drehmoment wird durch das von permanenterregten Schrittmotoren be-kannte Prinzip der Ausfuumlhrung des Rotors als Permanentmagnet erzielt Aufgrund der bi-filaren Wicklung besteht jede Statorwicklung aus zwei Teilspulen und der Schrittmotor kann in unipolarer (alle 6 Anschluumlsse verwendet) und bipolarer Schaltung (nur 4 An-schluumlsse verwendet gemeinsamer Anschluss der Teilspulen bleibt unverwendet) wie in Abb 12 dargestellt verwendet werden

24

Schrittmotoren erlauben nicht nur das Bewegen sondern innerhalb der Leistungsgrenzen (keine Schrittverluste) auch ein genaues Positionieren von Objekten Bei bekannter Schrittzahl auf einer gemessenen Strecke oder Schrittzahl fuumlr den Vollwinkel koumlnnen aus-gehend von einer Referenzstellung Objekte translatorisch oder rotatorisch positioniert werden

232 Schrittmotorsteuerung und Positionierungsmechanik Im Folgenden wird die bei allen RCLs mit Schrittmotoren eingesetzte Schrittmotorsteuerung die Mechanik zur translatorischen Positionierung von Objekten und die Funktionsweise eines Referenztasters beschrieben

Schrittmotorsteuerung Abb 13 zeigt das Blockschaltbild und das im Selbstbau herstellbare TMC222-Modul (rarr 4221 rarr 4222) mit dem IC TMC222 von Trinamic zur Steuerung bipolarer 2-phasiger Hybrid-Schrittmotoren

Abb 13 Blockschaltbild (links) und Platine des TMC222-Moduls (rechts) mit IC TMC 222 auf

der Loumltseite der Platine

Der IC TMC222 enthaumllt ein I2C-Interface zum Anschluss an den I2C-Bus des Mikrocon-trollers (Ports PC0 und PC1) Die 10 kΩ-Pull-up-Widerstaumlnde heben die Takt- (SCL clock) und Datenleitung (SDA data) auf ein Potential von 5 V Der IC TMC222 enthaumllt ei-nen Motortreiber fuumlr Spulenstroumlme bis zu 800 mA und einen Motor-Controller zur Steue-rung der Spulenstroumlme Ein Vorteil des TMC-Moduls ist der relativ geringe Programmier-aufwand fuumlr den Mikrocontroller (rarr 4223) da der IC TMC222 nach Uumlbergabe der Steu-erungsparameter (Drehrichtung Drehzahl hellip) vom Mikrocontroller die Ansteuerung des Schrittmotors uumlbernimmt Der IC TMC222 unterstuumltzt das Beschleunigen und Abbremsen des Schrittmotors enthaumllt einen Schrittpositionszaumlhler und unterstuumltzt Mikrostepping (va-riable Spulenstroumlme zur elektronischen Verkleinerung des Schrittwinkels und groumlszligerer Laufruhe)

25

Falls in RCLs Gleichstrommotoren mit houmlheren Drehzahlen als Schrittmotoren benoumltigt werden kann eine andere Erweiterungsschaltung (rarr 424) eingesetzt werden

Positionierungsmechanik und Referenz-Taster Die Mechanik zur rotatorischen Positionierung von Objekten kann meist kostenguumlnstig selbst oder durch Personal in einer Werkstatt angefertigt werden Abb 14 zeigt eine kos-tenguumlnstige Loumlsung zur translatorischen Positionierung von Objekten

Abb 14 Positionierungseinheit eines Flachbrett-

Scanners Schrittmotor (1) Getriebe (2) Li-nearfuumlhrung (3) Antriebsriemen (4) und er-gaumlnzter Referenz-Taster (5)

Falls der geometrische Aufbau und die geforderte Positionierungsgenauigkeit des RCLs es zulassen kann die Schrittmotor-Positionierungs-Einheit ausgedienter Flachbrett-Scanner zur translatorischen Positionierung von Objekten verwendet werden In Einzelfaumll-len wie dem RCL Weltpendel kann die Positionierungsmechanik auch selbst angefertigt werden Der Referenz-Taster in Abb 14 wird eingesetzt um abzufragen ob ein vom Schrittmotor bewegtes Objekt die Position des Tasters erreicht hat und um diese Position zu referenzieren Ohne eine solche Referenzierung kann die Positionierung eines Objekts langfristig ungenau werden So kann z B beim RCL Weltpendel das Auftreffen der Kugel auf den Magneten zum Uumlberspringen von Schrittmotorstellungen fuumlhren Der Zustand des Referenz-Tasters in Abb 15 wird z B uumlber den Port PA0 des Mikrocontrollers abgefragt

Abb 15 Referenz-Taster zum referenzieren der

Position des bewegten Objekts

26

Zu Problemen koumlnnen undefinierte Zustaumlnde der Eingaumlnge des Mikrocontrollers fuumlhren wie sie beim Prellen dem zeitlich begrenzten schwingen eines Tasters beim Oumlffnen oder Schlieszligen entstehen Abhilfe schafft ein passend dimensionierter parallel zum Taster ge-schalteter Kondensator Bei geoumlffnetem Taster ist der Kondensator aufgeladen Beim Schlieszligen haumllt der Kondensator die Spannung uumlber die Schwingphase trotz kurzzeitig wieder geoumlffnetem Schalter noch aufrecht Analoges gilt fuumlr den Uumlbergang vom geschlos-senen zum geoumlffneten Taster

3 Ferngesteuertes RCL 31 RCL-Server Fuumlr den Betrieb eines RCLs wird ein RCL-Server benoumltigt (larr 11) Vorausgesetzt wird dass bei einem neuen Computer alle notwendigen Treiber (Ethernet Video Audio hellip) zum Be-trieb der Hardware des Computers und Windows XP Professional mit Service Pack 3 instal-liert sind Ein Benutzerkonto braucht nicht angelegt zu werden

Der RCL-Server benoumltigt einen Internetzugang mit statischer IP-Adresse und Uploaddatenra-te von mindestens 200 kbits (DSL 2000) fuumlr die fluumlssige Wiedergabe von Bewegungen in Webcambildern Die statische IP-Adresse wird von der Institution am Standort des RCLs vergeben oder kann von Privatpersonen bei einem Provider beantragt werden Mit folgenden Schritten wird der RCL-Server eingerichtet

Internetzugang einrichten (rarr 451) und im Browser testen

Checken ob die Windows Firewall aktiviert ist

Virenschutzproramm Avira Antivir Personal herunterladen (larr Tab 1) installieren und ak-tualisieren

Uumlber Windows Update alle Updates von Windows XP Professional installieren

Fernwartungssoftware TeamViewer 6 Vollversion (larr Tab 1) herunterladen und auf dem RCL-Server und dem eigenen Computer installieren (rarr 455)

Webeditor Notepad++ herunterladen installieren und aktualisieren (larr Tab 1)

Videoserver WebcamXP 5 herunterladen und installieren (rarr 453)

Paket XAMPP herunterladen und installieren (rarr 452) Verknuumlpfungen mit den Dateien xampphtdocsapache_startbat und xampphtdocsapache_stopbat auf dem Desktop oder in der Schnellstartleiste erstellen und Webserver mit erstgenannter Verknuumlpfung starten Webserver durch Eingabe von 127001 oder localhost ins Adressfeld des Brow-sers testen Bei erfolgreichem Test werden die im Ordner xampphtdocs abgelegten Webseiten von XAMPP dargestellt Statische IP-Adresse des RCL-Servers im Browser eines anderen Computers mit Internetzugang eingegeben Bei erfolgreichem Test werden die Webseiten von XAMPP dargestellt In der Datei xamppphpphpini unter Resource Limits die max_execution_time mit dem Windows-Editor von 60 auf 300 erhoumlhen und die

27

Datei speichern damit PHP bei Befehlen mit laumlngerer Ausfuumlhrungsdauer keine Fehler-meldung liefert

Ordner xampphtdocs mit den Webseiten von XAMPP in xampphtdocs_xampp um-benennen und fuumlr spaumltere Testzwecke nicht loumlschen RCL-Ordner htdocs herunterladen (larr Tab 1) extrahieren und in das Verzeichnis xampp verschieben

Abb 16 zeigt die Struktur des RCL-Ordners htdocs

Abb 16 Struktur des RCL-Ordners htdocs RCL-spezifisch anzupassende Dateien sind grau

hinterlegt

Der geoumlffnete Ordner Labor enthaumllt alle PHP- und HTML-Dateien bzw Programmierungen fuumlr die Funktionalitaumlt des Bedienfelds der Laborseite (larr 11 Abb 3) An das RCL anzupas-sen sind die portalsprachenunabhaumlngigen Dateien configphp und experimentphp sowie fuumlr jede Portalsprache die Dateien defaultconf und experimenttpl in den Ordnern eng fra ger und ita

Datei configphp Zeit bis zum automatischen Logout beim Experimentieren mit dem RCL eintragen

Datei experimentphp PHP-Basisprogrammierung um die RCL-spezifische PHP-Programmierung erweitern (rarr 432)

Datei defaultconf Name des RCLs (z B Elektronenbeugung) in jeder Portalsprache ein-getragen

Datei experimenttpl HTML-Basisprogrammierung um RCL-spezifische Ein- und Ausga-befelder erweitern (rarr 433)

28

32 Laborseite 321 Steuerung des RCLs uumlber das Bedienfeld Das Bedienfeld der Laborseite (larr 11 Abb 3) wird von der Dateien indexphp und experi-menttpl erzeugt Befehle wie das Anklicken von Buttons Eingaben und Auswahl aus Listen werden in ein HTML-Formular mit Formularfeldern in der Datei experimenttpl geschrieben Die Daten werden von der PHP-Datei experimentphp ausgewertet und uumlber die serielle Schnittstelle dem Mikrocontroller-Programm zur Steuerung des Experiments uumlbergeben Die Dateien experimentphp und experimenttpl wurden getrennt angelegt um Code und Design zu trennen und nur das Design in der Datei experimenttpl an die Portalsprache anpasst werden muss

Tab 5 enthaumllt Ausschnitte der HTML-Datei experimenttpl (rarr 433) der Datei experi-mentphp (rarr 432) und des Mikrocontroller-Programms (rarr 431) fuumlr das RCL Elektronen-beugung

29

Code mit Erlaumluterung

expe

rimen

ttpl

1821 Tag ltformgtltformgt definiert ein Formular 18 Attribut action legt fest dass Formulardaten in der Datei indexphp verarbeitet werden Uumlbertragen

werden eine Session-ID ($sid) um exklusiven Zugriff des jeweilgen Besuchers zu sichern und ($portal) um die vom Besucher gewaumlhlte Sprache beizubehalten post ist eine Uumlbertragungsmethode zwischen Browser und Webserver und gibt die die vom Besucher gewaumlhlte Aktion zum Ansteuern des Experiments an die Datei experimenttpl weiter

20 Erzeugt im Bedienfeld den Sendebutton (submit) mit der Aufschrift Elektronenroumlhre einschalten (valu-e)

19 Unsichtbares Feld (hidden) mit Variablennamen action und Wert RoumlhreAn Der Variablenname ac-tion stimmt nur zufaumlllig mit action in Zeile 18 uumlberein

expe

rimen

tphp

24 Die Funktion wird als Eventhaumlndler bezeichnet weil je nach uumlbergebener Aktion - siehe Zeile 19 in experi-

menttpl - die entsprechenden Anweisungen (case) ausgefuumlhrt werden 37 Fuumlr den Fall dass die Variable $action den Wert RoumlhreAn hat wird die Funktion power_on() aufgeru-

fen

59 Schreibt in die Logdatei logtxt den Text RoumlhreAn 6061 Oumlffnet den in der Datei configphp zentral gespeicherten Com-Port an den das Interface angeschlossen ist

oder gibt Fehlermeldung Can not access file system im Bedienfeld aus falls der Com-Port sich nicht oumlff-nen laumlsst

62 Sendet die Zeichenfolge On und chr(13) (entspricht der Betaumltigung der Return-Taste im Hyperterminal) an den Mikrocontroller

63 Schlieszligt serielle Schnittstelle

Que

llcod

e M

ikro

cont

rolle

r

166 Wird uumlber die serielle Schnittstelle der Befehl on empfangen und ist das Einschalten zulaumlssig (Zeiten fuumlr

PowerOnDelay und Standby abgelaufen) dann hellip 167 Hochspannungsnetzgeraumlt einschalten 168 Der DA-Wandler PCF8591 wird unter seiner Adresse PCF8591 = 01001000 angesprochen Parameterein-

stellungen mit 01000000 und Ausgangsspannung auf 0 V einstellen 169 Setzt Standby auf vorgegebene Standbyzeit zuruumlck 171 Gibt Meldung aus wie lange PowerOnDelay noch dauert

Tab 5 Uumlbertragung des Befehls Elektronenroumlhre einschalten vom Bedienfeld zum Experi-ment

30

Anhand der Erlaumluterungen der Programmcodes koumlnnen die Ablaumlufe zwischen dem Druumlcken des Buttons Elektronenroumlhre einschalten und dem Einschalten der Elektronenbeugungs-roumlhre oder der Eingabe einer Beschleunigungsspannung und dem Anlegen einer Beschleu-nigungsspannung verfolgt werden Uumlber das Bedienfeld koumlnnen nur die von der Datei expe-rimenttpl bereitgestellten Befehle on und da der insgesamt implementierten Befehle (rarr 22 Abb 10) aufgerufen werden

322 Videouumlbertragung im Webcamfeld Zur Aufnahme von Livebildern des Experiments koumlnnen USB-Webcams und IP-Kameras (Netzwerkkameras) eingesetzt werden Teurere IP-Kameras muumlssen eingesetzt werden wenn die Kamera wie z B beim RCL Roboter im Labyrinth zu weit vom Computer entfernt ist oder eine besonders lichtempfindliche Kamera aus der Uumlberwachungstechnik wie z B beim RCL Millikan-Versuch benoumltigt wird W-LAN-Kameras kommen zum Einsatz wenn Bil-der von einem beweglichen Objekt aus wie z B beim RCL Roboter im Labyrinth uumlbertra-gen werden sollen

Das Videoserverprogramm webcamXP 5 erkennt beim Aufrufen automatisch an den RCL-Server angeschlossenen USB-Webcams Vor dem Kauf einer IP-Kamera ist zu pruumlfen ob das Modell unterstuumltzt wird14 IP-Kameras muumlssen im Kontextmenuuml der Videoquelle konfigu-riert werden Abb 17 zeigt das Webcambild einer USB-Webcam vom Szintillationsschirm der Elektronenbeugungsroumlhre

Abb 17 Webcambild des Szintillationsschirms der Elektro-

nenbeugungsroumlhre einer USB-Webcam in webcamXP 5 beim RCL Elektronenbeugung

14 Vgl Moonware Studios webcamXP IP-cameras for webcamXP

31

Zum Einbinden des Webcambilds in die Laborseite des RCLs wird die laborsprachenabhaumln-gige Datei videohtm (rarr 434) in den Ordnern eng fra ger und ita verwendet Standardmauml-szligig werden zwei Webcambilder und Screenshots unterstuumltzt der Code fuumlr weitere Webcam-bilder kann durch copy and paste hinzugefuumlgt werden

Unter den Technologien Java Javaskript Flash und Windows Media fuumlr die Wiedergabe ei-nes Livestreams auf eine Webseite wurde Javaskript gewaumlhlt weil die anderen Technologien die Installation des Java Runtime Environments (JRE) des Flash- oder Windows Media Players durch den Besucher eines RCLs voraussetzen Die Wiedergabe des Livestreams mit einem Java-Applet startet zudem erst verzoumlgert nachdem das Applet geladen ist und verfuumlgt uumlber eine zu geringe Wiedergabegeschwindigkeit

33 Standard-Lernumgebung Bestandteil der Entwicklung eines RCLs ist die Erstellung einer Standard-Lernumgebung zum RCL Abb 18 zeigt exemplarisch fuumlr die deutschen Webseiten im Ordner ger das Menuuml (larr 11 Abb 3) und die Dateistruktur der Standard-Lernumgebung

Abb 18 Deutschsprachiges Menuuml und Dateistruktur der Standard-Lernumgebung

RCL-spezifisch anzupassende Dateien sind grau hinterlegt

Die englischen Dateinamen introductionhtm setuphtm hellip im Ordner ger korrespondieren mit den deutschen Menuumlpunkten Wird das RCL unter dem Menuumlpunkt RCLs des RCL-Portals aufgerufen dann ruft die Frameset-Datei indexhtm die Dateien menuumlhtm und intro-ductionhtm auf und das Menuuml wird zusammen mit der Webseite Einstieg dargestellt Die Wahl weiterer Menuumlpunkte ruft jeweils die korrespondiere Datei im Ordner auf Bei Wahl des Menuumlpunkts Labor werden mit der Frameset-Datei laboratoryhtm die Dateien videohtm fuumlr das Webcamfeld und die Datei laborindexphp fuumlr das Bedienfeld aufgerufen

32

Im Ordner docsmaterial werden alle Dokumente fuumlr die Webseite Material im Ordner docsothers die Dokumente anderer Webseiten abgelegt Im Ordner docsoriginals sind die Originale von Dokumenten wie z B Word-Dateien und der verwendeten Bilder abgelegt Grafikdateien der Webseiten Einstieg hellip Auswertung hellip Betreuung werden in gleichnami-gen Ordnern wie z B imagesanalysis abgelegt Bei sprachenunabhaumlngigen Grafikdateien wird unter dem Dateinamen abbx bei sprachenabhaumlngigen unter dem Dateinamen abbx_lan mit lan = eng fra ger und ita gespeichert Analoges gilt fuumlr die als gif-Grafiken forxgif oder forx_langif zu speichernden Formeln Originale von Bildern werden im Ordner imagesoriginals abgelegt Die Webseite zur Datei htdocsindexhtm enthaumllt zum lokalen Aufrufen der Standard-Lernumgebung Links zu den vier Index-Dateien in den Ordnern eng fra ger und ita Die Stylesheet-Datei htdocsrcl_stylecss enthaumllt die Styles der Webseiten

In der Regel werden Standard-Lernumgebungen der RCLs des RCL-Portals von verschiede-nen Personen erstellt Fehlende Gestaltungs- und Formatierungsregeln fuumlhren zu einem un-einheitlichen inattraktivem Erscheinungsbild des RCL-Portals Tab 6 gibt einen Uumlberblick der wichtigsten Gestaltungs- und Formatierungsregeln

Element Richtlinien

Gliederung

Die Webseiten Einstieg Aufbau Aufgaben Diskussion Material und Support enthalten vorgegebene Gliederungspunkte teilweise mit ausgefuumlhrten Uumlberschriften

Die umfangreicheren Webseiten Theorie und Auswertung enthalten ein Inhaltsverzeichnis mit internen Links zu Gliederungspunkten Zwischen Punkten der ersten Gliederungsebene (1 2 hellip) ist ein zwei-zeiliger Abstand (ltpgtampnbspltpgtltpgtampnbspltpgt) zwischen Punkten der zweiten (11 12 hellip) und Punkten der nur falls unbedingt notwendig dritten 111 112 hellip) Gliederungsebene ein einzeiliger Abstand zu waumlhlen Nach Abbildungen und Tabellen folgt ein einzeiliger Abstand zum nachfolgenden Text

Links Keine internen Links zwischen den Webseiten der Lernumgebung Externe Links werden prinzipiell in einem neuen Browserfenster geoumlffnet (blank)

Abbildung

Alle Abbildungen erhalten fortlaufend beginnend mit 1 nummerierte Abbildungsunterschriften der Form Abb x hellip

Abbildungen sind moumlglichst spachenunabhaumlngig d h ohne Texte in der Abbildung zu erstellen Zur Beschriftung koumlnnen z B Zahlen verwendet werden die in der Abbildungsunterschrift oder im Text er-laumlutert werden

Tabellen Tabellen werden in jeder Webseite fortlaufend beginnend mit 1 nummeriert Tabellen sind zu zentrieren Rahmenstaumlrke 1

Formeln

Formeln sind nicht als Textzeichen oder Grafik im laufenden Text einzufuumlgen sondern stets zentriert in einer eigenen Zeile als gif-Grafik

Zum Erstellen der Formel-Grafiken eignet sich z B der Formel-Editor MathType15 mit der Aufloumlsungs-Einstellung 120 dpi fuumlr InternetGif

Formeln brauchen im Rahmen des begrenzten Umfangs der Webseiten nicht nummeriert zu werden Groumlszligen-symbole

Griechische Groumlszligensymbole und mathematische Symbole sind nicht als Grafiken im laufenden Text sondern als HTML-Code einzufuumlgen Eine Zeichenreferenz findet sich bei Selfhtml16

Styles Zur Formatierung der Webseiten werden aus der Stylesheet-Datei nur die drei Styles Uumlberschrift fuumlr

die Uumlberschriften Bildunterschrift fuumlr Abbildungs- und Tabellenunterschriften und Tabellentext fuumlr Tex-te in Tabellen benoumltigt

Tab 6 Richtlinien zur Gestaltung und Formatierung der Standard-Lernumgebung

Detailliertere Informationen zum Layout der Standard-Lernumgebung koumlnnen dem RCL-Ordner und dem Erscheinungsbild der Webseiten von RCLs in Browsern entnommen wer-den

15 Vgl Design Science MathType 16 Vgl Selfhtml HTML-Zeichreferenz

33

4 ANHANG

34

41 Interface in Basisschaltung 411 Schaltplan und Bauteilliste Abb 19 zeigt den Schaltplan der Basisschaltung des Interface und Tab 7 die dazugehoumlrige Bauteilliste

Abb 19 Basisschaltung des Interface

Nr Anzahl Kurzbeschreibung des Bauteils Best-Nr bei Reichelt electronic

Einzelpreis in euro

0 1 Epoxyd-Platine (190x112 mm) mit Anteil Loumltpunktraster (Spezi-

alanfertigung) - asymp 10

1 1

Epoxyd-Fotoplatine einseitig 160x100 mm 15 mm 35 microm Epoxyd-Lochrasterplatine 160x100 mm 15 mm 35 microm

BEL 160x100-1 UP 832EP

170 420

1 1 Hohlstecker-Einbaubuchse gewinkelt Loumltfahnen 21 mm HEBW 21 018 2 1 D-SUB-Stecker 9-polig gewinkelt RM 94 D-SUB ST 09EU 029 3 1 Schottky Diode DO41 40 V 1 A SB 140 008 4 1 Draht von abgeschnittenem Beinchen aus Pos-Nr 3 - - 5 1 IC-Sockel 16-polig superflach gedreht vergoldet GS 16P 029 6 1 IC-Sockel 40-polig superflach gedreht vergoldet GS 40P 061 7 1 2x10-pol-Stiftleiste gerade RM 254 SL 2X10G 254 007 8 1 Metallschichtwiderstand 100 kΩ Metall 100k 0082 9 1 Elektrolytkondensator 10x16 mm 470 microF RM 50 mm RAD 47025 006 10 1 Elektrolytkondensator 63x11 mm 100 microF RM 25 mm RAD 10016 004 11 5 Elektrolytkondensator 5x11 mm 10 microF RM 20 mm RAD 1035 004 12 2 Keramik-Kondensator 33 pF Kerko 33p 006 13 3 Vielschicht-Keramikkondensator 100 nF 20 Z5U-25 100n 004

35

14 1 Standardquarz Grundton 110592 MHz 110592-HC49U-S 018 15 1 Spannungsregler 1 A positiv TO-220 microA 7805 028 16 1 Kuumlhlkoumlrper fuumlr Gehaumluse TO-220 99KW V FI356 066 17 1 Zylinderkopfschraube Schlitz M3 10 mm fuumlr Kuumlhlkoumlrper M3x10mm 160 18 2 Sechskantmutter M3 fuumlr Kuumlhlkoumlrper SK M3 001 19 1 Stecker-Schaltnetzteil 12 V 2250 mA MW 3IP25GS 1150 20 1 RS232-Driver DIL-16 MAX 232 CPE 041 21 1 ATmega AVR-RISC-Controller DIL-40 ATmega16-16 DIP 420 22 3 10-poliger Wannenstecker RM 254 stehend (optional) WSL 10G 009 23 1 14-poliger Wannenstecker RM 254 stehend (optional) WSL 14G 014 24 1 40-polige Stiftleiste 1-reihig gerade RM254 (optional) SL 1x40G 254 023 25 1 Kunststoffgehaumluse 1982x1124x760 mm (Serientyp 202) - asymp 10 euro 26 1 D-SUB Nullmodem-Kabel 9-pol BUBU 3 m AK 143 155 27 x DIN-Einbaubuchse 5-pol Schraubver 360deg (optional) DIO-50W EMS 185 28 x DIN-Einbaubuchse 8-polig Schraubversch 270deg (optional) DIO-80SN EMS 180 29 x Pfostenstecker 10-polig mit Verrieglung gew (optional) PSL 10W 028 30 x Klemmleiste RM 254 Oumlffnungshebel 8-polig (optional) Wago 233 220

Tab 7 Bauteilliste mit Bestellnummer und Einzelpreisen der Bauelemente bei Reichelt electronic (Stand 23102010)

Anhand der Bauteilliste in koumlnnen die elektronischen Bauelemente der Basisschaltung (larr Tab 7 Nr 0 ndash 21 optional Nr 22 - 24) bei Reichelt electronic bestellt werden Das Gehaumluse des Interface (larr Tab 7 Nr 25) sollte vom Hersteller HAGOTECH GmbH bezogen werden Weiterhin wird ein Nullmodemkabel (larr Tab 7 Nr 26) zur Verbindung des Interface mit dem Computer benoumltigt Sensoren und Aktoren des Experiments koumlnnen mit optionalen Steck-verbindern (larr Tab 7 Nr 27 - 30) und entsprechende Kabelverbindungen an das Interface angeschlossen werden Die Nummern 0 - 25 stimmen mit der angegebenen Bestuumlckungs-reihenfolge auf der Platine uumlberein Das Interface kostet in der Basisschaltung ca 50 euro

412 Bestuumlckung der Platine Abb 20 zeigt zur Bestuumlckung der Platine benoumltigte Werkzeuge

Abb 20 Werkzeuge zur Bestuumlckung der Platine des Interface

36

Loumltkolben mit feiner Spitze in Meisselform 2 mm oder Loumltstation (1) Loumltzinnabsauger zum Entfernen von Loumltzinn (2) Nasser Schwamm zum Reinigen der Spitze des Loumltkolbens (3) Loumltzinn mit Durchmesser 08 - 10 mm (4) Flachspitzzange zum Biegen von Anschluumlssen der Bauelemente (5) Seitenschneider zum Kuumlrzen der Beinchen von Bauelementen (6) Multimeter zum Pruumlfen der Funktionsfaumlhigkeit der Schaltung (7) Sekundenkleber zur Befestigung von Bauelementen Kleine Bohrmaschine z B von Dremel und 08 mm Bohrer oder duumlnne Rundfeile zum

Weiten von Loumlchern auf der Platine des Interface

Abb 21 zeigt die Platine des Interface von der Loumltseite in der Spezialanfertigung der Elekt-ronik-Werkstatt an der Technischen Universitaumlt Kaiserslautern und in der Selbstbauvariante (larr Tab 7 Nr 0) Abb 22 zeigt das Platinenlayout

Abb 21 Platine des Interface von der Loumltseite als Spezialanfertigung (links) und der Selbstbauvariante

(rechts)

Abb 22 Layout zur Herstellung des geaumltzten Teils der

Platine in der Selbstbauvariante

37

In der Selbstbauvariante kann anhand des Platinenlayouts eine selbst geaumltzte Platine fuumlr die Basisschaltung auf einer Platine im Europakartenformat hergestellt und diese in der Laumlnge gekuumlrzt werden Eine gekuumlrzte Lochrasterplatine bildet den zweiten Teil der Platine Mit den optionalen vier Wannensteckern (larr Tab 7 Nr 22 - 23) oder den vier Stiftleisten (larr Tab 7 Nr 24) an den Ports des Mikrocontrollers koumlnnen leicht elektrische Verbindungen zum Rasterteil der Platine herstellt werden Abb 23 zeigt die fertig bestuumlckte Platine mit den Nummern aus Tab 7

Abb 23 Bestuumlckte Platine des Interface mit nummerierten Bauelementen

Tab 8 beschreibt das Einloumlten der elektronischen Bauelemente anhand der Nummern aus Tab 7 und in der angegebenen Reihenfolge

Nr Bauelement Beschreibung des Einbaus

0 Spezialanfertigung und Selbst-bauvariante der Epoxydharz-

Platine

1

Stromversorgungsbuchse ndash Hohlstecker 21 mm

Wenn die Loumltbeine nicht durch die Loumlcher der Platine passen die Loumlcher mit einer runden Schluumlsselfeile aufweiten

Stromversorgungsbuchse mit Sekundenkleber vor dem Festloumlten auf der Pla-tine fixieren da diese mechanischen Belastungen durch das Einstecken und Herausziehen des 12 V -Steckers ausgesetzt ist

Wahlweise kann die 25 mm-Version der Buchse verwendet werden

2

RS232 Datenstecker

RS232 Datenstecker mit Sekundenkleber vor dem Festloumlten auf der Platine fixieren da dieser mechanischen Belastungen durch das Einstecken und Herausziehen des Null-Modem-Kabels ausgesetzt ist

Alle Beinchen und Befestigungsstifte zur houmlheren Stabilitaumlt anloumlten

3

Ein Ring an einer Seite der Diode (hier links weiszlig) zeigt die Durchlass- bzw Sperrrichtung der Diode an Die Position des Ringes entspricht der Position des Balkens im Schaltungssymbol

38

Diode ndash SB140 Auf der Platine muss der Ring auf der von der Stromversorgungsbuchse ab-

gewandten Seite liegen

4 Drahtbruumlcke

Vor dem Einloumlten des 40-poligen IC-Sockels (Nr 5) muss eine Drahtbruumlcke unter diesem eingeloumltet werden Dazu koumlnnen die abgeschnittenen Beinchen der bereits eingeloumlteten Diode (Nr 3) verwendet werden

5 6

IC-Fassungen

Die 16-polige und 40-polige IC-Fassungen besitzen eventuell eine Markie-rung fuumlr Pin1 (z B Kerbe in der Stirnseite Punkt Pfeilhellip) als Hilfe fuumlr das richtige Einstecken der ICs Die Markierungen muumlssen bei beiden Fassungen nach oben also zum naumlchstliegenden Rand der Platine zeigen

Die ICs unbedingt noch nicht einstecken

7

ISP-Stiftleiste

Die doppelreihige ISP-Stiftleiste dient der Programmierung des Mikrocontrol-lers mit dem AVR-ISP-Programmer (ISP steht fuumlr In System Programming)

ISP-Stiftleiste auf 2 x 5 Stifte kuumlrzen und mit den kurzen Beinchen einloumlten so dass auf die langen Stifte der AVR-ISP-Programmer gesteckt werden kann

8

Widerstand 100 kΩ

Den 100 kΩ-Widerstand rechts neben der ISP-Stiftleiste einloumlten

9

10

11

Elkos

Bei den verwendeten Elektrolyt-Kondensatoren ist die Polung zu beachten (langes Beinchen = Plus-Pol) Weiterhin ist auf den Kondensatoren ein wei-szliger Streifen mit Minus-Zeichen aufgedruckt Die Kondensatoren sollten eine Spannungsfestigkeit von mindestens 16 V besser 25V besitzen

Auf der Kupferseite der Platine zeigt die Form der Loumltaugen die Polung an Rundes Loumltauge = Plus quadratisches Loumltauge = Minus

Der 470 microF Kondensator wird mit dem weiszligen Streifen in Richtung Stromver-sorgungsbuchse direkt unter diese montiert

Der 100 microF Kondensator sitzt direkt unter der 16-poligen IC-Fassung Sein weiszliger Streifen (Minus-Pol) zeigt in Richtung der Stromversorgungsbuchse

Vier der 10 microF Kondensatoren werden links neben der 16-poligen IC-Fassung montiert Deren Polung ist wie folgt Unterster Kondensator Minus nach oben naumlchster Kondensator Minus nach unten die beiden oberen Kondensatoren mit Minus nach oben

Ein weiterer 10 microF Kondensator wird rechts neben die 16-polige IC-Fassung geloumltet Sein Minus-Streifen zeigt nach unten

12

13

Keramik-Kondensatoren

Die Beschriftung 104 bedeutet 10e4 pF = 100 nF Die beiden 33 pF-Kerkos (Keramik-Kondensatoren) werden direkt nebenei-

nander rechts neben die 16-polige IC-Fassung geloumltet Zwei 100 nF-Kondensatoren werden unter dem 470 microF-Elko eingeloumltet ein

weiterer mittig an der linken Seite der 40-poligen IC-Fassung

14

Quarz

Als Quarz wird ein 110592 MHz-Typ verwendet Bei dieser Frequenz ist eine fehlerfreie Kommunikation uumlber RS232 mit 9600 Baud moumlglich Fuumlr den AT-mega16 koumlnnen Quarze bis 16 MHz eingesetzt werden Details siehe Daten-blatt

Der Quarz wird direkt rechts neben die beiden 33 pF-Kerkos geloumltet Die Ori-entierung des Quarz spielt keine Rolle

15

16

17

18

Der Spannungsregler L7805 erzeugt eine stabilisierte Spannung von 5 V Es muss ein Kuumlhlkoumlrper zur Waumlrmeabfuhr vom Spannungsregler verwendet werden

Vor dem Einloumlten zwischen Spannungsregler und Kuumlhlkoumlrper etwas Waumlrme-leitpaste aufgetragen Beide Bauteile fest mit einer Schraube M3x10 und ei-ner 1 Mutter verschrauben

Dann den Spannungsregler einloumlten um 90deg abzubiegen das uumlberstehende Gewinde durch das vorgesehene Loch stecken und alles mit einer 2 Mutter auf der Platine befestigen

1 Mutter

2 Mutter

Schr

aube

L7805

Platine

KuumlhlkoumlrperWaumlrmeleitpaste

Beinchen

Loumlten

39

Spannungsregler L7805 Kuumlhl-koumlrper und Montage

19

Steckernetzteil

Funktionskontrolle vor dem Einsetzen des Mikrocontrollers Polung der Elektrolyt-Kondensatoren (Elkos) pruumlfen Sind alle Beinchen angeloumltet Hat das Loumltzinn an den Beinchen und der Pla-

tine guten Kontakt Sind eventuell zwei benachbarte Beinchen unbeabsichtigt durch Loumltzinn verbunden Alle Loumltverbindungen nochmals genau z B mit ei-ner Lupe pruumlfen

Probeweise das Stecker-Netzteil an die Buchse anschlieszligen Am 100 nF-Kondensator links mittig der 40-poligen IC-Fassung muumlssen 5 V anliegen

Versorgungsspannung unbedingt wieder von der Platine trennen

20

21

ICs MAX232 und ATmega16

Die Nuten auf den ICs am linken Rand muumlssen nach oben zeigen d h Pin1 ist bei beiden ICs in der Abbildung links unten und auf der Platine oben links

Manchmal passen die Beinchen der ICs nicht in die Fassung weil die Fas-sung scheinbar zu schmal ist Dann den IC seitlich mit einer Beinchen-Reihe flach auf den Tisch legen den IC-Koumlrper links und rechts greifen und Bein-chen durch leichten Druck biegen Einzelne verbogene Beinchen vorsichtig mit einer kleinen Flachzange richten

22

23

Wannenstecker 10- und 14-polig

Wannenstecker an den vorgesehe-nen Stellen mit der Nut gegen Ver-polung in Richtung des naumlherliegen-den Platinenrands einloumlten

Die Abbildung rechts zeigt die Pin-Belegung der Wannenstecker

24

Stiftleiste 8-polig 40-pol Stiftleiste in 4 jeweils 8-polige Stuumlcke zerteilen und einloumlten

25

Kunststoffgehaumluse

In der Selbstbauvariante der Platine (Nr 0) vor dem Einsetzten der Platine in das Gehaumluse passend positionierte Kunststoffstege am Gehaumluseboden fest-kleben

Tab 8 Bestuumlckung der Platine des Interface mit Bauelementen

42 Erweiterungsschaltungen 421 Uumlbersicht In Tab 3 sind von RCLs des RCL-Portals Sensoren und Aktoren mit den dazugehoumlrigen Er-weiterungsschaltungen zusammengestellt Da alle RCLs obligatorisch uumlber mindestens eine Webcam verfuumlgen sind diese unter den Sensoren nicht aufgefuumlhrt Die wenigen Erweite-rungsschaltungen fuumlr Sensoren sind unter Sensoren in Klammern aufgelistet Unter Aktoren werden auszliger elektro-mechanischen Wandlern auch gesteuerte Geraumlte oder Bauelemente verstanden Anzeigeinstrumente sind unter Aktoren nur aufgefuumlhrt wenn sie direkt vom In-terface gesteuert werden Mit gekennzeichnete Erweiterungsschaltungen befinden sich au-szligerhalb des Interface

40

RCL Sensoren Aktoren Erweiterungsschaltungen fuumlr Aktoren

Beugung und Interferenz I Referenz-Taster

Schrittmotor (Rotation) Schrittmotorsteuerung Laser-Modul Geschaltete Spannungsversorgung

Beugung und Interferenz II

4 Referenz-Taster Lichtsensor

4 Schrittmotoren (Translation) 4 Schrittmotorsteuerungen 5 Laser-Module Geschaltete Spannungsversorgung LED fuumlr Position des

Lichtsensors Geschaltete Spannungsversorgung

LED fuumlr Linealbeleuchtung Geschaltete Spannungsversorgung

Elektronen-beugung

Hochspannungsnetzgeraumlt Geschaltete Spannungsversorgung Hochspannungsnetzgeraumlt Steuerung der Hochspannung

Fotoeffekt 2 Referenz-Taster Photozelle

2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen

Quecksilberdampflampe Geschaltete Spannungsversorgung

der Drossel fuumlr Quecksilberdampf-lampe

Halbleiter-kennlinien

und Halbleiterkennli-nien - Schuumller-

projekt

Referenz-Taster

Schrittmotor (Rotation) Schrittmotorsteuerung Oszilloskop Geschaltete Spannungsversorgung

Oszilloskop Instrumentenverstaumlrker fuumlr X- und Y-Ablenkung

Multimeter Steuerung Spannungs- oder Strom-anzeige

Heiszliger Draht 4 Endtaster 4 Drehgeber Kurzschlusssensor

4 Gleichstrommotoren 4 Treiber

Zweifarbige LED Steuerung der LED-Farbe

Lichtgeschwin-digkeit

Drehimpulsgeber 2 Taster an Enden

der Eisenbahnstre-cke

2 Schrittmotoren 2 Schrittmotorsteuerungen Oszilloskop Geschaltete Spannungsversorgung

Motor der Lokomotive Steuerung des Ein- und Ausschal-tens und der Bewegungsrichtung

Maut Infrarot-Sensor Gleichstrommotor Geschaltete Spannungsquelle 2 IR-Fernbedienungen Spannungsregler 2-stellige 7-Segmentanzeige LED-Treiber

Millikan-Versuch 2 Referenz-Taster

2 Schrittmotoren 2 Schrittmotorsteuerungen Lichtquelle (LED) fuumlr Millikan-

Kondensator Geschaltete Spannungsversorgung

Airbrush-Kompressor Geschaltete Spannungsversorgung Magnetventil Geschaltete Spannungsversorgung Millikan-Kondensator Gesteuertes Hochspannungsmodul

Optische Com-putertomogra-

phie

2 Referenz-Taster 2 Lichtsensoren

Schrittmotor (Rotation) Schrittmotorsteuerung Schrittmotor (Translation) Schrittmotorsteuerung

2 Laser-Module 2 geschaltete Spannungsversor-gungen

Optische Fou-rier-

Transformation 2 Referenz-Taster

2 Schrittmotoren (Translation) 2 Schrittmotorsteuerungen

Laser-Modul Geschaltete Spannungsversorgung

Oszilloskop Oszilloskop Geschaltete Spannungsversorgung Signalgenerator Steuerung der Signalart

Radioaktivitaumlt 4 Referenz-Taster Geiger-Muumlller-

Zaumlhlrohr

2 Schrittmotoren (Translation) 2 Schrittmotorsteuerungen 2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen 4-stellige 7-Segment-Anzeige Treiber Elektromagnet Geschaltete Spannungsversorgung

Roboter im Labyrinth Infrarot-Sensor

2 Schrittmotoren 2 Schrittmotorsteuerung Infrarot-Sender Treiber

Rutherfordscher Streuversuch

2 Referenz-Taster Halbleiterdetektor

(Impulsformer)

2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen

4-stellige 7-Segment-Anzeige Treiber

Weltpendel

Referenz-Taster Lichtsensor der

Lichtschranke (Im-pulsformer)

Temperatursensor

Schrittmotor (Translation) Schrittmotorsteuerung Elektromagnet Geschaltete Spannungsversorgung

Laser der Lichtschranke Geschaltete Spannungsversorgung

Windkanal Referenz-Taster Schrittmotor (Translation) Schrittmotorsteuerung

41

Dehnungsmess-streifen (Wheat-stonesche Bruumlcke Messverstaumlrker Multimeter)

Geblaumlsemotor Geschaltete Spannungsversorgung

und Ansteuerung mit Pulsweiten-modulation

Anemometer Geschaltete Spannungsversorgung Multimeter Geschaltete Spannungsversorgung

Tab 9 Sensoren Aktoren und Erweiterungsschaltungen der RCLs des RCL-Portals

422 TMC222-Modul zur Schrittmotorsteuerung 4221 Schaltplan und Bauteilliste Abb 1 zeigt die Beschaltung des TMC222 von Trinamic auf dem TMC222-Modul

Abb 24 Beschaltung des TMC222 von Trinamic

Anhand der Bauteilliste in Tab 10 koumlnnen die elektronischen Bauelemente des TMC222-Moduls bei Reichelt electronic bestellt werden Ein TMC222-Modul kostet ungefaumlhr 10 euro

Nr Anzahl Kurzbeschreibung des Bauteils Best-Nr bei Reichelt electronic

Einzelpreis in euro

0 1 Epoxyd-Fotoplatine einseitig 75x100 mm 15 mm 35 microm BEL75X100-1 096 1 1 Integrierter TMC-Schrittmotor-Controller TMC 222 SI asymp 7 2 1 Elektrolytkondensator 8x11 mm Rm 35 mm 100 microF35 V RAD 10035 004 3 1 Tantal-Kondensator Rm 25 10 microF35 V Tantal 1035 014 4 2 Vielschicht-Keramikkondensator 220 nF 20 Z5U-25 220N 011 5 3 Vielschicht-Keramikkondensator 100 nF 20 Z5U-25 100N 004 6 2 Metallschichtwiderstand 100 kΩ Metall 100K 0082 7 1 1x36pol Stiftleiste gewinkelt Rm 254 SL 1X36W 027 8 1 1x36pol Buchsenleiste gerade Rm 254 BL 1X36G 025

Tab 10 Bauteilliste mit Bestellnummer und Einzelpreisen der Bauelemente bei Reichelt electronic (Stand 23102010)

4222 Bestuumlckung der Platine

42

Abb 25 zeigt die fertig bestuumlckte Platine mit den Nummern aus Tab 10

Abb 25 Bestuumlckte Platine des TMC222-Moduls

mit nummerierten Bauelementen

Die Platine (35 mm x 30 mm) kann anhand des Layouts in Abb 26 hergestellt werden Der IC TMC222 wird auf der Loumltseite der Platine aufgeloumltet Das TMC222-Modul kann mit der Stiftleiste (larr Tab 10 Nr 7) in eine Buchsenleiste (larr Tab 10 Nr 8) auf die Platine des In-terface gesteckt werden

Abb 26 Platine des TMC222-Moduls von der Loumltseite (links) und Layout

4223 Quellcode des Mikrocontroller-Programms Im Folgenden ist ein mit Bascom (larr 12 Tab 1 Entwicklungsumgebungen) erstelltes Bei-spiel-Programm zur Ansteuerung des Schrittmotormoduls TMC222 durch den Mikrocontroller ATmega16 angegeben $regfile = m16DEFdat $crystal = 11059200 $baud = 9600 Definitionen Config Scl = Portc0 Taktleitung Config Sda = Portc1 Datenleitung Const Adress = ampB11000000 I2C Adresse des TMC222 Const GetFullstatus1 = ampB10000001 Kommando des TMC222 Const Resetpos = ampB10000110 Kommando des TMC222 Const Motorparameter = ampB10001001 Kommando des TMC222 Const Setposition = ampB10001011 Dim Puffer(10) As Byte

43

Programm I2csend Adress GetFullstatus1 GetFullstatus1 (Initialisierung des TMC222) I2creceive Adress 7 Ack Daten in Puffer auslesen Puffer(1) = Motorparameter puffer auffuumlllen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB11110011 1111irun 0011ihold Puffer(5) = ampB01110001 0111vmax 0001vmin Puffer(6) = ampB00010000 000securepos(bit10-8) 1shaft 0000acceleration Puffer(7) = 0 securepos(bit7-0) Puffer(8) = ampB00001100 000nicht belegt 0accshape 11stepmode 00nicht belegt I2csend Adress Puffer(1) 8 I2csend Adress Resetpos aktuelle Position auf 0 setzen Puffer(1) = Setposition Motor bewegen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB01111111 position(bit 15-8) Puffer(5) = ampB11111111 position(bit 7-0)acute I2csend Adress Puffer(1) 5 End

423 Geschaltete Spannungsquellen und Verbraucher Die Ausgaumlnge des Mikrocontrollers duumlrfen nur mit Stroumlmen kleiner als ungefaumlhr 20 mA belas-tet werden Verbraucher mit einer Stromlast groumlszliger als 20 mA koumlnnen daher nicht direkt an den Mikrocontroller angeschlossen werden Abb 27 zeigt links eine Schaltung zum Schalten eines Verbrauchers wie z B des Relais und rechts eine Schaltung mit dem IC ULN2803A zum Schalten mehrerer Verbraucher wie z B Gluumlhlampen

Abb 27 Erweiterungsschaltungen zum Schalten eines (links) oder

mehrerer Verbraucher (rechts)

Zu beachten ist dass der Transistor BC337 maximal 800 mA schalten kann und fuumlr groumlszligere Stroumlme andere Transistoren verwendet werden muumlssen

424 Steuerung von Gleichstrommotoren

44

Sollen Gleichstrommotoren zum Bewegen von Objekten mit dem Mikrocontroller gesteuert werden dann eignet sich dazu der in Abb 28 dargestellte beschaltete IC L293D

Abb 28 Beschaltung des L293D zum

Steuern zweier Gleichstrom-motoren

Mit Pin 1 = Pin 9 = 1 (High) koumlnnen zwei Gleichstrommotoren M1 und M2 (Versorgungs-spannung UM lt 36 V Spulendauerstrom IM lt 600 mA) unabhaumlngig voneinander ein- und ausgeschaltet sowie in der Drehrichtung uumlber die Ports PA0 und PA1 fuumlr M1 und PA2 und PA3 fuumlr M2 gesteuert werden Z B gilt mit PA0 = PA1 = 0 (M1 ausgeschaltet) PA0 = 1 und PA1 = 0 (M1 dreht sich) PA0 = 0 und PA1 = 1 (M1 dreht sich in Gegenrichtung)

45

43 Quellcodes zum RCL Elektronenbeugung 431 Mikrocontroller-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

46

47

48

49

432 PHP-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

50

51

433 Bedienfeld der Laborseite

Tab 11 erlaumlutert die Funktion der Bloumlcke im Quellcode

Zeilen Funktion 1 Datei defaultconf einbinden 2 Datei headtpl einbinden

5 - 11 Ausgabe der verbleibenden Experimentierzeit 18 - 21 Button zum Einschalten der Elektronenbeugungsroumlhre 28 - 30 Eingabefeld fuumlr die Beschleunigungsspannung

37 Ruumlckmeldung zur eingegebenen Beschleunigungsspannung 42 Datei foottpl einbinden

Tab 11 Funktion der Programmbloumlcke in der Datei experi-menttpl

52

434 Webcamfeld der Laborseite

In Tab 12 ist die Funktion der Programmbloumlcke und die Anpassungen der Vorlage an das RCL Elektronenbeugung beschrieben

Zeilen Funktion Anpassung RCL Elektronenbeugung

5 Titelangabe erscheint als Tabulatorbeschriftung in Browsern

Name des RCLs eintragen

11 - 15 16 - 20

Zwei Javascripts zum getrennten Aufrufen zweier Po-pup-Fenster mit dargestelltem Webcambildern 1 und 2

Javascript 1 die IP-Adresse eintragen Javascript 2 auskommentiert weil nicht benoumltigt

24 - 40 42 - 60

Zwei Javascripts zum Aktualisieren der Webcambilder 1 und 2

Javascript 2 auskommentiert weil nicht benoumltigt

67 - 71 79 - 83

Aufrufen des ersten Webcambilds der Webcams 1 und 2 beim Aufrufen der Datei

Webcambild 2 auskommentiert weil nicht benoumltigt

72 - 78 84 - 90

Buttons zum Aufrufen der Screenshots der Webcam-bilder 1 und 2

Button 2 auskommentiert weil nicht benoumltigt

91 - 95 Zeile der Tabelle zum Eintragen von Informationen die sich auf die Webcambilder oder den Versuch beziehen

Text in Zeile der Tabelle geschrieben

Tab 12 Funktionen der Codeabschnitte in der Datei videohtm und Anpassung der Vor-lage an das RCL Elektronenbeugung

53

44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung Im Folgenden wird die Installation und Konfiguration des AVR-Studios 418 und der Bascom 11198 Demoversion beschrieben Alle Anleitungen sind zeilenweise von links nach rechts zu lesen

441 AVR-Studio 418 4411 Installation Auf der Webseite von ATMEL Register AVR Studio 418 (build 684) anklicken und Registrie-rungsformular ausfuumlllen Danach die Datei AvrStudio418Setup herunterladen Durch Dop-pelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen Next waumlhlen

I accept hellip und Next waumlhlen Installationsordner und Next waumlhlen

54

Installupgrade hellip und Next waumlhlen Install waumlhlen Die Installation beginnt

Finish waumlhlen

4412 Konfiguration AVR Studio 418 in Windows XP Professional unter StartProgramme aufrufen

Startfenster mit Cancel schlieszligen Unter ToolsProgram AVR Auto Connect waumlhlen

55

Im eingeblendeten Fenster auf der Registerkarte Main als Device ATmega16 und als Programming Mode ISP mo-de waumlhlen

Optional kann Signatur gelesen werden

In der Registerkarte Fuses alle Haumlkchen und Auswahlfel-der wie angegeben waumlhlen

Dann Program waumlhlen

442 BASCOM 11198 Demoversion 4421 Installation Auf der Webseite von Bascom unter Bascom AVR Demo die Zip-Datei setupdemoexe her-untergeladen Durch Doppelklick auf den Dateinamen die Installation starten

Next waumlhlen I accept the agreement und Next waumlhlen

56

Next waumlhlen Installationsordner eingeben und Next waumlhlen

Eintrag im Start-Menuuml eingeben und Next waumlhlen Next waumlhlen

Yes restart the computer now und Finish waumlhlen

57

4422 Konfiguration Bascom AVR in Windows XP Professional unter StartProgramme zum Einstellen der Para-meter des Mikrocontrollers und des Terminals aufrufen

OptionsCompilerChip waumlhlen Einstellungen wie im Bild vornehmen und OK waumlhlen

Auf der Registerkarte Communications Einstellungen wie im Bild vornehmen und OK waumlhlen

Unter OptionsCommunication Einstellungen wie im Bild

vornehmen und OK waumlhlen FileNew waumlhlen Unter ToolsTerminal emulator das Terminal aufrufen und

eingeben Die Befehlsliste des RCLs Elektronenbeu-gung wird angezeigt

45 Installation und Konfiguration von Programmen auf dem RCL-Server Im Folgenden wird der Download die Installation und die Konfiguration von Programmen auf dem RCL-Server unter Windows XP Professional beschrieben Alle Anleitungen sind zeilen-weise von links nach rechts zu lesen Die Installation der Programme sollte in der angegebe-nen Reihenfolge erfolgen

58

451 Einrichten des Internet-Zugangs LAN-Verbindung unter StartSystemsteuerungNetzwerkverbindungen aufrufen

Internetprotokoll (TCPIP) und Eigenschaften waumlhlen Folgende IP-Adresse verwenden waumlhlen IP-Adressen ein-

geben und OK waumlhlen

452 Paket XAMPP 174 Unter apache friends - xampp fuumlr windows und XAMPP Windows 174 Installer anklicken und Datei xampp-win32-174-VC6-installerexe speichern Durch Doppelklick auf die Datei die Installation starten

Sprache und Ok waumlhlen Ok waumlhlen

59

Weiter waumlhlen Zielverzeichnis mit Durchsuchen waumlhlen oder eingeben

Apache nicht als Dienst installieren Fertig stellen waumlhlen

Ja waumlhlen Zum Starten des Apache Webservers das Control Panel

unter StartProgrammeXAMPP 173 for Windows mit Start starten Anstelle von Start erscheint Running

Zum Beenden des Apache Webservers Stop waumlhlen Zum Beenden des Control Panels Exit waumlhlen

60

453 Videoserver webcamXP 5 Private Auf der Webseite von Moonware Studios unter webcamXP 55xx die Datei wlite550 herun-terladen Durch Doppelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen I Agree waumlhlen

Next waumlhlen Auszliger webcamXP 5 brauchen keine weiteren Komponen-

ten installiert zu werden

Den vorgeschlagenen Ordner und Install waumlhlen Finish waumlhlen

61

WebcamXP unter StartProgramme aufrufen Zugesandte

Lizenz-Daten in das eingeblendete Fenster eingeben und Register waumlhlen

Beim Starten des Programms stellt webcamXP automa-tisch eine Verbindung zu den am Computer angeschlosse-nen Webcams her

Nach dem Start ist Uumlberwachen gewaumlhlt Durch Rechts-klick mit der Maus auf das Videofenster wird zu jeder Vi-deoquelle ein Kontextmenuuml angezeigt Wird kein Videobild dargestellt das Kontextmenuuml aufrufen Art der Videoquelle waumlhlen (hier USB) und unter den erkannten Videoquellen (hier USB-Videogeraumlt) die gewuumlnschte waumlhlen

Das Videoformat muss fuumlr eine passende Darstellung auf

der Laborseite auf 320 x 240 eingestellt sein Ist das nicht der Fall im Kontextmenuuml unter Video Format einstellen

In gleicher Weise kann eine zweite Videoquelle hinzugefuumlgt werden

In der Registerkarte Web Broadcast kann unter

Broadcast (HTTP) der Videoserver mit Ausschalten ge-stoppt und mit Aktivieren gestartet werden

Zur Zielwahl des Webservers (131246237167 - Internet D16W3X3J - Computer 127001 - Local Host) Videoser-ver stoppen und einstellen Videoserver wieder starten

62

454 Terminalprogramm Hyperterminal Hyperterminal in Windows XP Professional unter StartProgrammeZubehoumlrKommunikation aufrufen

Name der neuen Verbindung - z B Interface - eingeben

und OK waumlhlen Die Verbindung zwischen Computer und Interface wurde

uumlber einen USB-Seriell-Adapter hergestellt Dann erschei-nen zwei zusaumltzliche Eintraumlge (Motorola Comp Modem und COM5) in der Liste Prinzipiell muss eine COMx-Verbindung gewaumlhlt werden

Eigenschaften von COM 5 wie im Bild einstellen und OK

waumlhlen DateiEigenschaften aufrufen und ASCII-Konfiguration

waumlhlen

63

Haken bei Eingegebene Zeichen lokal ausgeben (lokales

Echo) setzen um eingegebenen Zeichen im Hyperterminal zu sehen

Bei funktionsfaumlhiger Verbindung erscheint nach Eingabe von Return die Befehlsliste des Interface

Durch Aufrufen von DateiSpeichern die erstellte Verbin-

dung z B auf dem Desktop speichern Dadurch braucht die Verbindung nicht immer wieder von neuem konfiguriert wer-den

Nach Aufrufen von DateiBeenden die bestehende Verbin-dung mit Ja beenden

64

Wurde ein falscher COM-Port gewaumlhlt reagiert das Inter-

face auf die Eingabe Return nicht Hyperterminal dann beenden

Der COM-Port kann dann nicht unter DateiEigenschaften im Hyperterminal aber unter Eigenschaften des Kontext-menuumls der Datei Interfaceht in der Registerkarte Verbin-den mit geaumlndert werden Dann OK waumlhlen und erneut Verbindung testen

65

455 Fernwartungssoftware TeamViewer 6 Host Auf der Webseite von Teamviewer GmbH unter Fuumlr unbeaufsichtigte Server TeamViewer Vollversion die Datei TeamViewer_Setup-wq herunterladen Das Programm muss auf dem RCL-Server und dem Computer der auf den RCL-Server zugreifen soll installiert werden Durch Doppelklick auf die Datei die Installation starten

Ausfuumlhren waumlhlen Weiter waumlhlen

Fuumlr die private nicht kommerzielle Nutzung ist Teamviewer kostenlos

privat nicht-kommerziell und Weiter waumlhlen

Beide Haumlkchen setzen und Weiter waumlhlen

66

Ja un Weiter waumlhlen Weiter

Computername und Kennwort fuumlr den Zugriff auf den RCL-Server oder den eigenen Computer vergeben Kenn wort notie-ren

Ein Teamviewerkonto ist nicht erforderlich Kann auch spaumlter noch eingerichtet werden

ID fuumlr den Computer auf dem das Programm installiert wird fuumlr Zugriff notieren

Das Programm wird gestartet Standardmaumlszligig vorein-gestellt ist der Start des Programms beim Start des Be-trienssystems

67

46 Selbstbau eines elementaren RCLs 461 Hard- und Software Auch ohne gleich ein vielleicht teures physikalisches Experiment zu steuern laumlsst sich mit wenigen Bauelementen ein elementares RCL realisieren Von einer Webseite im Internet sol-len eine Leuchtdiode (LED) ein- oder ausgeschaltet sowie der Zustand der Leuchtdiode und eines Tasters abgefragt werden An Hard- und Software werden benoumltigt

1 Low-Current-LED 5 mm 2 mA 1 Widerstand 18 kΩ 1 Taster und optional zwei 10-polige Wannenstecker mit ungefaumlhr 10 cm passendem Flachbandkabel und Buchsen

Interface in Basisschaltung Null-Modem-Kabel 12 V DC Steckernetzteil (larr 1)

Installierte Bascom-Demo-Version (larr 42)

AVR ISP-Programmer mit 10-poligem Programmierkabel

Installiertes und konfiguriertes AVR Studio 418 (larr 41)

Installiertes Paket XAMPP (larr 52)

Texteditor wie z B Notepad in Windows XP Professional

Konfigurierte Hyperterminalverbindung (larr 54)

462 Bestuumlckung der Platine Abb 29 zeigt zur Orientierung fuumlr das Einloumlten der Bauelemente die fertig bestuumlckte Platine des Interface

Abb 29 Mit elementarem RCL bestuumlckte Platine

des Interface

LED mit Vorwiderstand und der Taster sind rechts neben dem Mikrocontroller im Lochraster-bereich aufgebaut und uumlber Wannenstecker und Flachbandkabel mit dem Port A des Mikro-controllers verbunden (die drei Bauteile rechts neben dem ATmega16 werden nicht benouml-tigt) Tab 13 erlaumlutert die Schritte zur Bestuumlckung der Platine des Interface

68

Nr Schaltung Erlaumluterung

1

Die Leuchtdiode (LED) mit dem Pluspol (langes Beinchen) an PortA0 (PIN40 oben rechts) des Mikrocontrollers anloumlten

An das kurze Beinchen einen 18kΩ Widerstand loumlten dessen anderes Ende mit der Masse (GND) verbinden

2

Den Taster mit PortA1 (PIN39 = 2 Beinchen von oben rechts) und Masse (GND) verbinden

3

Draufsicht

Belegung des 10-poligen Wannensteckers 1 GND (Masse) im Foto oben links 2 +5 V 3 PortA0 4 PortA1 10 PortA7 im Foto unten rechts

Tab 13 Schritte zum Aufbau des elementaren RCLs

463 Lokal gesteuertes RCL Nachfolgend ist der Basic-Programmcode des Mikrocontrollers zur Steuerung und Abfrage der LED und des Tasters angegeben 01 $regfile = m16DEFdat Microcontroller ATmega16 02 $crystal = 11059200 110592MHz Quarz 03 $baud = 9600 Baudrate 04 05 ---[ Variables ]--------------------------------------------------------------- 06 Dim Rs232kommando As String 10 erst Befehlspuffer dann Kommando 07 Dim Parameter As String 10 Parameter 08 Dim Str_pos As Byte Position von Leerzeichen zur Trennung von Kommando und Pa-rameter 09 10 ---[ Initialisierung ]--------------------------------------------------------- 11 Ddra0 = 1 PortA0 als Ausgang fuumlr LED 12 Porta0 = 0 LED aus 13 Ddra1 = 0 PortA1 als Eingang fuumlr Taster 14 Porta1 = 1 Pull-Up aktivieren 15 16 ---[ Main program loop ]------------------------------------------------------- 17 Do Start der Endlos-Schleife 18 19 If Ischarwaiting() = 1 Then Zeichen uumlber RS232 empfangen 20 Input Rs232kommando neues Kommando lesen 21 Parameter = Parameter initialisieren 22 Str_pos = Instr(rs232kommando ) Leerzeichen im Kommando suchen 23 If Str_pos gt 0 Then falls Leerzeichen dann in Kommando+Parameter zerlegen 24 Incr Str_pos Str_pos soll jetzt auf 1Zeichen des Parameters zeigen 25 Parameter = Mid(rs232kommando Str_pos ) Parameter = Teilstring nach Leerzeichen 26 Parameter = Ucase(parameter) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 27 Str_pos = Str_pos - 2 Str_pos soll jetzt auf letztes Zeichen des Kommandos zeigen 28 Rs232kommando = Left(rs232kommando Str_pos)Kommando = Teilstring vor Leerzeichen 29 Rs232kommando = Ucase(rs232kommando) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 30 End If 31 32 Select Case Rs232kommando Eventhandler Interpretation der Kommandos 33 Case Print Hilfe Hilfeseite anzeigen 34 Print LED on - LED einschalten 35 Print LED off - LED ausschalten 36 Print LED - zeigt Status der LED an 37 Print SW - zeigt Status des Schalters an 38

1K8

LED rotmicroC PortA0(PIN40)

Taster

microC PortA1(PIN39)

1

3

2

69

39 Case LED If Parameter = ON Then LED schalten 40 Porta0 = 1 41 End If 42 If Parameter = OFF Then 43 Porta0 = 0 44 End If 45 46 Case LED If Porta0 = 0 Then Status der LED ausgeben 47 Print LED aus 48 Else 49 Print LED an 50 End If 51 52 Case SW If Pina1 = 1 Then Status des Schalters ausgeben 53 Print Taster offen 54 Else 55 Print Taster geschlossen 56 End If 57 58 Case Else Print gt Rs232kommando lt ungueltiger Befehl - weitere Infos mit Info bei unguumlltigen Eingaben 59 End Select 60 61 End If 62 63 Loop Endlos-Schleife Springe zu Do 64 65 End wird nie erreicht

Der erste Teil des Programms (Zeilen 1 - 15) enthaumllt die Systemparameter Variablen und Initialisierung der Ein- und Ausgaumlnge Der zweite Teil enthaumllt ab Zeile 17 das Hauptpro-gramm in dem Benutzereingaben uumlber die serielle Schnittstelle empfangen interpretiert und in entsprechende Anweisungen umgesetzt werden Tab 14 erlaumlutert den Programmcode de-taillierter

Zeilen Erlaumluterung

1 - 3 Diese Angaben teilen dem Compiler (Bascom) mit welcher Prozessor eingesetzt wird wie schnell dieser getaktet (Quarz) ist und mit welcher Uumlbertragungsgeschwindigkeit die Kommunikation uumlber die serielle Schnittstelle (RS232) mit dem PC erfolgen soll

6 - 8 Es werden drei Variablen genutzt Die Eingabe uumlber die serielle Schnittstelle wird in rs232kommando gespeichert Es wird ein Text der Form Kommando ltLeerzeichengt Parameter erwartet so dass die Variable Parameter den-selbigen aufnimmt Die Variable str_pos wird fuumlr die Trennung von Kommando und Parameter benoumltigt

11 - 14

Mit dem Befehl ddrPX (ddr = data direction) wird festgelegt ob ein Beinchen als Ausgang (=1) oder als Eingang (=0) arbeiten soll Der ATmega16 besitzt 32 Ein-Ausgaumlnge die in vier Ports (P=AD) zu je 8 Pins (X=07) unterteilt sind ddrA0 = 1 legt also das 1 Beinchen (Pin 0) von PortA als Ausgang (=1) fest Mit dem Befehl PortA0 =1 kann dieser Pin dann durch Zuweisen von 1 oder 0 an- bzw ausgeschaltet werden Im Datenblatt erfahren Sie welches der 40 Beinchen des Mikrocontrollers wie bezeichnet wird (Pin-Belegung) Wird ein Beinchen als Eingang verwendet (ddrA1 = 0) koumlnnen Sie optional einen so genannten Pull-Up-Widerstand aktivieren (PortA1=1) oder deaktivieren (PortA1=0) Auch hierzu sollten Sie sich unbedingt mit dem Datenblatt vertraut machen

17 63 Das Hauptprogramm besteht aus einer Endlosschleife d h der Mikrocontroller verrichtet ununterbrochen seinen Job so lange er mit Strom versorgt wird

19 - 30 Falls ein Zeichen uumlber die serielle Schnittstelle empfangen wurde wird dieses und alle folgenden gelesen Anschlie-szligend wird gepruumlft ob der empfangene Text von der Form Kommando ltLeerzeichengt Parameter ist so dass er ge-gebenenfalls in ein Kommando und einen Parameter zerlegt werden kann

32 - 59 Dieser Abschnitt wird mit Event-Handler bezeichnet Hier wird auf die Kommandos (Events) reagiert und die ent-sprechenden Schritte ausgefuumlhrt zB schalten LED je nach Wert der Variablen Parameter an- bzw ausschalten

46 52

In beiden Zeilen wird ein Wert eines Ports abgefragt Unterschiedlich ist dass in Zeile 46 der Status eines Ausgangs abgefragt wird (porta0) und in Zeile 52 der Zustand eines Eingangs (pina0) Die Anweisung IF porta0 = 0 THEN pruumlft (hier ist = ein Vergleich und KEINE Zuweisung) ob zuletzt die LED ausgeschaltet (Zuweisung porta0 = 0) wurde Die Anweisung IF pina1= 1 THEN liest den Status eines Eingangs Hier kann festgestellt werden ob der Eingang uumlber den internen Pull-UP-Widerstand auf +5V liegt (pina1 liefert 1) oder ob der Schalter den Eingang mit Masse (0V) verbindet (pina1 liefert 0)

Tab 14 Erlaumluterung des Mikrocontroller-Programmcodes fuumlr elementares RCL

70

In Bascom AVR eine neue Datei erzeugen (FileNew) den Programmcode ohne Kommenta-re eingeben und mit ProgramCompile (F7) eine Hexadezimaldatei erzeugen Die Hexadezi-maldatei mit dem AVR-Studio und dem AVR-ISP-Programmer in den Mikrocontroller schrei-ben (larr 222 Programmuumlbertragung) Nach dem Verbinden von Computer und Interface per Null-Modem-Kabel kann durch Eingabe von in das konfigurierte Hyperterminal die Befehls-liste in Abb 30 aufgerufen werden

Abb 30 Aufgerufene Befehlsliste im Hyperterminal

Durch Eingabe von LED on oder LED off kann die LED ein- und ausgeschaltet LED zeigt den Status der LED und sw den Status des Tasters an Alternativ zum Hyperterminal kann auch das Terminal in BASCOM unter ToolsTerminal Emulator verwendet werden (larr 422)

464 Ferngesteuertes RCL Zum Ansteuern des Interfaces und zum Bedienen des Versuchsaufbaus uumlber das Internet wird eine Webseite benoumltigt die dem Benutzer alle Bedienelemente des Experiments zur Verfuumlgung stellt

Der Benutzer benoumltigt anklickbare Buttons im Webbrowser

Der Webserver muss die Information welcher Button gedruumlckt wurde empfangen und ein entsprechendes Kommando uumlber die serielle Schnittstelle an das Interface senden

Beide Schritte sind im nachfolgenden PHPHTML-Quellcode zusammengefasst 01 ltDOCTYPE HTML PUBLIC -W3CDTD HTML 401 TransitionalEN httpwwww3orgTRhtml4loosedtdgt 02 lthtmlgt 03 ltheadgt 04 ltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1gt 05 lttitlegtelementares RCLlttitlegt 06 ltheadgt 07 08 ltbodygt 09 ltphp 10 if (isset($_POST[Kommando])) wurde bereits Kommando gesendet 11 if( ( $handle = fopen( COM1 w+ ) ) ) Schnittstelle oumlffnen 12

71

13 throw new Exception( Can not access serial port 2 ) ohne Erfolg 14 15 fwrite( $handle $_POST[Kommando] chr( 13 ) ) Befehl an Interface senden 16 switch ( $_POST[Kommando] ) Antwort von Interface auswerten 17 case LED $tmp = fgets( $handle ) Echo von Interface ignorieren 18 $antwort = fgets( $handle ) Antwort des Interfaces 19 echo Antwort $antwort Ausgabe auf Webseite 20 break switch verlassen 21 22 case SW $tmp = fgets( $handle ) Echo von Interface ignorieren 23 $antwort = fgets( $handle ) Antwort des Interfaces 24 echo Antwort $antwort Ausgabe auf Webseite 25 break switch verlassen 26 27 28 29 fclose( $handle ) Schnittstelle schlieszligen 30 31 else 32 `mode com1 BAUD=9600 PARITY=N data=8 stop=1 xon=off` Schnittstellenparameter setzen 33 34 35 gt 36 37 lth3gtBefehl sendenlth3gt 38 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 39 ltinput type=hidden name=Kommando value=LED ON gt 40 ltinput type=submit value=LED anschalten gt 41 ltformgt 42 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 43 ltinput type=hidden name=Kommando value=LED OFF gt 44 ltinput type=submit value=LED ausschalten gt 45 ltformgt 46 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 47 ltinput type=hidden name=Kommando value=LED gt 48 ltinput type=submit value=LED abfragen gt 49 ltformgt 50 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 51 ltinput type=hidden name=Kommando value=SW gt 52 ltinput type=submit value=Taster abfragen gt 53 ltformgt 54 ltbodygt 55 lthtmlgt Den Quellcode in den Texteditor kopieren und im Ordner htdocs von XAMPP z B unter rclphp speichern HTML-Dateien mit PHP-Code (Zeilen 9-35) muumlssen mit der Erweiterung php gespeichert werden damit der Apache Webserver zwischen HTML-Seiten mit und ohne PHP-Code unterscheiden kann Den installierten Apache Webserver starten (larr 452) und im Adressfeld des Webbrowsers die IP-Adresse http127001rclphp aufrufen Das Bedi-enfeld des elementaren RCLs in Abb 31 wird im Browserfenster angezeigt

72

Abb 31 Laborseite des elementaren RCLs

Im Bedienfeld kann die LED an- und ausgeschaltet sowie der Status von LED und Taster abgefragt werden

  • 0 Warum ein Tutorial zur RCL-Technik
  • 1 Technische Konzeption
    • 11 Einfuumlhrung
    • 12 Wahl der RCL-Technik
      • 2 Lokal gesteuertes RCL
        • 21 Interface
          • 211 Mikrocontroller
          • 212 Basisschaltung und Erweiterungsschaltungen
          • 213 Programmierung des Mikrocontrollers
            • 22 Hyperterminal
            • 23 Positionieren von Objekten
              • 231 Hybrid-Schrittmotoren
              • 232 Schrittmotorsteuerung und Positionierungsmechanik
                  • 3 Ferngesteuertes RCL
                    • 31 RCL-Server
                    • 32 Laborseite
                      • 321 Steuerung des RCLs uumlber das Bedienfeld
                      • 322 Videouumlbertragung im Webcamfeld
                        • 33 Standard-Lernumgebung
                          • 4 ANHANG
                            • 41 Interface in Basisschaltung
                              • 411 Schaltplan und Bauteilliste
                              • 412 Bestuumlckung der Platine
                                • 42 Erweiterungsschaltungen
                                  • 421 Uumlbersicht
                                  • 422 TMC222-Modul zur Schrittmotorsteuerung
                                    • 4221 Schaltplan und Bauteilliste
                                    • 4222 Bestuumlckung der Platine
                                    • 4223 Quellcode des Mikrocontroller-Programms
                                      • 423 Geschaltete Spannungsquellen und Verbraucher
                                      • 424 Steuerung von Gleichstrommotoren
                                        • 43 Quellcodes zum RCL Elektronenbeugung
                                          • 431 Mikrocontroller-Programmierung
                                          • 432 PHP-Programmierung
                                          • 433 Bedienfeld der Laborseite
                                          • 434 Webcamfeld der Laborseite
                                            • 44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung
                                              • 441 AVR-Studio 418
                                                • 4411 Installation
                                                • 4412 Konfiguration
                                                  • 442 BASCOM 11198 Demoversion
                                                    • 4421 Installation
                                                    • 4422 Konfiguration
                                                        • 45 Installation und Konfiguration von Programmen auf dem RCL-Server
                                                          • 451 Einrichten des Internet-Zugangs
                                                          • 452 Paket XAMPP 174
                                                          • 453 Videoserver webcamXP 5 Private
                                                          • 454 Terminalprogramm Hyperterminal
                                                          • 455 Fernwartungssoftware TeamViewer 6 Host
                                                            • 46 Selbstbau eines elementaren RCLs
                                                              • 461 Hard- und Software
                                                              • 462 Bestuumlckung der Platine
                                                              • 463 Lokal gesteuertes RCL
                                                              • 464 Ferngesteuertes RCL

13

mittlerweile als Industriestandard geltende grafische Programmierumgebung zum Messen Steuern und Regeln von Systemen Uumlber umfangreiche Treiber-Bibliotheken lassen sich fast alle gaumlngigen mit einer entsprechenden Schnittstelle ausgestatteten Geraumlte in LabVIEW ein-binden LabVIEW wurde als technische Loumlsung im RCL-Projekt aus mehreren Gruumlnden nicht eingesetzt

Besucher muumlssen einmalig vor dem Experimentieren mit RCLs die LabVIEW Run-Time Engine11 installieren

Es existieren nur wenige Schulgeraumlte mit den erforderlichen Schnittstellen

Die Kosten von ungefaumlhr 1300 euro fuumlr die Basisversion und ungefaumlhr 2800 euro fuumlr die Vollver-sion sind zu hoch

LabVIEW ist fuumlr die zu entwickelnden RCLs bzw die Zielgruppe aus Schuumllern und Studie-rende uumlberdimensioniert Der Nachbau von RCLs durch interessierte Schuumller und Studie-rende waumlre aus Kosten und Anforderungsgruumlnden nur schwer moumlglich

Trotz der graphischen Programmieroberflaumlche von LabVIEW muumlssen im Programmcode immer noch Anpassungen in der speziell fuumlr LabVIEW entwickelten Programmiersprache G vorgenommen werden

Die Einarbeitung in LabVIEW ist vom Zeitaufwand und den Anforderungen her mindes-tens genauso hoch wie die fuumlr Mikrocontroller- und PHP-Programmierung

Eine mit fertigen LabVIEW-Elementen gestaltete Laborseite ist nicht unbedingt nutzer-freundlicher als eine mit PHPHTML erstellte Laborseite

2 Lokal gesteuertes RCL 21 Interface 211 Mikrocontroller Zentrales Bauelement des Interface ist ein ATMEL AVR 8-bit RISC Mikrocontroller ATme-ga16 Dieser enthaumllt im Vergleich zu einem Mikroprozessor auszliger dem Prozessor auch peri-phere Module wie z B Speicher digitale und analoge Ein- und Ausgaumlnge oder Timer fuumlr Zu-satzfunktionen Dadurch kommen Anwendungen von Mikrocontrollern wie z B RCLs meist mit wenigen zusaumltzlichen Bauelementen aus Tab 3 enthaumllt eine Uumlbersicht der wichtigsten Features des Mikrocontrollers zum Prozessor zur Programmierung und Datenspeicherung zu peripheren Modulen und erlaumlutert einige Fachbegriffe

10 Vgl National Instruments 11 Vgl National Instruments LabVIEW Run-Time Engine

14

Feature Erlaumluterung

Proz

esso

r

ATMEL AVR 8 bit RISC Mik-rocontroller ATmega16

ATMEL US-amerikanischer Hersteller von Mikrocontrollern AVR Familie von Mikrocontrollern 8 bit Breite des internen Datenbusses des Mikrocontrollers RISC steht fuumlr Reduced Instruction Set Computer (Rechner mit reduziertem Befehls-

satz) Designphilosophie von Mikrocontrollern mit Befehlssatz aus moumlglichst einfa-chen Befehlen und houmlherer Effizienz des Prozessors

ATmega Eine der Mikrocontroller-Serien von ATMEL 16 steht fuumlr 16 kB Flash-ROM Groumlszlige des Programmspeichers des Mikrocontrollers

131 Befehle mit 1-2 Taktzyk-lenBefehl

Die ATmega-Serie besitzt unter den Mikrocontroller-Serien von ATMEL den groumlszligten Befehlssatz Die meisten Befehle benoumltigen zur Ausfuumlhrung nur einen Taktzyklus

Variabel waumlhlbare Taktfre-quenzen bis zu 16 MHz

Ein externer Schwingquarz legt die Schwingungsfrequenz einer Oszillatorschaltung und damit die Taktfrequenz des Mikrocontrollers fest

Prog

ram

mie

rung

und

Dat

ensp

eich

erun

g

ISP uumlber SPI-Bus in 16 kB Flash-ROM Programm-Speicher

ISP steht fuumlr In System Programming Der Mikrocontroller kann ohne aus der Schal-tung entfernt zu werden programmiert werden Es wird kein teures Programmierge-raumlt sondern nur ein Programmieradapter benoumltigt

SPI steht fuumlr Serial Peripheral Interface (Serielles Peripheres Interface) Nach dem Master-Slave-Prinzip arbeitender synchroner serieller Datenbus zur Kommunikation zwischen digitalen Schaltungen

Flash-ROM Kann zur Speicherung des Programmcodes ca 1000-mal neu be-schriebengeloumlscht - geflashed - werden aber beliebig oft gelesen werden Daten bleiben auch ohne Versorgungsspannung erhalten

512 B EEPROM 1 kB internes SRAM

EEPROM steht fuumlr Electrically Erasable Programmable Read Only Memory (Elektrisch loumlschbarer und programmierbarer Nur-Lese-Speicher) Nichtfluumlchtiger Speicher der beliebig oft gelesen und mindestens 100000 mal beschrieben werden kann Kann z B zum Speichern von Messwerten und Konfigurationsdaten verwen-det und uumlber ISP programmiert werden

SRAM steht fuumlr Static Random Access Memory Fluumlchtiger Speicher der beliebig oft gelesen und beschrieben werden kann Wird z B zur Speicherung von Variablen und des Stacks verwendet

Perip

here

Mod

ule

32 programmierbare Ein- und Ausgaumlnge

Der Mikrocontroller ist 40-polig Davon koumlnnen 32 Pole entweder als Ein- oder Aus-gang programmiert werden

Zwei 8-bit- und ein 16-bit-Timer mit Vorteilern und Ver-gleichs-Modus

Die vom Quarzoszillator gesteuerten Timer erlauben z B praumlzise Zeitmessungen oder Interrupts bei bestimmten Zaumlhlerstaumlnden Die maximalen Zaumlhlerstaumlnde sind bei 8 bit 255 und bei 16 bit 1023 Vorteiler erlauben eine Verringerung der Zaumlhlrate

Programmierbare USART USART steht fuumlr Universal SynchronousAsynchronous Receiver Transmitter Seriel-

le Schnittstelle die zur Datenuumlbertragung zwischen Mikrocontroller und Computer benutzt wird

I2C Interface

I2C ist ein synchroner serieller Zweidraht-Bus mit einer Daten- und einer Taktleitung zur Kommunikation zwischen ICs Nach dem Master-Slave-Prinzip kann ein Master bis zu 128 Slaves ansprechen Die Uumlbertragungsrate liegt im Standard-Mode bei 100 kbits

Externe und interne Interrupts

Interrupts unterbrechen das Hauptprogramm des Mikrocontrollers um kurzfristige und zeitkritische Verarbeitungen durchzufuumlhren Externe Interrupts werden durch am Mikrocontroller angeschlossene Hardware gesteuert interne Interrupts durch die Programmierung des Mikrocontrollers

4 PWM-Ausgaumlnge PWM steht fuumlr Pulse Width Modulation (Pulsweitenmodulation) Timer stellen an 4

Ausgaumlngen Rechteckimpulse der Dauer t und Unterbrechungsdauer T-t mit variab-lem Tastverhaumlltnis tT zur Verfuumlgung

8 10-bit ADC

ADC steht fuumlr Analog to Digital Converter (AD-Wandler) Integrierte Schaltung die analoge Eingangsspannung Ue in digitale Ausgangsspannung (Zahl) umwandelt

10-bit Aufloumlsungsvermoumlgen des AD-Wandlers Kleinster aufloumlsbarer Spannungsun-terschied ist (Uemax - Uemin)210

Tab 3 Features des Mikrocontrollers ATmega16

15

212 Basisschaltung und Erweiterungsschaltungen Abb 5 zeigt am Beispiel des RCLs Elektronenbeugung die Platine des Interface mit den Funktionsgruppen 1 - 5 der Basisschaltung und den Funktionsgruppen 6 und 7 der Erweite-rungsschaltungen (larr 11 Abb 4)

Abb 5 Platine des Interface des RCLs Elektronenbeugung

Abb 6 zeigt den dazugehoumlrigen Schaltplan mit den Nummern der Funktionsgruppen und die Pinbelegung des Mikrocontrollers ATmega16

Abb 6 Schaltplan des Interface des RCLs Elektronenbeugung (links) und Pinbelegung

des Mikrocontrollers ATmega16 (rechts)

16

Basisschaltung Die Spannungsversorgung (1) des Interface erfolgt uumlber ein Universal-Steckernetzteil mit der Betriebsspannung Ub = 12 V Eine Diode SB140 schuumltzt die Elektronik des Interface vor falscher Polung der Spannungsversorgung Der Spannungsregler L7805 wandelt die Betriebsspannung am Hohlstecker in eine Gleichspannung von 5 V fuumlr die Spannungs-versorgung der elektronischen Bauelemente des Interface um Die Betriebsspannung kann im Interface auch direkt zur Ansteuerung von Relais oder zur Spannungsversorgung kleinerer Motoren verwendet werden Bei Bedarf kann unter Beachtung der Kuumlhlung des L7805 das Interface mit houmlheren Betriebsspannungen z B fuumlr staumlrkere Schrittmotoren betrieben werden Die nicht hinreichend stabile und temperaturabhaumlngige Frequenz des internen RC-Oszillators im Mikrocontroller (2) kann bei Verwendung der USART zu Problemen fuumlhren Daher wird ein externer 110592 MHz Schwingquarz (3) eingesetzt Der IC MAX232 ist ein Pegelwandler der die 0V+5 V-Signale der seriellen Schnittstelle (4) des Mikrocontrol-lers an die plusmn12 V-Signale der seriellen Schnittstelle des Computers anpasst Uumlber den ISP-Stecker kann der Mikrocontroller programmiert werden (5) Das Interface in der Ba-sisschaltung kann im Selbstbau angefertigt werden (rarr 41)

Erweiterungsschaltungen Nur die wenigsten Aktoren Sensoren gesteuerte Geraumlte und Bauelemente eines RCLs lassen sich direkt vom Mikrocontroller ansteuern Beim RCL Elektronenbeugung wird die Heizspannung der Elektronenkanone mit einem Relais zum Schalten der Netzspannung des Hochspannungsnetzgeraumltes ein- und ausgeschaltet (6) Liefert der Mikrocontroller am Port PA0 die Spannung 5 V (high) so wird die Kollektor-Emitter-Strecke des Transistors BC 337 niederohmig fast die gesamte Betriebsspannung Ub = 12 V faumlllt uumlber dem Relais ab und es flieszligt ein Strom durch das Relais Die Diode 1N4001 schuumltzt den Transistor vor Induktionsspannungsspitzen beim Ein- und Ausschalten der Spule im Relais Am Steuereingang des Hochspannungsnetzgeraumlts kann durch Anlegen einer Steuer-spannung US zwischen 0 V und 5 V die Beschleunigungsspannung der Elektronenkanone zwischen 0 und 43 kV im belasteten Zustand bei eingeschalteter Gluumlhkathode variiert werden Die analoge Steuerspannung US erzeugt ein 8-bit Digital-Analog-Wandler PCF8591 der uumlber den I2C-Bus des Mikrocontrollers (Ports PC0 und PC1) mit Binaumlr-codes zwischen 0 und 255 angesteuert wird (7) Die Ausgangsspannung des DA-Wandlers liegt in 256 Stufen zwischen 370 mV und 497 V Dieser Schaltung wurde der Vorzug gegenuumlber der Erzeugung einer Steuerspannung mit Hilfe eines der Pulsweiten-modulationsausgaumlnge des Mikrocontrollers gegeben weil der Programmieraufwand ge-ringer und die Steuerspannung keine Restwelligkeit aufweist

Eine Uumlbersicht zu Erweiterungsschaltungen fuumlr Sensoren und Aktoren (rarr 421) zeigt die Anpassungsfaumlhigkeit des Interface an die unterschiedlichsten Experimente

17

213 Programmierung des Mikrocontrollers Im Folgenden wird die Programmstruktur des Mikrocontroller-Programms und die Uumlbertra-gung des Programmcodes in den Mikrocontroller beschrieben

Programmstruktur Der Mikrocontroller ist mit einem Programm (Firmware) ausgestattet um die Aufgaben des Interfaces abzuarbeiten Hierzu zaumlhlen im Wesentlichen Programmteile zur Kommu-nikation mit dem RCL-Server und zur Steuerung des Experiments da das Interface eine Schnittstelle zwischen Experiment und RCL-Server darstellt Weitere Programmteile sind beispielsweise zur Initialisierung des Versuchsaufbaus und der Steuerparameter sowie zur Konfiguration des Interfaces realisiert Abb 7 zeigt ein Flussdiagramm der Programm-teile zur Kommunikation mit dem RCL-Server und zur Steuerung des Experiments

Abb 7 Flussdiagramm der Programmierung des Mikrocontrollers

Der Programmteil zur Kommunikation mit dem RCL-Server besteht im Wesentlichen aus einer Schleife die unablaumlssig auf Steuerzeichen des RCL-Servers wartet diese gegebe-nenfalls empfaumlngt und auswertet Soll mittels eines empfangenen Steuerzeichens der Versuchsaufbau angesteuert werden wird vom Kommunikations-Programmteil eine ent-sprechende Anweisung fuumlr den Steuerungs-Programmteil generiert In der Schleife wer-den auch Antworten wie z B Messergebnisse des Steuerungs-Programmteils entgegen-genommen und an den RCL-Server ausgegeben Der Kommunikations-Programmteil kann Kommandos mit und ohne Parameter entgegen-nehmen und verarbeiten So lassen sich einfache Befehle wie Start und Stopp eines Mo-tors aber auch speziellere Anweisungen wie Messe uumlber den Bereich von a nach b mit einer Schrittweite c ausfuumlhren Auch Messergebnisse oder Statusinformationen in Form einzelner Daten wie Zahlen oder Listen koumlnnen vom Kommunikations-Programmteil an den RCL-Server uumlbertragen werden Ferner uumlbernimmt der Kommunikations-Programmteil auch den Austausch von Konfigurationsdaten fuumlr das Interface beispiels-

18

weise Motorparameter oder Zeitvorgaben fuumlr eine Standby-Funktion Schlieszliglich gibt der Kommunikations-Programmteil auch Fehlermeldungen an den RCL-Server aus etwa bei einem Fehlerzustand im Experiment oder bei fehlerhaften Anweisungen des Besuchers bzw des RCL-Servers Im Programmteil zur Steuerung des Experiments erfolgt die Ansteuerung von Aktoren und das Auslesen von Sensoren mittels elektronischer Aus- und Eingaumlnge (Ports) des Mikro-controllers Gegebenenfalls sind zwischen den Ports des Mikrocontrollers und dem Expe-riment Erweiterungsschaltungen erforderlich (larr 212 Erweiterungsschaltungen) Der Steuerungs-Programmteil ist als Interrupt-Routine implementiert Interne Zeitgeber des Mikrocontrollers rufen den Programmteil zyklisch z B alle 1 oder 10 Millisekunden auf wobei die zuvor beschriebene Schleife des Kommunikations-Programmteils kurzzeitig fuumlr die Abarbeitung des Steuerungs-Programmteils unterbrochen wird Hierdurch wird die Steuerung als Real-Time-Prozess12 ausgefuumlhrt und es koumlnnen insbesondere zeitkritische Steueraufgaben mit einer Aufloumlsung von ungefaumlhr 1 - 10 ms zuverlaumlssig erledigt werden Ferner ist im Mikrocontroller und dem Programm ein sogenannter Watchdog installiert der das Programm bei einem Programmabsturz automatisch neu startet Der Watchdog als elektronische Baugruppe im Mikrocontroller fuumlhrt einen Neustart des Mikrocontrollers (Reset) durch sofern er nicht mehr uumlber das Programm in vorgegebenen Zeitintervallen angesteuert wird Je nach RCL gibt es noch weitere Interrupt-Routinen die unabhaumlngig vom Zeittakt des Mikrocontrollers auf externe Ereignisse wie z B Ausgangsspannungsaumlnderungen eines Sensors reagieren Damit kann besonders schnell auf Erfordernisse des Experiments re-agiert oder es koumlnnen Zeitmessungen mit einer Genauigkeit von ungefaumlhr 10-6 s durchge-fuumlhrt werden Im Anhang (rarr 431) ist der Pascal-Quellcode fuumlr den Mikrocontroller des RCLs Elektronenbeugung verfuumlgbar

Programmuumlbertragung Nach der Kompilierung des Assembler- Basic- C+- C++- oder Pascal-Programms liegt eine Hexadezimaldatei vor die vom Computer in den Mikrocontroller uumlbertragen werden muss (Flashen des Programms) Zur Programmuumlbertragung muss das AVR-Studio instal-liert und konfiguriert sein (rarr 441) Abb 8 zeigt wie die Programmuumlbertragung durchge-fuumlhrt wird

12 Real-Time bedeutet hier dass die maximale Dauer eines Vorgangs vorhersehbar und gewaumlhrleistet ist dass eine Steuer-

aufgabe nach einer vorhersehbaren Zeit abgeschlossen ist

19

Abb 8 Programmuumlbertragung zwischen Computer und Mikrocontroller im Inter-

face des RCLs Elektronenbeugung uumlber USB-Seriell-Adapter und ISP-Programmer

Das Interface braucht nicht mit dem Experiment verbunden zu sein Auch Erweiterungs-schaltungen innerhalb oder auszligerhalb des Interface muumlssen nicht mit dem Mikrocontroller verbunden sein Das Interface ermoumlglicht uumlber die ISP-Schnittstelle die Programmierung mit einem preisguumlnstigen ISP-Programmer ohne ein teureres Experimentierboard13 Zur Uumlbertragung des Programms muss in folgenden Schritten vorgegangen werden

(1) Spannungsversorgung des Interface zur Sicherheit unterbrechen weil beim Verbinden mehrpoliger Steckerverbindungen es zu Kurzschluumlssen kommen kann

(2) 10-poligen ISP-Stecker des ISP-Programmers an die ISP-Schnittstelle des Interface anschlieszligen

(3) ISP-Programmer an die serielle Schnittstelle oder uumlber USB-Seriell-Adapter an die USB-Schnittstelle des Computers anschlieszligen

(4) Spannungsversorgung des Interface wieder herstellen

(5) AVR-Studio unter StartProgramme aufrufen und nach Abb 9 in der Registerkarte Program unter Flash die zu uumlbertragende Hexadezimal-Datei z B Elektronenbeu-gunghex auf der Festplatte auswaumlhlen und Program waumlhlen

13 Vgl ATMEL STK 500 Entwicklerkit bei Reichelt Elektronik

20

Abb 9 Uumlbertragung der Hexadezimaldatei Elekt-

ronenbeugunghex in den Mikrocontroller

(6) Spannungsversorgung des Interface unterbrechen ISP-Programmer vom Interface trennen AVR-Studio beenden und den ISP-Programmer vom Computer trennen

22 Hyperterminal Nach der Programmuumlbertragung kann das Experiment uumlber das konfigurierte Hyperterminal (rarr 454) lokal gesteuert werden Mit dem Hyperterminal koumlnnen als Text eingegebene Be-fehle oder Abfragen an den Mikrocontroller gesendet oder von diesem empfangen werden Der Computer muss wie bei der Programmuumlbertragung mit dem Interface per Null-Modem-Kabel uumlber die serielle Schnittstelle oder einen USB-Seriell-Adapter verbunden sein Das In-terface muss an die Versorgungsspannung anschlossen sein braucht aber nicht mit dem Experiment verbunden zu sein Abb 10 zeigt nach Eingabe von und von param im Hyper-terminal die Befehlsliste des Mikrocontrollers fuumlr das RCL Elektronenbeugung

21

Abb 10 Befehlsliste des Mikrocontrollers im Hyperterminal fuumlr das RCL Elektronenbeugung

Tab 4 gibt Erlaumluterungen zur Befehlsliste

BefehlAbfrage Erlaumluterung

DA x Am Eingang des DA-Wandlers wird die Zahl x (0 - 255) im Binaumlrcode

angelegt und die Ausgangsspannung des Hochspannungsnetzgeraumlts bzw die Beschleunigungsspannung der Elektronenkanone eingestellt

OnOff Hochspannungsnetzgeraumlt und Gluumlhkathode der Elektronenkanone ein-

oder ausschalten Beim Einschalten wird die Steuerspannung des Inter-face am Hochspannungsnetzgeraumlt auf asymp 0 V einstellt

Standby Ausgabe der eingestellten Standbyzeit von 300 s setSB x Standbyzeit einstellen

next Standby in Ausgabe der verbleibenden Standbyzeit (254 s) bis das Experiment

ausgeschaltet wird Eine negative Standbyzeit gibt die Zeit seit dem Ab-lauf der Standbyzeit an

Power On Delay Ausgabe der Verzoumlgerungszeit (2 s) bis das Hochspannungsnetzge-

raumltElektronenbeugungsroumlhre nach dem Ausschalten oder nach Ablauf der Standbyzeit erneut eingeschaltet werden kann

setPOD x Verzoumlgerungszeit einstellen

power on enabled in Ausgabe wie lange Hochspannungsnetzgeraumlt nicht eingeschaltet wer-

den kann Zeiten unter 0 bedeuten dass Power-On-Delay-Zeit ablaufen ist

Tab 4 Erlaumluterung der Befehle in Abb 10

23 Positionieren von Objekten In fast allen RCLs des RCL-Portals auszliger den RCLs Elektronenbeugung und Oszilloskop muumlssen Objekte rotatorisch oder translatorisch positioniert werden Eingesetzt werden Hyb-rid-Schrittmotoren als Aktoren eine Schrittmotorsteuerung von Trinamic als Erweiterungs-schaltung (TMC222-Modul) die Positionierungseinheit ausgedienter Flachbrett-Scanner und ein Referenz-Taster als Sensor

231 Hybrid-Schrittmotoren Abb 11 zeigt den vereinfachten schematischen Aufbau eines zweiphasigen Schrittmotors mit getrennten magnetischen Kreisen des Stators und einem permanent magnetisierten zweipoligen Rotor (Polpaarzahl 1)

22

Abb 11 Funktionsprinzip von Schrittmotoren Unipolare (links) und bipolare Schaltung (rechts)

von Schrittmotoren mit Bestromungstabellen fuumlr Voll- und Halbschrittbetrieb Darge-stellt ist der Schritt 0

Der Rotor verfuumlgt bei der dargestellten Polreihenfolge S-S-N-N des Stators uumlber eine stabile Stellung bei einer hypothetischen (magnetische Monopole) Polreihenfolge N-S-N-S gaumlbe es mit diesem Aufbau des Stators nur instabile Stellungen des Rotors Um den Rotor in Bewe-gung zu setzen muss die Polreihenfolge S-S-N-N im oder entgegen den Uhrzeigersinn (Rechts- oder Linksdrehung) weitergeschaltet und der Rotor vom magnetischen Schrittfeld mitgenommen werden

Die magnetische Polaritaumlt eines magnetischen Kreises laumlsst sich entweder durch zwei Spu-len konstanter elektrischer Polaritaumlt mit unterschiedlichem Wicklungssinn (herstellungstech-nisch zu aufwendig) durch eine Spule mit Mittelanzapfung und konstanter elektrischer Pola-ritaumlt der beiden Teilspulen (unipolare Schaltung) oder durch eine Spule mit wechselnder elektrischer Polaritaumlt (bipolare Schaltung) realisieren In Abb 11 sind dazu die elektrischen Beschaltungen und die Bestromungstabellen fuumlr eine Rechtsdrehung des Rotors dargestellt Fuumlr eine Linksdrehung des Rotors muss die Schrittfolge in umgekehrter Reihenfolge durch-laufen werden

Es wird zwischen Vollschrittbetrieb (graue Zeilen der Tabellen) mit Schrittwinkel 90deg bzw Schrittzahl 4 und Halbschrittbetrieb (alle Zeilen der Tabellen) mit Schrittwinkel 45deg bzw Schrittzahl 8 unterschieden Beim Vollschrittbetrieb werden immer beide magnetische Kreise bestromt und die N-S-Polachse des Rotors nimmt nur Stellungen zwischen den Statorpolen

23

an Beim Halbschrittbetrieb wird zwischen den Vollschritten nur einer der magnetischen Krei-se bestromt und die N-S-Polachse des Rotors kann zusaumltzlich 4 Stellungen in Richtung der Statorpole einnehmen Der Hybrid-Schrittmotor ist die am haumlufigsten vertretene Bauform von Schrittmotoren Abb 12 zeigt den Aufbau eines Hybrid-Schrittmotors

Abb 12 Aufbau eines Hybrid-Schrittmotors fuumlr unipolare und

bipolare Schaltung Daten Schrittwinkel 18deg max Drehmoment 155 Ncm

Der Stator besteht aus zwei Straumlngen mit je 4 in Reihe geschalteten Spulen Der Wick-lungssinn der Spulen ist in beiden Straumlngen so dass sich die Polfolge N-S-N-S uumlber den Umfang ergibt Beide Straumlnge zusammen ergeben unabhaumlngig von der Stromrichtung ei-ne Polfolge N-N-S-S-N-N-S-S uumlber den Umfang Ein zweipoliger Rotor (Polpaarzahl 1) kann im Vollschrittbetrieb 4 Stellungen annehmen Der Rotor des Hybridschrittmotors be-steht aber aus axial magnetisierten Permanentmagneten deren Polpaarzahl durch axial versetzte weichmagnetische Zahnscheiben auf 50 erhoumlht wurde Dadurch erhoumlht sich die Schrittzahl auf 4 sdot 50 = 200 und der Schrittwinkel verkleinert sich auf 360deg200 = 18deg Um stabile Rotorstellungen zu erhalten muumlssen die Statorsegmente ebenfalls gezahnt ausge-fuumlhrt werden

Ein solcher Hybrid-Schrittmotor vereint die Vorteile des Reluktanz- und des permanenter-regten Schrittmotors Ein kleiner Schrittwinkel wird durch das von Reluktanzschrittmotoren bekannte Prinzip der Erzeugung einer Vielzahl von Polen des Rotors durch Zahnscheiben erzielt Ein hohes Drehmoment wird durch das von permanenterregten Schrittmotoren be-kannte Prinzip der Ausfuumlhrung des Rotors als Permanentmagnet erzielt Aufgrund der bi-filaren Wicklung besteht jede Statorwicklung aus zwei Teilspulen und der Schrittmotor kann in unipolarer (alle 6 Anschluumlsse verwendet) und bipolarer Schaltung (nur 4 An-schluumlsse verwendet gemeinsamer Anschluss der Teilspulen bleibt unverwendet) wie in Abb 12 dargestellt verwendet werden

24

Schrittmotoren erlauben nicht nur das Bewegen sondern innerhalb der Leistungsgrenzen (keine Schrittverluste) auch ein genaues Positionieren von Objekten Bei bekannter Schrittzahl auf einer gemessenen Strecke oder Schrittzahl fuumlr den Vollwinkel koumlnnen aus-gehend von einer Referenzstellung Objekte translatorisch oder rotatorisch positioniert werden

232 Schrittmotorsteuerung und Positionierungsmechanik Im Folgenden wird die bei allen RCLs mit Schrittmotoren eingesetzte Schrittmotorsteuerung die Mechanik zur translatorischen Positionierung von Objekten und die Funktionsweise eines Referenztasters beschrieben

Schrittmotorsteuerung Abb 13 zeigt das Blockschaltbild und das im Selbstbau herstellbare TMC222-Modul (rarr 4221 rarr 4222) mit dem IC TMC222 von Trinamic zur Steuerung bipolarer 2-phasiger Hybrid-Schrittmotoren

Abb 13 Blockschaltbild (links) und Platine des TMC222-Moduls (rechts) mit IC TMC 222 auf

der Loumltseite der Platine

Der IC TMC222 enthaumllt ein I2C-Interface zum Anschluss an den I2C-Bus des Mikrocon-trollers (Ports PC0 und PC1) Die 10 kΩ-Pull-up-Widerstaumlnde heben die Takt- (SCL clock) und Datenleitung (SDA data) auf ein Potential von 5 V Der IC TMC222 enthaumllt ei-nen Motortreiber fuumlr Spulenstroumlme bis zu 800 mA und einen Motor-Controller zur Steue-rung der Spulenstroumlme Ein Vorteil des TMC-Moduls ist der relativ geringe Programmier-aufwand fuumlr den Mikrocontroller (rarr 4223) da der IC TMC222 nach Uumlbergabe der Steu-erungsparameter (Drehrichtung Drehzahl hellip) vom Mikrocontroller die Ansteuerung des Schrittmotors uumlbernimmt Der IC TMC222 unterstuumltzt das Beschleunigen und Abbremsen des Schrittmotors enthaumllt einen Schrittpositionszaumlhler und unterstuumltzt Mikrostepping (va-riable Spulenstroumlme zur elektronischen Verkleinerung des Schrittwinkels und groumlszligerer Laufruhe)

25

Falls in RCLs Gleichstrommotoren mit houmlheren Drehzahlen als Schrittmotoren benoumltigt werden kann eine andere Erweiterungsschaltung (rarr 424) eingesetzt werden

Positionierungsmechanik und Referenz-Taster Die Mechanik zur rotatorischen Positionierung von Objekten kann meist kostenguumlnstig selbst oder durch Personal in einer Werkstatt angefertigt werden Abb 14 zeigt eine kos-tenguumlnstige Loumlsung zur translatorischen Positionierung von Objekten

Abb 14 Positionierungseinheit eines Flachbrett-

Scanners Schrittmotor (1) Getriebe (2) Li-nearfuumlhrung (3) Antriebsriemen (4) und er-gaumlnzter Referenz-Taster (5)

Falls der geometrische Aufbau und die geforderte Positionierungsgenauigkeit des RCLs es zulassen kann die Schrittmotor-Positionierungs-Einheit ausgedienter Flachbrett-Scanner zur translatorischen Positionierung von Objekten verwendet werden In Einzelfaumll-len wie dem RCL Weltpendel kann die Positionierungsmechanik auch selbst angefertigt werden Der Referenz-Taster in Abb 14 wird eingesetzt um abzufragen ob ein vom Schrittmotor bewegtes Objekt die Position des Tasters erreicht hat und um diese Position zu referenzieren Ohne eine solche Referenzierung kann die Positionierung eines Objekts langfristig ungenau werden So kann z B beim RCL Weltpendel das Auftreffen der Kugel auf den Magneten zum Uumlberspringen von Schrittmotorstellungen fuumlhren Der Zustand des Referenz-Tasters in Abb 15 wird z B uumlber den Port PA0 des Mikrocontrollers abgefragt

Abb 15 Referenz-Taster zum referenzieren der

Position des bewegten Objekts

26

Zu Problemen koumlnnen undefinierte Zustaumlnde der Eingaumlnge des Mikrocontrollers fuumlhren wie sie beim Prellen dem zeitlich begrenzten schwingen eines Tasters beim Oumlffnen oder Schlieszligen entstehen Abhilfe schafft ein passend dimensionierter parallel zum Taster ge-schalteter Kondensator Bei geoumlffnetem Taster ist der Kondensator aufgeladen Beim Schlieszligen haumllt der Kondensator die Spannung uumlber die Schwingphase trotz kurzzeitig wieder geoumlffnetem Schalter noch aufrecht Analoges gilt fuumlr den Uumlbergang vom geschlos-senen zum geoumlffneten Taster

3 Ferngesteuertes RCL 31 RCL-Server Fuumlr den Betrieb eines RCLs wird ein RCL-Server benoumltigt (larr 11) Vorausgesetzt wird dass bei einem neuen Computer alle notwendigen Treiber (Ethernet Video Audio hellip) zum Be-trieb der Hardware des Computers und Windows XP Professional mit Service Pack 3 instal-liert sind Ein Benutzerkonto braucht nicht angelegt zu werden

Der RCL-Server benoumltigt einen Internetzugang mit statischer IP-Adresse und Uploaddatenra-te von mindestens 200 kbits (DSL 2000) fuumlr die fluumlssige Wiedergabe von Bewegungen in Webcambildern Die statische IP-Adresse wird von der Institution am Standort des RCLs vergeben oder kann von Privatpersonen bei einem Provider beantragt werden Mit folgenden Schritten wird der RCL-Server eingerichtet

Internetzugang einrichten (rarr 451) und im Browser testen

Checken ob die Windows Firewall aktiviert ist

Virenschutzproramm Avira Antivir Personal herunterladen (larr Tab 1) installieren und ak-tualisieren

Uumlber Windows Update alle Updates von Windows XP Professional installieren

Fernwartungssoftware TeamViewer 6 Vollversion (larr Tab 1) herunterladen und auf dem RCL-Server und dem eigenen Computer installieren (rarr 455)

Webeditor Notepad++ herunterladen installieren und aktualisieren (larr Tab 1)

Videoserver WebcamXP 5 herunterladen und installieren (rarr 453)

Paket XAMPP herunterladen und installieren (rarr 452) Verknuumlpfungen mit den Dateien xampphtdocsapache_startbat und xampphtdocsapache_stopbat auf dem Desktop oder in der Schnellstartleiste erstellen und Webserver mit erstgenannter Verknuumlpfung starten Webserver durch Eingabe von 127001 oder localhost ins Adressfeld des Brow-sers testen Bei erfolgreichem Test werden die im Ordner xampphtdocs abgelegten Webseiten von XAMPP dargestellt Statische IP-Adresse des RCL-Servers im Browser eines anderen Computers mit Internetzugang eingegeben Bei erfolgreichem Test werden die Webseiten von XAMPP dargestellt In der Datei xamppphpphpini unter Resource Limits die max_execution_time mit dem Windows-Editor von 60 auf 300 erhoumlhen und die

27

Datei speichern damit PHP bei Befehlen mit laumlngerer Ausfuumlhrungsdauer keine Fehler-meldung liefert

Ordner xampphtdocs mit den Webseiten von XAMPP in xampphtdocs_xampp um-benennen und fuumlr spaumltere Testzwecke nicht loumlschen RCL-Ordner htdocs herunterladen (larr Tab 1) extrahieren und in das Verzeichnis xampp verschieben

Abb 16 zeigt die Struktur des RCL-Ordners htdocs

Abb 16 Struktur des RCL-Ordners htdocs RCL-spezifisch anzupassende Dateien sind grau

hinterlegt

Der geoumlffnete Ordner Labor enthaumllt alle PHP- und HTML-Dateien bzw Programmierungen fuumlr die Funktionalitaumlt des Bedienfelds der Laborseite (larr 11 Abb 3) An das RCL anzupas-sen sind die portalsprachenunabhaumlngigen Dateien configphp und experimentphp sowie fuumlr jede Portalsprache die Dateien defaultconf und experimenttpl in den Ordnern eng fra ger und ita

Datei configphp Zeit bis zum automatischen Logout beim Experimentieren mit dem RCL eintragen

Datei experimentphp PHP-Basisprogrammierung um die RCL-spezifische PHP-Programmierung erweitern (rarr 432)

Datei defaultconf Name des RCLs (z B Elektronenbeugung) in jeder Portalsprache ein-getragen

Datei experimenttpl HTML-Basisprogrammierung um RCL-spezifische Ein- und Ausga-befelder erweitern (rarr 433)

28

32 Laborseite 321 Steuerung des RCLs uumlber das Bedienfeld Das Bedienfeld der Laborseite (larr 11 Abb 3) wird von der Dateien indexphp und experi-menttpl erzeugt Befehle wie das Anklicken von Buttons Eingaben und Auswahl aus Listen werden in ein HTML-Formular mit Formularfeldern in der Datei experimenttpl geschrieben Die Daten werden von der PHP-Datei experimentphp ausgewertet und uumlber die serielle Schnittstelle dem Mikrocontroller-Programm zur Steuerung des Experiments uumlbergeben Die Dateien experimentphp und experimenttpl wurden getrennt angelegt um Code und Design zu trennen und nur das Design in der Datei experimenttpl an die Portalsprache anpasst werden muss

Tab 5 enthaumllt Ausschnitte der HTML-Datei experimenttpl (rarr 433) der Datei experi-mentphp (rarr 432) und des Mikrocontroller-Programms (rarr 431) fuumlr das RCL Elektronen-beugung

29

Code mit Erlaumluterung

expe

rimen

ttpl

1821 Tag ltformgtltformgt definiert ein Formular 18 Attribut action legt fest dass Formulardaten in der Datei indexphp verarbeitet werden Uumlbertragen

werden eine Session-ID ($sid) um exklusiven Zugriff des jeweilgen Besuchers zu sichern und ($portal) um die vom Besucher gewaumlhlte Sprache beizubehalten post ist eine Uumlbertragungsmethode zwischen Browser und Webserver und gibt die die vom Besucher gewaumlhlte Aktion zum Ansteuern des Experiments an die Datei experimenttpl weiter

20 Erzeugt im Bedienfeld den Sendebutton (submit) mit der Aufschrift Elektronenroumlhre einschalten (valu-e)

19 Unsichtbares Feld (hidden) mit Variablennamen action und Wert RoumlhreAn Der Variablenname ac-tion stimmt nur zufaumlllig mit action in Zeile 18 uumlberein

expe

rimen

tphp

24 Die Funktion wird als Eventhaumlndler bezeichnet weil je nach uumlbergebener Aktion - siehe Zeile 19 in experi-

menttpl - die entsprechenden Anweisungen (case) ausgefuumlhrt werden 37 Fuumlr den Fall dass die Variable $action den Wert RoumlhreAn hat wird die Funktion power_on() aufgeru-

fen

59 Schreibt in die Logdatei logtxt den Text RoumlhreAn 6061 Oumlffnet den in der Datei configphp zentral gespeicherten Com-Port an den das Interface angeschlossen ist

oder gibt Fehlermeldung Can not access file system im Bedienfeld aus falls der Com-Port sich nicht oumlff-nen laumlsst

62 Sendet die Zeichenfolge On und chr(13) (entspricht der Betaumltigung der Return-Taste im Hyperterminal) an den Mikrocontroller

63 Schlieszligt serielle Schnittstelle

Que

llcod

e M

ikro

cont

rolle

r

166 Wird uumlber die serielle Schnittstelle der Befehl on empfangen und ist das Einschalten zulaumlssig (Zeiten fuumlr

PowerOnDelay und Standby abgelaufen) dann hellip 167 Hochspannungsnetzgeraumlt einschalten 168 Der DA-Wandler PCF8591 wird unter seiner Adresse PCF8591 = 01001000 angesprochen Parameterein-

stellungen mit 01000000 und Ausgangsspannung auf 0 V einstellen 169 Setzt Standby auf vorgegebene Standbyzeit zuruumlck 171 Gibt Meldung aus wie lange PowerOnDelay noch dauert

Tab 5 Uumlbertragung des Befehls Elektronenroumlhre einschalten vom Bedienfeld zum Experi-ment

30

Anhand der Erlaumluterungen der Programmcodes koumlnnen die Ablaumlufe zwischen dem Druumlcken des Buttons Elektronenroumlhre einschalten und dem Einschalten der Elektronenbeugungs-roumlhre oder der Eingabe einer Beschleunigungsspannung und dem Anlegen einer Beschleu-nigungsspannung verfolgt werden Uumlber das Bedienfeld koumlnnen nur die von der Datei expe-rimenttpl bereitgestellten Befehle on und da der insgesamt implementierten Befehle (rarr 22 Abb 10) aufgerufen werden

322 Videouumlbertragung im Webcamfeld Zur Aufnahme von Livebildern des Experiments koumlnnen USB-Webcams und IP-Kameras (Netzwerkkameras) eingesetzt werden Teurere IP-Kameras muumlssen eingesetzt werden wenn die Kamera wie z B beim RCL Roboter im Labyrinth zu weit vom Computer entfernt ist oder eine besonders lichtempfindliche Kamera aus der Uumlberwachungstechnik wie z B beim RCL Millikan-Versuch benoumltigt wird W-LAN-Kameras kommen zum Einsatz wenn Bil-der von einem beweglichen Objekt aus wie z B beim RCL Roboter im Labyrinth uumlbertra-gen werden sollen

Das Videoserverprogramm webcamXP 5 erkennt beim Aufrufen automatisch an den RCL-Server angeschlossenen USB-Webcams Vor dem Kauf einer IP-Kamera ist zu pruumlfen ob das Modell unterstuumltzt wird14 IP-Kameras muumlssen im Kontextmenuuml der Videoquelle konfigu-riert werden Abb 17 zeigt das Webcambild einer USB-Webcam vom Szintillationsschirm der Elektronenbeugungsroumlhre

Abb 17 Webcambild des Szintillationsschirms der Elektro-

nenbeugungsroumlhre einer USB-Webcam in webcamXP 5 beim RCL Elektronenbeugung

14 Vgl Moonware Studios webcamXP IP-cameras for webcamXP

31

Zum Einbinden des Webcambilds in die Laborseite des RCLs wird die laborsprachenabhaumln-gige Datei videohtm (rarr 434) in den Ordnern eng fra ger und ita verwendet Standardmauml-szligig werden zwei Webcambilder und Screenshots unterstuumltzt der Code fuumlr weitere Webcam-bilder kann durch copy and paste hinzugefuumlgt werden

Unter den Technologien Java Javaskript Flash und Windows Media fuumlr die Wiedergabe ei-nes Livestreams auf eine Webseite wurde Javaskript gewaumlhlt weil die anderen Technologien die Installation des Java Runtime Environments (JRE) des Flash- oder Windows Media Players durch den Besucher eines RCLs voraussetzen Die Wiedergabe des Livestreams mit einem Java-Applet startet zudem erst verzoumlgert nachdem das Applet geladen ist und verfuumlgt uumlber eine zu geringe Wiedergabegeschwindigkeit

33 Standard-Lernumgebung Bestandteil der Entwicklung eines RCLs ist die Erstellung einer Standard-Lernumgebung zum RCL Abb 18 zeigt exemplarisch fuumlr die deutschen Webseiten im Ordner ger das Menuuml (larr 11 Abb 3) und die Dateistruktur der Standard-Lernumgebung

Abb 18 Deutschsprachiges Menuuml und Dateistruktur der Standard-Lernumgebung

RCL-spezifisch anzupassende Dateien sind grau hinterlegt

Die englischen Dateinamen introductionhtm setuphtm hellip im Ordner ger korrespondieren mit den deutschen Menuumlpunkten Wird das RCL unter dem Menuumlpunkt RCLs des RCL-Portals aufgerufen dann ruft die Frameset-Datei indexhtm die Dateien menuumlhtm und intro-ductionhtm auf und das Menuuml wird zusammen mit der Webseite Einstieg dargestellt Die Wahl weiterer Menuumlpunkte ruft jeweils die korrespondiere Datei im Ordner auf Bei Wahl des Menuumlpunkts Labor werden mit der Frameset-Datei laboratoryhtm die Dateien videohtm fuumlr das Webcamfeld und die Datei laborindexphp fuumlr das Bedienfeld aufgerufen

32

Im Ordner docsmaterial werden alle Dokumente fuumlr die Webseite Material im Ordner docsothers die Dokumente anderer Webseiten abgelegt Im Ordner docsoriginals sind die Originale von Dokumenten wie z B Word-Dateien und der verwendeten Bilder abgelegt Grafikdateien der Webseiten Einstieg hellip Auswertung hellip Betreuung werden in gleichnami-gen Ordnern wie z B imagesanalysis abgelegt Bei sprachenunabhaumlngigen Grafikdateien wird unter dem Dateinamen abbx bei sprachenabhaumlngigen unter dem Dateinamen abbx_lan mit lan = eng fra ger und ita gespeichert Analoges gilt fuumlr die als gif-Grafiken forxgif oder forx_langif zu speichernden Formeln Originale von Bildern werden im Ordner imagesoriginals abgelegt Die Webseite zur Datei htdocsindexhtm enthaumllt zum lokalen Aufrufen der Standard-Lernumgebung Links zu den vier Index-Dateien in den Ordnern eng fra ger und ita Die Stylesheet-Datei htdocsrcl_stylecss enthaumllt die Styles der Webseiten

In der Regel werden Standard-Lernumgebungen der RCLs des RCL-Portals von verschiede-nen Personen erstellt Fehlende Gestaltungs- und Formatierungsregeln fuumlhren zu einem un-einheitlichen inattraktivem Erscheinungsbild des RCL-Portals Tab 6 gibt einen Uumlberblick der wichtigsten Gestaltungs- und Formatierungsregeln

Element Richtlinien

Gliederung

Die Webseiten Einstieg Aufbau Aufgaben Diskussion Material und Support enthalten vorgegebene Gliederungspunkte teilweise mit ausgefuumlhrten Uumlberschriften

Die umfangreicheren Webseiten Theorie und Auswertung enthalten ein Inhaltsverzeichnis mit internen Links zu Gliederungspunkten Zwischen Punkten der ersten Gliederungsebene (1 2 hellip) ist ein zwei-zeiliger Abstand (ltpgtampnbspltpgtltpgtampnbspltpgt) zwischen Punkten der zweiten (11 12 hellip) und Punkten der nur falls unbedingt notwendig dritten 111 112 hellip) Gliederungsebene ein einzeiliger Abstand zu waumlhlen Nach Abbildungen und Tabellen folgt ein einzeiliger Abstand zum nachfolgenden Text

Links Keine internen Links zwischen den Webseiten der Lernumgebung Externe Links werden prinzipiell in einem neuen Browserfenster geoumlffnet (blank)

Abbildung

Alle Abbildungen erhalten fortlaufend beginnend mit 1 nummerierte Abbildungsunterschriften der Form Abb x hellip

Abbildungen sind moumlglichst spachenunabhaumlngig d h ohne Texte in der Abbildung zu erstellen Zur Beschriftung koumlnnen z B Zahlen verwendet werden die in der Abbildungsunterschrift oder im Text er-laumlutert werden

Tabellen Tabellen werden in jeder Webseite fortlaufend beginnend mit 1 nummeriert Tabellen sind zu zentrieren Rahmenstaumlrke 1

Formeln

Formeln sind nicht als Textzeichen oder Grafik im laufenden Text einzufuumlgen sondern stets zentriert in einer eigenen Zeile als gif-Grafik

Zum Erstellen der Formel-Grafiken eignet sich z B der Formel-Editor MathType15 mit der Aufloumlsungs-Einstellung 120 dpi fuumlr InternetGif

Formeln brauchen im Rahmen des begrenzten Umfangs der Webseiten nicht nummeriert zu werden Groumlszligen-symbole

Griechische Groumlszligensymbole und mathematische Symbole sind nicht als Grafiken im laufenden Text sondern als HTML-Code einzufuumlgen Eine Zeichenreferenz findet sich bei Selfhtml16

Styles Zur Formatierung der Webseiten werden aus der Stylesheet-Datei nur die drei Styles Uumlberschrift fuumlr

die Uumlberschriften Bildunterschrift fuumlr Abbildungs- und Tabellenunterschriften und Tabellentext fuumlr Tex-te in Tabellen benoumltigt

Tab 6 Richtlinien zur Gestaltung und Formatierung der Standard-Lernumgebung

Detailliertere Informationen zum Layout der Standard-Lernumgebung koumlnnen dem RCL-Ordner und dem Erscheinungsbild der Webseiten von RCLs in Browsern entnommen wer-den

15 Vgl Design Science MathType 16 Vgl Selfhtml HTML-Zeichreferenz

33

4 ANHANG

34

41 Interface in Basisschaltung 411 Schaltplan und Bauteilliste Abb 19 zeigt den Schaltplan der Basisschaltung des Interface und Tab 7 die dazugehoumlrige Bauteilliste

Abb 19 Basisschaltung des Interface

Nr Anzahl Kurzbeschreibung des Bauteils Best-Nr bei Reichelt electronic

Einzelpreis in euro

0 1 Epoxyd-Platine (190x112 mm) mit Anteil Loumltpunktraster (Spezi-

alanfertigung) - asymp 10

1 1

Epoxyd-Fotoplatine einseitig 160x100 mm 15 mm 35 microm Epoxyd-Lochrasterplatine 160x100 mm 15 mm 35 microm

BEL 160x100-1 UP 832EP

170 420

1 1 Hohlstecker-Einbaubuchse gewinkelt Loumltfahnen 21 mm HEBW 21 018 2 1 D-SUB-Stecker 9-polig gewinkelt RM 94 D-SUB ST 09EU 029 3 1 Schottky Diode DO41 40 V 1 A SB 140 008 4 1 Draht von abgeschnittenem Beinchen aus Pos-Nr 3 - - 5 1 IC-Sockel 16-polig superflach gedreht vergoldet GS 16P 029 6 1 IC-Sockel 40-polig superflach gedreht vergoldet GS 40P 061 7 1 2x10-pol-Stiftleiste gerade RM 254 SL 2X10G 254 007 8 1 Metallschichtwiderstand 100 kΩ Metall 100k 0082 9 1 Elektrolytkondensator 10x16 mm 470 microF RM 50 mm RAD 47025 006 10 1 Elektrolytkondensator 63x11 mm 100 microF RM 25 mm RAD 10016 004 11 5 Elektrolytkondensator 5x11 mm 10 microF RM 20 mm RAD 1035 004 12 2 Keramik-Kondensator 33 pF Kerko 33p 006 13 3 Vielschicht-Keramikkondensator 100 nF 20 Z5U-25 100n 004

35

14 1 Standardquarz Grundton 110592 MHz 110592-HC49U-S 018 15 1 Spannungsregler 1 A positiv TO-220 microA 7805 028 16 1 Kuumlhlkoumlrper fuumlr Gehaumluse TO-220 99KW V FI356 066 17 1 Zylinderkopfschraube Schlitz M3 10 mm fuumlr Kuumlhlkoumlrper M3x10mm 160 18 2 Sechskantmutter M3 fuumlr Kuumlhlkoumlrper SK M3 001 19 1 Stecker-Schaltnetzteil 12 V 2250 mA MW 3IP25GS 1150 20 1 RS232-Driver DIL-16 MAX 232 CPE 041 21 1 ATmega AVR-RISC-Controller DIL-40 ATmega16-16 DIP 420 22 3 10-poliger Wannenstecker RM 254 stehend (optional) WSL 10G 009 23 1 14-poliger Wannenstecker RM 254 stehend (optional) WSL 14G 014 24 1 40-polige Stiftleiste 1-reihig gerade RM254 (optional) SL 1x40G 254 023 25 1 Kunststoffgehaumluse 1982x1124x760 mm (Serientyp 202) - asymp 10 euro 26 1 D-SUB Nullmodem-Kabel 9-pol BUBU 3 m AK 143 155 27 x DIN-Einbaubuchse 5-pol Schraubver 360deg (optional) DIO-50W EMS 185 28 x DIN-Einbaubuchse 8-polig Schraubversch 270deg (optional) DIO-80SN EMS 180 29 x Pfostenstecker 10-polig mit Verrieglung gew (optional) PSL 10W 028 30 x Klemmleiste RM 254 Oumlffnungshebel 8-polig (optional) Wago 233 220

Tab 7 Bauteilliste mit Bestellnummer und Einzelpreisen der Bauelemente bei Reichelt electronic (Stand 23102010)

Anhand der Bauteilliste in koumlnnen die elektronischen Bauelemente der Basisschaltung (larr Tab 7 Nr 0 ndash 21 optional Nr 22 - 24) bei Reichelt electronic bestellt werden Das Gehaumluse des Interface (larr Tab 7 Nr 25) sollte vom Hersteller HAGOTECH GmbH bezogen werden Weiterhin wird ein Nullmodemkabel (larr Tab 7 Nr 26) zur Verbindung des Interface mit dem Computer benoumltigt Sensoren und Aktoren des Experiments koumlnnen mit optionalen Steck-verbindern (larr Tab 7 Nr 27 - 30) und entsprechende Kabelverbindungen an das Interface angeschlossen werden Die Nummern 0 - 25 stimmen mit der angegebenen Bestuumlckungs-reihenfolge auf der Platine uumlberein Das Interface kostet in der Basisschaltung ca 50 euro

412 Bestuumlckung der Platine Abb 20 zeigt zur Bestuumlckung der Platine benoumltigte Werkzeuge

Abb 20 Werkzeuge zur Bestuumlckung der Platine des Interface

36

Loumltkolben mit feiner Spitze in Meisselform 2 mm oder Loumltstation (1) Loumltzinnabsauger zum Entfernen von Loumltzinn (2) Nasser Schwamm zum Reinigen der Spitze des Loumltkolbens (3) Loumltzinn mit Durchmesser 08 - 10 mm (4) Flachspitzzange zum Biegen von Anschluumlssen der Bauelemente (5) Seitenschneider zum Kuumlrzen der Beinchen von Bauelementen (6) Multimeter zum Pruumlfen der Funktionsfaumlhigkeit der Schaltung (7) Sekundenkleber zur Befestigung von Bauelementen Kleine Bohrmaschine z B von Dremel und 08 mm Bohrer oder duumlnne Rundfeile zum

Weiten von Loumlchern auf der Platine des Interface

Abb 21 zeigt die Platine des Interface von der Loumltseite in der Spezialanfertigung der Elekt-ronik-Werkstatt an der Technischen Universitaumlt Kaiserslautern und in der Selbstbauvariante (larr Tab 7 Nr 0) Abb 22 zeigt das Platinenlayout

Abb 21 Platine des Interface von der Loumltseite als Spezialanfertigung (links) und der Selbstbauvariante

(rechts)

Abb 22 Layout zur Herstellung des geaumltzten Teils der

Platine in der Selbstbauvariante

37

In der Selbstbauvariante kann anhand des Platinenlayouts eine selbst geaumltzte Platine fuumlr die Basisschaltung auf einer Platine im Europakartenformat hergestellt und diese in der Laumlnge gekuumlrzt werden Eine gekuumlrzte Lochrasterplatine bildet den zweiten Teil der Platine Mit den optionalen vier Wannensteckern (larr Tab 7 Nr 22 - 23) oder den vier Stiftleisten (larr Tab 7 Nr 24) an den Ports des Mikrocontrollers koumlnnen leicht elektrische Verbindungen zum Rasterteil der Platine herstellt werden Abb 23 zeigt die fertig bestuumlckte Platine mit den Nummern aus Tab 7

Abb 23 Bestuumlckte Platine des Interface mit nummerierten Bauelementen

Tab 8 beschreibt das Einloumlten der elektronischen Bauelemente anhand der Nummern aus Tab 7 und in der angegebenen Reihenfolge

Nr Bauelement Beschreibung des Einbaus

0 Spezialanfertigung und Selbst-bauvariante der Epoxydharz-

Platine

1

Stromversorgungsbuchse ndash Hohlstecker 21 mm

Wenn die Loumltbeine nicht durch die Loumlcher der Platine passen die Loumlcher mit einer runden Schluumlsselfeile aufweiten

Stromversorgungsbuchse mit Sekundenkleber vor dem Festloumlten auf der Pla-tine fixieren da diese mechanischen Belastungen durch das Einstecken und Herausziehen des 12 V -Steckers ausgesetzt ist

Wahlweise kann die 25 mm-Version der Buchse verwendet werden

2

RS232 Datenstecker

RS232 Datenstecker mit Sekundenkleber vor dem Festloumlten auf der Platine fixieren da dieser mechanischen Belastungen durch das Einstecken und Herausziehen des Null-Modem-Kabels ausgesetzt ist

Alle Beinchen und Befestigungsstifte zur houmlheren Stabilitaumlt anloumlten

3

Ein Ring an einer Seite der Diode (hier links weiszlig) zeigt die Durchlass- bzw Sperrrichtung der Diode an Die Position des Ringes entspricht der Position des Balkens im Schaltungssymbol

38

Diode ndash SB140 Auf der Platine muss der Ring auf der von der Stromversorgungsbuchse ab-

gewandten Seite liegen

4 Drahtbruumlcke

Vor dem Einloumlten des 40-poligen IC-Sockels (Nr 5) muss eine Drahtbruumlcke unter diesem eingeloumltet werden Dazu koumlnnen die abgeschnittenen Beinchen der bereits eingeloumlteten Diode (Nr 3) verwendet werden

5 6

IC-Fassungen

Die 16-polige und 40-polige IC-Fassungen besitzen eventuell eine Markie-rung fuumlr Pin1 (z B Kerbe in der Stirnseite Punkt Pfeilhellip) als Hilfe fuumlr das richtige Einstecken der ICs Die Markierungen muumlssen bei beiden Fassungen nach oben also zum naumlchstliegenden Rand der Platine zeigen

Die ICs unbedingt noch nicht einstecken

7

ISP-Stiftleiste

Die doppelreihige ISP-Stiftleiste dient der Programmierung des Mikrocontrol-lers mit dem AVR-ISP-Programmer (ISP steht fuumlr In System Programming)

ISP-Stiftleiste auf 2 x 5 Stifte kuumlrzen und mit den kurzen Beinchen einloumlten so dass auf die langen Stifte der AVR-ISP-Programmer gesteckt werden kann

8

Widerstand 100 kΩ

Den 100 kΩ-Widerstand rechts neben der ISP-Stiftleiste einloumlten

9

10

11

Elkos

Bei den verwendeten Elektrolyt-Kondensatoren ist die Polung zu beachten (langes Beinchen = Plus-Pol) Weiterhin ist auf den Kondensatoren ein wei-szliger Streifen mit Minus-Zeichen aufgedruckt Die Kondensatoren sollten eine Spannungsfestigkeit von mindestens 16 V besser 25V besitzen

Auf der Kupferseite der Platine zeigt die Form der Loumltaugen die Polung an Rundes Loumltauge = Plus quadratisches Loumltauge = Minus

Der 470 microF Kondensator wird mit dem weiszligen Streifen in Richtung Stromver-sorgungsbuchse direkt unter diese montiert

Der 100 microF Kondensator sitzt direkt unter der 16-poligen IC-Fassung Sein weiszliger Streifen (Minus-Pol) zeigt in Richtung der Stromversorgungsbuchse

Vier der 10 microF Kondensatoren werden links neben der 16-poligen IC-Fassung montiert Deren Polung ist wie folgt Unterster Kondensator Minus nach oben naumlchster Kondensator Minus nach unten die beiden oberen Kondensatoren mit Minus nach oben

Ein weiterer 10 microF Kondensator wird rechts neben die 16-polige IC-Fassung geloumltet Sein Minus-Streifen zeigt nach unten

12

13

Keramik-Kondensatoren

Die Beschriftung 104 bedeutet 10e4 pF = 100 nF Die beiden 33 pF-Kerkos (Keramik-Kondensatoren) werden direkt nebenei-

nander rechts neben die 16-polige IC-Fassung geloumltet Zwei 100 nF-Kondensatoren werden unter dem 470 microF-Elko eingeloumltet ein

weiterer mittig an der linken Seite der 40-poligen IC-Fassung

14

Quarz

Als Quarz wird ein 110592 MHz-Typ verwendet Bei dieser Frequenz ist eine fehlerfreie Kommunikation uumlber RS232 mit 9600 Baud moumlglich Fuumlr den AT-mega16 koumlnnen Quarze bis 16 MHz eingesetzt werden Details siehe Daten-blatt

Der Quarz wird direkt rechts neben die beiden 33 pF-Kerkos geloumltet Die Ori-entierung des Quarz spielt keine Rolle

15

16

17

18

Der Spannungsregler L7805 erzeugt eine stabilisierte Spannung von 5 V Es muss ein Kuumlhlkoumlrper zur Waumlrmeabfuhr vom Spannungsregler verwendet werden

Vor dem Einloumlten zwischen Spannungsregler und Kuumlhlkoumlrper etwas Waumlrme-leitpaste aufgetragen Beide Bauteile fest mit einer Schraube M3x10 und ei-ner 1 Mutter verschrauben

Dann den Spannungsregler einloumlten um 90deg abzubiegen das uumlberstehende Gewinde durch das vorgesehene Loch stecken und alles mit einer 2 Mutter auf der Platine befestigen

1 Mutter

2 Mutter

Schr

aube

L7805

Platine

KuumlhlkoumlrperWaumlrmeleitpaste

Beinchen

Loumlten

39

Spannungsregler L7805 Kuumlhl-koumlrper und Montage

19

Steckernetzteil

Funktionskontrolle vor dem Einsetzen des Mikrocontrollers Polung der Elektrolyt-Kondensatoren (Elkos) pruumlfen Sind alle Beinchen angeloumltet Hat das Loumltzinn an den Beinchen und der Pla-

tine guten Kontakt Sind eventuell zwei benachbarte Beinchen unbeabsichtigt durch Loumltzinn verbunden Alle Loumltverbindungen nochmals genau z B mit ei-ner Lupe pruumlfen

Probeweise das Stecker-Netzteil an die Buchse anschlieszligen Am 100 nF-Kondensator links mittig der 40-poligen IC-Fassung muumlssen 5 V anliegen

Versorgungsspannung unbedingt wieder von der Platine trennen

20

21

ICs MAX232 und ATmega16

Die Nuten auf den ICs am linken Rand muumlssen nach oben zeigen d h Pin1 ist bei beiden ICs in der Abbildung links unten und auf der Platine oben links

Manchmal passen die Beinchen der ICs nicht in die Fassung weil die Fas-sung scheinbar zu schmal ist Dann den IC seitlich mit einer Beinchen-Reihe flach auf den Tisch legen den IC-Koumlrper links und rechts greifen und Bein-chen durch leichten Druck biegen Einzelne verbogene Beinchen vorsichtig mit einer kleinen Flachzange richten

22

23

Wannenstecker 10- und 14-polig

Wannenstecker an den vorgesehe-nen Stellen mit der Nut gegen Ver-polung in Richtung des naumlherliegen-den Platinenrands einloumlten

Die Abbildung rechts zeigt die Pin-Belegung der Wannenstecker

24

Stiftleiste 8-polig 40-pol Stiftleiste in 4 jeweils 8-polige Stuumlcke zerteilen und einloumlten

25

Kunststoffgehaumluse

In der Selbstbauvariante der Platine (Nr 0) vor dem Einsetzten der Platine in das Gehaumluse passend positionierte Kunststoffstege am Gehaumluseboden fest-kleben

Tab 8 Bestuumlckung der Platine des Interface mit Bauelementen

42 Erweiterungsschaltungen 421 Uumlbersicht In Tab 3 sind von RCLs des RCL-Portals Sensoren und Aktoren mit den dazugehoumlrigen Er-weiterungsschaltungen zusammengestellt Da alle RCLs obligatorisch uumlber mindestens eine Webcam verfuumlgen sind diese unter den Sensoren nicht aufgefuumlhrt Die wenigen Erweite-rungsschaltungen fuumlr Sensoren sind unter Sensoren in Klammern aufgelistet Unter Aktoren werden auszliger elektro-mechanischen Wandlern auch gesteuerte Geraumlte oder Bauelemente verstanden Anzeigeinstrumente sind unter Aktoren nur aufgefuumlhrt wenn sie direkt vom In-terface gesteuert werden Mit gekennzeichnete Erweiterungsschaltungen befinden sich au-szligerhalb des Interface

40

RCL Sensoren Aktoren Erweiterungsschaltungen fuumlr Aktoren

Beugung und Interferenz I Referenz-Taster

Schrittmotor (Rotation) Schrittmotorsteuerung Laser-Modul Geschaltete Spannungsversorgung

Beugung und Interferenz II

4 Referenz-Taster Lichtsensor

4 Schrittmotoren (Translation) 4 Schrittmotorsteuerungen 5 Laser-Module Geschaltete Spannungsversorgung LED fuumlr Position des

Lichtsensors Geschaltete Spannungsversorgung

LED fuumlr Linealbeleuchtung Geschaltete Spannungsversorgung

Elektronen-beugung

Hochspannungsnetzgeraumlt Geschaltete Spannungsversorgung Hochspannungsnetzgeraumlt Steuerung der Hochspannung

Fotoeffekt 2 Referenz-Taster Photozelle

2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen

Quecksilberdampflampe Geschaltete Spannungsversorgung

der Drossel fuumlr Quecksilberdampf-lampe

Halbleiter-kennlinien

und Halbleiterkennli-nien - Schuumller-

projekt

Referenz-Taster

Schrittmotor (Rotation) Schrittmotorsteuerung Oszilloskop Geschaltete Spannungsversorgung

Oszilloskop Instrumentenverstaumlrker fuumlr X- und Y-Ablenkung

Multimeter Steuerung Spannungs- oder Strom-anzeige

Heiszliger Draht 4 Endtaster 4 Drehgeber Kurzschlusssensor

4 Gleichstrommotoren 4 Treiber

Zweifarbige LED Steuerung der LED-Farbe

Lichtgeschwin-digkeit

Drehimpulsgeber 2 Taster an Enden

der Eisenbahnstre-cke

2 Schrittmotoren 2 Schrittmotorsteuerungen Oszilloskop Geschaltete Spannungsversorgung

Motor der Lokomotive Steuerung des Ein- und Ausschal-tens und der Bewegungsrichtung

Maut Infrarot-Sensor Gleichstrommotor Geschaltete Spannungsquelle 2 IR-Fernbedienungen Spannungsregler 2-stellige 7-Segmentanzeige LED-Treiber

Millikan-Versuch 2 Referenz-Taster

2 Schrittmotoren 2 Schrittmotorsteuerungen Lichtquelle (LED) fuumlr Millikan-

Kondensator Geschaltete Spannungsversorgung

Airbrush-Kompressor Geschaltete Spannungsversorgung Magnetventil Geschaltete Spannungsversorgung Millikan-Kondensator Gesteuertes Hochspannungsmodul

Optische Com-putertomogra-

phie

2 Referenz-Taster 2 Lichtsensoren

Schrittmotor (Rotation) Schrittmotorsteuerung Schrittmotor (Translation) Schrittmotorsteuerung

2 Laser-Module 2 geschaltete Spannungsversor-gungen

Optische Fou-rier-

Transformation 2 Referenz-Taster

2 Schrittmotoren (Translation) 2 Schrittmotorsteuerungen

Laser-Modul Geschaltete Spannungsversorgung

Oszilloskop Oszilloskop Geschaltete Spannungsversorgung Signalgenerator Steuerung der Signalart

Radioaktivitaumlt 4 Referenz-Taster Geiger-Muumlller-

Zaumlhlrohr

2 Schrittmotoren (Translation) 2 Schrittmotorsteuerungen 2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen 4-stellige 7-Segment-Anzeige Treiber Elektromagnet Geschaltete Spannungsversorgung

Roboter im Labyrinth Infrarot-Sensor

2 Schrittmotoren 2 Schrittmotorsteuerung Infrarot-Sender Treiber

Rutherfordscher Streuversuch

2 Referenz-Taster Halbleiterdetektor

(Impulsformer)

2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen

4-stellige 7-Segment-Anzeige Treiber

Weltpendel

Referenz-Taster Lichtsensor der

Lichtschranke (Im-pulsformer)

Temperatursensor

Schrittmotor (Translation) Schrittmotorsteuerung Elektromagnet Geschaltete Spannungsversorgung

Laser der Lichtschranke Geschaltete Spannungsversorgung

Windkanal Referenz-Taster Schrittmotor (Translation) Schrittmotorsteuerung

41

Dehnungsmess-streifen (Wheat-stonesche Bruumlcke Messverstaumlrker Multimeter)

Geblaumlsemotor Geschaltete Spannungsversorgung

und Ansteuerung mit Pulsweiten-modulation

Anemometer Geschaltete Spannungsversorgung Multimeter Geschaltete Spannungsversorgung

Tab 9 Sensoren Aktoren und Erweiterungsschaltungen der RCLs des RCL-Portals

422 TMC222-Modul zur Schrittmotorsteuerung 4221 Schaltplan und Bauteilliste Abb 1 zeigt die Beschaltung des TMC222 von Trinamic auf dem TMC222-Modul

Abb 24 Beschaltung des TMC222 von Trinamic

Anhand der Bauteilliste in Tab 10 koumlnnen die elektronischen Bauelemente des TMC222-Moduls bei Reichelt electronic bestellt werden Ein TMC222-Modul kostet ungefaumlhr 10 euro

Nr Anzahl Kurzbeschreibung des Bauteils Best-Nr bei Reichelt electronic

Einzelpreis in euro

0 1 Epoxyd-Fotoplatine einseitig 75x100 mm 15 mm 35 microm BEL75X100-1 096 1 1 Integrierter TMC-Schrittmotor-Controller TMC 222 SI asymp 7 2 1 Elektrolytkondensator 8x11 mm Rm 35 mm 100 microF35 V RAD 10035 004 3 1 Tantal-Kondensator Rm 25 10 microF35 V Tantal 1035 014 4 2 Vielschicht-Keramikkondensator 220 nF 20 Z5U-25 220N 011 5 3 Vielschicht-Keramikkondensator 100 nF 20 Z5U-25 100N 004 6 2 Metallschichtwiderstand 100 kΩ Metall 100K 0082 7 1 1x36pol Stiftleiste gewinkelt Rm 254 SL 1X36W 027 8 1 1x36pol Buchsenleiste gerade Rm 254 BL 1X36G 025

Tab 10 Bauteilliste mit Bestellnummer und Einzelpreisen der Bauelemente bei Reichelt electronic (Stand 23102010)

4222 Bestuumlckung der Platine

42

Abb 25 zeigt die fertig bestuumlckte Platine mit den Nummern aus Tab 10

Abb 25 Bestuumlckte Platine des TMC222-Moduls

mit nummerierten Bauelementen

Die Platine (35 mm x 30 mm) kann anhand des Layouts in Abb 26 hergestellt werden Der IC TMC222 wird auf der Loumltseite der Platine aufgeloumltet Das TMC222-Modul kann mit der Stiftleiste (larr Tab 10 Nr 7) in eine Buchsenleiste (larr Tab 10 Nr 8) auf die Platine des In-terface gesteckt werden

Abb 26 Platine des TMC222-Moduls von der Loumltseite (links) und Layout

4223 Quellcode des Mikrocontroller-Programms Im Folgenden ist ein mit Bascom (larr 12 Tab 1 Entwicklungsumgebungen) erstelltes Bei-spiel-Programm zur Ansteuerung des Schrittmotormoduls TMC222 durch den Mikrocontroller ATmega16 angegeben $regfile = m16DEFdat $crystal = 11059200 $baud = 9600 Definitionen Config Scl = Portc0 Taktleitung Config Sda = Portc1 Datenleitung Const Adress = ampB11000000 I2C Adresse des TMC222 Const GetFullstatus1 = ampB10000001 Kommando des TMC222 Const Resetpos = ampB10000110 Kommando des TMC222 Const Motorparameter = ampB10001001 Kommando des TMC222 Const Setposition = ampB10001011 Dim Puffer(10) As Byte

43

Programm I2csend Adress GetFullstatus1 GetFullstatus1 (Initialisierung des TMC222) I2creceive Adress 7 Ack Daten in Puffer auslesen Puffer(1) = Motorparameter puffer auffuumlllen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB11110011 1111irun 0011ihold Puffer(5) = ampB01110001 0111vmax 0001vmin Puffer(6) = ampB00010000 000securepos(bit10-8) 1shaft 0000acceleration Puffer(7) = 0 securepos(bit7-0) Puffer(8) = ampB00001100 000nicht belegt 0accshape 11stepmode 00nicht belegt I2csend Adress Puffer(1) 8 I2csend Adress Resetpos aktuelle Position auf 0 setzen Puffer(1) = Setposition Motor bewegen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB01111111 position(bit 15-8) Puffer(5) = ampB11111111 position(bit 7-0)acute I2csend Adress Puffer(1) 5 End

423 Geschaltete Spannungsquellen und Verbraucher Die Ausgaumlnge des Mikrocontrollers duumlrfen nur mit Stroumlmen kleiner als ungefaumlhr 20 mA belas-tet werden Verbraucher mit einer Stromlast groumlszliger als 20 mA koumlnnen daher nicht direkt an den Mikrocontroller angeschlossen werden Abb 27 zeigt links eine Schaltung zum Schalten eines Verbrauchers wie z B des Relais und rechts eine Schaltung mit dem IC ULN2803A zum Schalten mehrerer Verbraucher wie z B Gluumlhlampen

Abb 27 Erweiterungsschaltungen zum Schalten eines (links) oder

mehrerer Verbraucher (rechts)

Zu beachten ist dass der Transistor BC337 maximal 800 mA schalten kann und fuumlr groumlszligere Stroumlme andere Transistoren verwendet werden muumlssen

424 Steuerung von Gleichstrommotoren

44

Sollen Gleichstrommotoren zum Bewegen von Objekten mit dem Mikrocontroller gesteuert werden dann eignet sich dazu der in Abb 28 dargestellte beschaltete IC L293D

Abb 28 Beschaltung des L293D zum

Steuern zweier Gleichstrom-motoren

Mit Pin 1 = Pin 9 = 1 (High) koumlnnen zwei Gleichstrommotoren M1 und M2 (Versorgungs-spannung UM lt 36 V Spulendauerstrom IM lt 600 mA) unabhaumlngig voneinander ein- und ausgeschaltet sowie in der Drehrichtung uumlber die Ports PA0 und PA1 fuumlr M1 und PA2 und PA3 fuumlr M2 gesteuert werden Z B gilt mit PA0 = PA1 = 0 (M1 ausgeschaltet) PA0 = 1 und PA1 = 0 (M1 dreht sich) PA0 = 0 und PA1 = 1 (M1 dreht sich in Gegenrichtung)

45

43 Quellcodes zum RCL Elektronenbeugung 431 Mikrocontroller-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

46

47

48

49

432 PHP-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

50

51

433 Bedienfeld der Laborseite

Tab 11 erlaumlutert die Funktion der Bloumlcke im Quellcode

Zeilen Funktion 1 Datei defaultconf einbinden 2 Datei headtpl einbinden

5 - 11 Ausgabe der verbleibenden Experimentierzeit 18 - 21 Button zum Einschalten der Elektronenbeugungsroumlhre 28 - 30 Eingabefeld fuumlr die Beschleunigungsspannung

37 Ruumlckmeldung zur eingegebenen Beschleunigungsspannung 42 Datei foottpl einbinden

Tab 11 Funktion der Programmbloumlcke in der Datei experi-menttpl

52

434 Webcamfeld der Laborseite

In Tab 12 ist die Funktion der Programmbloumlcke und die Anpassungen der Vorlage an das RCL Elektronenbeugung beschrieben

Zeilen Funktion Anpassung RCL Elektronenbeugung

5 Titelangabe erscheint als Tabulatorbeschriftung in Browsern

Name des RCLs eintragen

11 - 15 16 - 20

Zwei Javascripts zum getrennten Aufrufen zweier Po-pup-Fenster mit dargestelltem Webcambildern 1 und 2

Javascript 1 die IP-Adresse eintragen Javascript 2 auskommentiert weil nicht benoumltigt

24 - 40 42 - 60

Zwei Javascripts zum Aktualisieren der Webcambilder 1 und 2

Javascript 2 auskommentiert weil nicht benoumltigt

67 - 71 79 - 83

Aufrufen des ersten Webcambilds der Webcams 1 und 2 beim Aufrufen der Datei

Webcambild 2 auskommentiert weil nicht benoumltigt

72 - 78 84 - 90

Buttons zum Aufrufen der Screenshots der Webcam-bilder 1 und 2

Button 2 auskommentiert weil nicht benoumltigt

91 - 95 Zeile der Tabelle zum Eintragen von Informationen die sich auf die Webcambilder oder den Versuch beziehen

Text in Zeile der Tabelle geschrieben

Tab 12 Funktionen der Codeabschnitte in der Datei videohtm und Anpassung der Vor-lage an das RCL Elektronenbeugung

53

44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung Im Folgenden wird die Installation und Konfiguration des AVR-Studios 418 und der Bascom 11198 Demoversion beschrieben Alle Anleitungen sind zeilenweise von links nach rechts zu lesen

441 AVR-Studio 418 4411 Installation Auf der Webseite von ATMEL Register AVR Studio 418 (build 684) anklicken und Registrie-rungsformular ausfuumlllen Danach die Datei AvrStudio418Setup herunterladen Durch Dop-pelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen Next waumlhlen

I accept hellip und Next waumlhlen Installationsordner und Next waumlhlen

54

Installupgrade hellip und Next waumlhlen Install waumlhlen Die Installation beginnt

Finish waumlhlen

4412 Konfiguration AVR Studio 418 in Windows XP Professional unter StartProgramme aufrufen

Startfenster mit Cancel schlieszligen Unter ToolsProgram AVR Auto Connect waumlhlen

55

Im eingeblendeten Fenster auf der Registerkarte Main als Device ATmega16 und als Programming Mode ISP mo-de waumlhlen

Optional kann Signatur gelesen werden

In der Registerkarte Fuses alle Haumlkchen und Auswahlfel-der wie angegeben waumlhlen

Dann Program waumlhlen

442 BASCOM 11198 Demoversion 4421 Installation Auf der Webseite von Bascom unter Bascom AVR Demo die Zip-Datei setupdemoexe her-untergeladen Durch Doppelklick auf den Dateinamen die Installation starten

Next waumlhlen I accept the agreement und Next waumlhlen

56

Next waumlhlen Installationsordner eingeben und Next waumlhlen

Eintrag im Start-Menuuml eingeben und Next waumlhlen Next waumlhlen

Yes restart the computer now und Finish waumlhlen

57

4422 Konfiguration Bascom AVR in Windows XP Professional unter StartProgramme zum Einstellen der Para-meter des Mikrocontrollers und des Terminals aufrufen

OptionsCompilerChip waumlhlen Einstellungen wie im Bild vornehmen und OK waumlhlen

Auf der Registerkarte Communications Einstellungen wie im Bild vornehmen und OK waumlhlen

Unter OptionsCommunication Einstellungen wie im Bild

vornehmen und OK waumlhlen FileNew waumlhlen Unter ToolsTerminal emulator das Terminal aufrufen und

eingeben Die Befehlsliste des RCLs Elektronenbeu-gung wird angezeigt

45 Installation und Konfiguration von Programmen auf dem RCL-Server Im Folgenden wird der Download die Installation und die Konfiguration von Programmen auf dem RCL-Server unter Windows XP Professional beschrieben Alle Anleitungen sind zeilen-weise von links nach rechts zu lesen Die Installation der Programme sollte in der angegebe-nen Reihenfolge erfolgen

58

451 Einrichten des Internet-Zugangs LAN-Verbindung unter StartSystemsteuerungNetzwerkverbindungen aufrufen

Internetprotokoll (TCPIP) und Eigenschaften waumlhlen Folgende IP-Adresse verwenden waumlhlen IP-Adressen ein-

geben und OK waumlhlen

452 Paket XAMPP 174 Unter apache friends - xampp fuumlr windows und XAMPP Windows 174 Installer anklicken und Datei xampp-win32-174-VC6-installerexe speichern Durch Doppelklick auf die Datei die Installation starten

Sprache und Ok waumlhlen Ok waumlhlen

59

Weiter waumlhlen Zielverzeichnis mit Durchsuchen waumlhlen oder eingeben

Apache nicht als Dienst installieren Fertig stellen waumlhlen

Ja waumlhlen Zum Starten des Apache Webservers das Control Panel

unter StartProgrammeXAMPP 173 for Windows mit Start starten Anstelle von Start erscheint Running

Zum Beenden des Apache Webservers Stop waumlhlen Zum Beenden des Control Panels Exit waumlhlen

60

453 Videoserver webcamXP 5 Private Auf der Webseite von Moonware Studios unter webcamXP 55xx die Datei wlite550 herun-terladen Durch Doppelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen I Agree waumlhlen

Next waumlhlen Auszliger webcamXP 5 brauchen keine weiteren Komponen-

ten installiert zu werden

Den vorgeschlagenen Ordner und Install waumlhlen Finish waumlhlen

61

WebcamXP unter StartProgramme aufrufen Zugesandte

Lizenz-Daten in das eingeblendete Fenster eingeben und Register waumlhlen

Beim Starten des Programms stellt webcamXP automa-tisch eine Verbindung zu den am Computer angeschlosse-nen Webcams her

Nach dem Start ist Uumlberwachen gewaumlhlt Durch Rechts-klick mit der Maus auf das Videofenster wird zu jeder Vi-deoquelle ein Kontextmenuuml angezeigt Wird kein Videobild dargestellt das Kontextmenuuml aufrufen Art der Videoquelle waumlhlen (hier USB) und unter den erkannten Videoquellen (hier USB-Videogeraumlt) die gewuumlnschte waumlhlen

Das Videoformat muss fuumlr eine passende Darstellung auf

der Laborseite auf 320 x 240 eingestellt sein Ist das nicht der Fall im Kontextmenuuml unter Video Format einstellen

In gleicher Weise kann eine zweite Videoquelle hinzugefuumlgt werden

In der Registerkarte Web Broadcast kann unter

Broadcast (HTTP) der Videoserver mit Ausschalten ge-stoppt und mit Aktivieren gestartet werden

Zur Zielwahl des Webservers (131246237167 - Internet D16W3X3J - Computer 127001 - Local Host) Videoser-ver stoppen und einstellen Videoserver wieder starten

62

454 Terminalprogramm Hyperterminal Hyperterminal in Windows XP Professional unter StartProgrammeZubehoumlrKommunikation aufrufen

Name der neuen Verbindung - z B Interface - eingeben

und OK waumlhlen Die Verbindung zwischen Computer und Interface wurde

uumlber einen USB-Seriell-Adapter hergestellt Dann erschei-nen zwei zusaumltzliche Eintraumlge (Motorola Comp Modem und COM5) in der Liste Prinzipiell muss eine COMx-Verbindung gewaumlhlt werden

Eigenschaften von COM 5 wie im Bild einstellen und OK

waumlhlen DateiEigenschaften aufrufen und ASCII-Konfiguration

waumlhlen

63

Haken bei Eingegebene Zeichen lokal ausgeben (lokales

Echo) setzen um eingegebenen Zeichen im Hyperterminal zu sehen

Bei funktionsfaumlhiger Verbindung erscheint nach Eingabe von Return die Befehlsliste des Interface

Durch Aufrufen von DateiSpeichern die erstellte Verbin-

dung z B auf dem Desktop speichern Dadurch braucht die Verbindung nicht immer wieder von neuem konfiguriert wer-den

Nach Aufrufen von DateiBeenden die bestehende Verbin-dung mit Ja beenden

64

Wurde ein falscher COM-Port gewaumlhlt reagiert das Inter-

face auf die Eingabe Return nicht Hyperterminal dann beenden

Der COM-Port kann dann nicht unter DateiEigenschaften im Hyperterminal aber unter Eigenschaften des Kontext-menuumls der Datei Interfaceht in der Registerkarte Verbin-den mit geaumlndert werden Dann OK waumlhlen und erneut Verbindung testen

65

455 Fernwartungssoftware TeamViewer 6 Host Auf der Webseite von Teamviewer GmbH unter Fuumlr unbeaufsichtigte Server TeamViewer Vollversion die Datei TeamViewer_Setup-wq herunterladen Das Programm muss auf dem RCL-Server und dem Computer der auf den RCL-Server zugreifen soll installiert werden Durch Doppelklick auf die Datei die Installation starten

Ausfuumlhren waumlhlen Weiter waumlhlen

Fuumlr die private nicht kommerzielle Nutzung ist Teamviewer kostenlos

privat nicht-kommerziell und Weiter waumlhlen

Beide Haumlkchen setzen und Weiter waumlhlen

66

Ja un Weiter waumlhlen Weiter

Computername und Kennwort fuumlr den Zugriff auf den RCL-Server oder den eigenen Computer vergeben Kenn wort notie-ren

Ein Teamviewerkonto ist nicht erforderlich Kann auch spaumlter noch eingerichtet werden

ID fuumlr den Computer auf dem das Programm installiert wird fuumlr Zugriff notieren

Das Programm wird gestartet Standardmaumlszligig vorein-gestellt ist der Start des Programms beim Start des Be-trienssystems

67

46 Selbstbau eines elementaren RCLs 461 Hard- und Software Auch ohne gleich ein vielleicht teures physikalisches Experiment zu steuern laumlsst sich mit wenigen Bauelementen ein elementares RCL realisieren Von einer Webseite im Internet sol-len eine Leuchtdiode (LED) ein- oder ausgeschaltet sowie der Zustand der Leuchtdiode und eines Tasters abgefragt werden An Hard- und Software werden benoumltigt

1 Low-Current-LED 5 mm 2 mA 1 Widerstand 18 kΩ 1 Taster und optional zwei 10-polige Wannenstecker mit ungefaumlhr 10 cm passendem Flachbandkabel und Buchsen

Interface in Basisschaltung Null-Modem-Kabel 12 V DC Steckernetzteil (larr 1)

Installierte Bascom-Demo-Version (larr 42)

AVR ISP-Programmer mit 10-poligem Programmierkabel

Installiertes und konfiguriertes AVR Studio 418 (larr 41)

Installiertes Paket XAMPP (larr 52)

Texteditor wie z B Notepad in Windows XP Professional

Konfigurierte Hyperterminalverbindung (larr 54)

462 Bestuumlckung der Platine Abb 29 zeigt zur Orientierung fuumlr das Einloumlten der Bauelemente die fertig bestuumlckte Platine des Interface

Abb 29 Mit elementarem RCL bestuumlckte Platine

des Interface

LED mit Vorwiderstand und der Taster sind rechts neben dem Mikrocontroller im Lochraster-bereich aufgebaut und uumlber Wannenstecker und Flachbandkabel mit dem Port A des Mikro-controllers verbunden (die drei Bauteile rechts neben dem ATmega16 werden nicht benouml-tigt) Tab 13 erlaumlutert die Schritte zur Bestuumlckung der Platine des Interface

68

Nr Schaltung Erlaumluterung

1

Die Leuchtdiode (LED) mit dem Pluspol (langes Beinchen) an PortA0 (PIN40 oben rechts) des Mikrocontrollers anloumlten

An das kurze Beinchen einen 18kΩ Widerstand loumlten dessen anderes Ende mit der Masse (GND) verbinden

2

Den Taster mit PortA1 (PIN39 = 2 Beinchen von oben rechts) und Masse (GND) verbinden

3

Draufsicht

Belegung des 10-poligen Wannensteckers 1 GND (Masse) im Foto oben links 2 +5 V 3 PortA0 4 PortA1 10 PortA7 im Foto unten rechts

Tab 13 Schritte zum Aufbau des elementaren RCLs

463 Lokal gesteuertes RCL Nachfolgend ist der Basic-Programmcode des Mikrocontrollers zur Steuerung und Abfrage der LED und des Tasters angegeben 01 $regfile = m16DEFdat Microcontroller ATmega16 02 $crystal = 11059200 110592MHz Quarz 03 $baud = 9600 Baudrate 04 05 ---[ Variables ]--------------------------------------------------------------- 06 Dim Rs232kommando As String 10 erst Befehlspuffer dann Kommando 07 Dim Parameter As String 10 Parameter 08 Dim Str_pos As Byte Position von Leerzeichen zur Trennung von Kommando und Pa-rameter 09 10 ---[ Initialisierung ]--------------------------------------------------------- 11 Ddra0 = 1 PortA0 als Ausgang fuumlr LED 12 Porta0 = 0 LED aus 13 Ddra1 = 0 PortA1 als Eingang fuumlr Taster 14 Porta1 = 1 Pull-Up aktivieren 15 16 ---[ Main program loop ]------------------------------------------------------- 17 Do Start der Endlos-Schleife 18 19 If Ischarwaiting() = 1 Then Zeichen uumlber RS232 empfangen 20 Input Rs232kommando neues Kommando lesen 21 Parameter = Parameter initialisieren 22 Str_pos = Instr(rs232kommando ) Leerzeichen im Kommando suchen 23 If Str_pos gt 0 Then falls Leerzeichen dann in Kommando+Parameter zerlegen 24 Incr Str_pos Str_pos soll jetzt auf 1Zeichen des Parameters zeigen 25 Parameter = Mid(rs232kommando Str_pos ) Parameter = Teilstring nach Leerzeichen 26 Parameter = Ucase(parameter) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 27 Str_pos = Str_pos - 2 Str_pos soll jetzt auf letztes Zeichen des Kommandos zeigen 28 Rs232kommando = Left(rs232kommando Str_pos)Kommando = Teilstring vor Leerzeichen 29 Rs232kommando = Ucase(rs232kommando) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 30 End If 31 32 Select Case Rs232kommando Eventhandler Interpretation der Kommandos 33 Case Print Hilfe Hilfeseite anzeigen 34 Print LED on - LED einschalten 35 Print LED off - LED ausschalten 36 Print LED - zeigt Status der LED an 37 Print SW - zeigt Status des Schalters an 38

1K8

LED rotmicroC PortA0(PIN40)

Taster

microC PortA1(PIN39)

1

3

2

69

39 Case LED If Parameter = ON Then LED schalten 40 Porta0 = 1 41 End If 42 If Parameter = OFF Then 43 Porta0 = 0 44 End If 45 46 Case LED If Porta0 = 0 Then Status der LED ausgeben 47 Print LED aus 48 Else 49 Print LED an 50 End If 51 52 Case SW If Pina1 = 1 Then Status des Schalters ausgeben 53 Print Taster offen 54 Else 55 Print Taster geschlossen 56 End If 57 58 Case Else Print gt Rs232kommando lt ungueltiger Befehl - weitere Infos mit Info bei unguumlltigen Eingaben 59 End Select 60 61 End If 62 63 Loop Endlos-Schleife Springe zu Do 64 65 End wird nie erreicht

Der erste Teil des Programms (Zeilen 1 - 15) enthaumllt die Systemparameter Variablen und Initialisierung der Ein- und Ausgaumlnge Der zweite Teil enthaumllt ab Zeile 17 das Hauptpro-gramm in dem Benutzereingaben uumlber die serielle Schnittstelle empfangen interpretiert und in entsprechende Anweisungen umgesetzt werden Tab 14 erlaumlutert den Programmcode de-taillierter

Zeilen Erlaumluterung

1 - 3 Diese Angaben teilen dem Compiler (Bascom) mit welcher Prozessor eingesetzt wird wie schnell dieser getaktet (Quarz) ist und mit welcher Uumlbertragungsgeschwindigkeit die Kommunikation uumlber die serielle Schnittstelle (RS232) mit dem PC erfolgen soll

6 - 8 Es werden drei Variablen genutzt Die Eingabe uumlber die serielle Schnittstelle wird in rs232kommando gespeichert Es wird ein Text der Form Kommando ltLeerzeichengt Parameter erwartet so dass die Variable Parameter den-selbigen aufnimmt Die Variable str_pos wird fuumlr die Trennung von Kommando und Parameter benoumltigt

11 - 14

Mit dem Befehl ddrPX (ddr = data direction) wird festgelegt ob ein Beinchen als Ausgang (=1) oder als Eingang (=0) arbeiten soll Der ATmega16 besitzt 32 Ein-Ausgaumlnge die in vier Ports (P=AD) zu je 8 Pins (X=07) unterteilt sind ddrA0 = 1 legt also das 1 Beinchen (Pin 0) von PortA als Ausgang (=1) fest Mit dem Befehl PortA0 =1 kann dieser Pin dann durch Zuweisen von 1 oder 0 an- bzw ausgeschaltet werden Im Datenblatt erfahren Sie welches der 40 Beinchen des Mikrocontrollers wie bezeichnet wird (Pin-Belegung) Wird ein Beinchen als Eingang verwendet (ddrA1 = 0) koumlnnen Sie optional einen so genannten Pull-Up-Widerstand aktivieren (PortA1=1) oder deaktivieren (PortA1=0) Auch hierzu sollten Sie sich unbedingt mit dem Datenblatt vertraut machen

17 63 Das Hauptprogramm besteht aus einer Endlosschleife d h der Mikrocontroller verrichtet ununterbrochen seinen Job so lange er mit Strom versorgt wird

19 - 30 Falls ein Zeichen uumlber die serielle Schnittstelle empfangen wurde wird dieses und alle folgenden gelesen Anschlie-szligend wird gepruumlft ob der empfangene Text von der Form Kommando ltLeerzeichengt Parameter ist so dass er ge-gebenenfalls in ein Kommando und einen Parameter zerlegt werden kann

32 - 59 Dieser Abschnitt wird mit Event-Handler bezeichnet Hier wird auf die Kommandos (Events) reagiert und die ent-sprechenden Schritte ausgefuumlhrt zB schalten LED je nach Wert der Variablen Parameter an- bzw ausschalten

46 52

In beiden Zeilen wird ein Wert eines Ports abgefragt Unterschiedlich ist dass in Zeile 46 der Status eines Ausgangs abgefragt wird (porta0) und in Zeile 52 der Zustand eines Eingangs (pina0) Die Anweisung IF porta0 = 0 THEN pruumlft (hier ist = ein Vergleich und KEINE Zuweisung) ob zuletzt die LED ausgeschaltet (Zuweisung porta0 = 0) wurde Die Anweisung IF pina1= 1 THEN liest den Status eines Eingangs Hier kann festgestellt werden ob der Eingang uumlber den internen Pull-UP-Widerstand auf +5V liegt (pina1 liefert 1) oder ob der Schalter den Eingang mit Masse (0V) verbindet (pina1 liefert 0)

Tab 14 Erlaumluterung des Mikrocontroller-Programmcodes fuumlr elementares RCL

70

In Bascom AVR eine neue Datei erzeugen (FileNew) den Programmcode ohne Kommenta-re eingeben und mit ProgramCompile (F7) eine Hexadezimaldatei erzeugen Die Hexadezi-maldatei mit dem AVR-Studio und dem AVR-ISP-Programmer in den Mikrocontroller schrei-ben (larr 222 Programmuumlbertragung) Nach dem Verbinden von Computer und Interface per Null-Modem-Kabel kann durch Eingabe von in das konfigurierte Hyperterminal die Befehls-liste in Abb 30 aufgerufen werden

Abb 30 Aufgerufene Befehlsliste im Hyperterminal

Durch Eingabe von LED on oder LED off kann die LED ein- und ausgeschaltet LED zeigt den Status der LED und sw den Status des Tasters an Alternativ zum Hyperterminal kann auch das Terminal in BASCOM unter ToolsTerminal Emulator verwendet werden (larr 422)

464 Ferngesteuertes RCL Zum Ansteuern des Interfaces und zum Bedienen des Versuchsaufbaus uumlber das Internet wird eine Webseite benoumltigt die dem Benutzer alle Bedienelemente des Experiments zur Verfuumlgung stellt

Der Benutzer benoumltigt anklickbare Buttons im Webbrowser

Der Webserver muss die Information welcher Button gedruumlckt wurde empfangen und ein entsprechendes Kommando uumlber die serielle Schnittstelle an das Interface senden

Beide Schritte sind im nachfolgenden PHPHTML-Quellcode zusammengefasst 01 ltDOCTYPE HTML PUBLIC -W3CDTD HTML 401 TransitionalEN httpwwww3orgTRhtml4loosedtdgt 02 lthtmlgt 03 ltheadgt 04 ltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1gt 05 lttitlegtelementares RCLlttitlegt 06 ltheadgt 07 08 ltbodygt 09 ltphp 10 if (isset($_POST[Kommando])) wurde bereits Kommando gesendet 11 if( ( $handle = fopen( COM1 w+ ) ) ) Schnittstelle oumlffnen 12

71

13 throw new Exception( Can not access serial port 2 ) ohne Erfolg 14 15 fwrite( $handle $_POST[Kommando] chr( 13 ) ) Befehl an Interface senden 16 switch ( $_POST[Kommando] ) Antwort von Interface auswerten 17 case LED $tmp = fgets( $handle ) Echo von Interface ignorieren 18 $antwort = fgets( $handle ) Antwort des Interfaces 19 echo Antwort $antwort Ausgabe auf Webseite 20 break switch verlassen 21 22 case SW $tmp = fgets( $handle ) Echo von Interface ignorieren 23 $antwort = fgets( $handle ) Antwort des Interfaces 24 echo Antwort $antwort Ausgabe auf Webseite 25 break switch verlassen 26 27 28 29 fclose( $handle ) Schnittstelle schlieszligen 30 31 else 32 `mode com1 BAUD=9600 PARITY=N data=8 stop=1 xon=off` Schnittstellenparameter setzen 33 34 35 gt 36 37 lth3gtBefehl sendenlth3gt 38 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 39 ltinput type=hidden name=Kommando value=LED ON gt 40 ltinput type=submit value=LED anschalten gt 41 ltformgt 42 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 43 ltinput type=hidden name=Kommando value=LED OFF gt 44 ltinput type=submit value=LED ausschalten gt 45 ltformgt 46 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 47 ltinput type=hidden name=Kommando value=LED gt 48 ltinput type=submit value=LED abfragen gt 49 ltformgt 50 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 51 ltinput type=hidden name=Kommando value=SW gt 52 ltinput type=submit value=Taster abfragen gt 53 ltformgt 54 ltbodygt 55 lthtmlgt Den Quellcode in den Texteditor kopieren und im Ordner htdocs von XAMPP z B unter rclphp speichern HTML-Dateien mit PHP-Code (Zeilen 9-35) muumlssen mit der Erweiterung php gespeichert werden damit der Apache Webserver zwischen HTML-Seiten mit und ohne PHP-Code unterscheiden kann Den installierten Apache Webserver starten (larr 452) und im Adressfeld des Webbrowsers die IP-Adresse http127001rclphp aufrufen Das Bedi-enfeld des elementaren RCLs in Abb 31 wird im Browserfenster angezeigt

72

Abb 31 Laborseite des elementaren RCLs

Im Bedienfeld kann die LED an- und ausgeschaltet sowie der Status von LED und Taster abgefragt werden

  • 0 Warum ein Tutorial zur RCL-Technik
  • 1 Technische Konzeption
    • 11 Einfuumlhrung
    • 12 Wahl der RCL-Technik
      • 2 Lokal gesteuertes RCL
        • 21 Interface
          • 211 Mikrocontroller
          • 212 Basisschaltung und Erweiterungsschaltungen
          • 213 Programmierung des Mikrocontrollers
            • 22 Hyperterminal
            • 23 Positionieren von Objekten
              • 231 Hybrid-Schrittmotoren
              • 232 Schrittmotorsteuerung und Positionierungsmechanik
                  • 3 Ferngesteuertes RCL
                    • 31 RCL-Server
                    • 32 Laborseite
                      • 321 Steuerung des RCLs uumlber das Bedienfeld
                      • 322 Videouumlbertragung im Webcamfeld
                        • 33 Standard-Lernumgebung
                          • 4 ANHANG
                            • 41 Interface in Basisschaltung
                              • 411 Schaltplan und Bauteilliste
                              • 412 Bestuumlckung der Platine
                                • 42 Erweiterungsschaltungen
                                  • 421 Uumlbersicht
                                  • 422 TMC222-Modul zur Schrittmotorsteuerung
                                    • 4221 Schaltplan und Bauteilliste
                                    • 4222 Bestuumlckung der Platine
                                    • 4223 Quellcode des Mikrocontroller-Programms
                                      • 423 Geschaltete Spannungsquellen und Verbraucher
                                      • 424 Steuerung von Gleichstrommotoren
                                        • 43 Quellcodes zum RCL Elektronenbeugung
                                          • 431 Mikrocontroller-Programmierung
                                          • 432 PHP-Programmierung
                                          • 433 Bedienfeld der Laborseite
                                          • 434 Webcamfeld der Laborseite
                                            • 44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung
                                              • 441 AVR-Studio 418
                                                • 4411 Installation
                                                • 4412 Konfiguration
                                                  • 442 BASCOM 11198 Demoversion
                                                    • 4421 Installation
                                                    • 4422 Konfiguration
                                                        • 45 Installation und Konfiguration von Programmen auf dem RCL-Server
                                                          • 451 Einrichten des Internet-Zugangs
                                                          • 452 Paket XAMPP 174
                                                          • 453 Videoserver webcamXP 5 Private
                                                          • 454 Terminalprogramm Hyperterminal
                                                          • 455 Fernwartungssoftware TeamViewer 6 Host
                                                            • 46 Selbstbau eines elementaren RCLs
                                                              • 461 Hard- und Software
                                                              • 462 Bestuumlckung der Platine
                                                              • 463 Lokal gesteuertes RCL
                                                              • 464 Ferngesteuertes RCL

14

Feature Erlaumluterung

Proz

esso

r

ATMEL AVR 8 bit RISC Mik-rocontroller ATmega16

ATMEL US-amerikanischer Hersteller von Mikrocontrollern AVR Familie von Mikrocontrollern 8 bit Breite des internen Datenbusses des Mikrocontrollers RISC steht fuumlr Reduced Instruction Set Computer (Rechner mit reduziertem Befehls-

satz) Designphilosophie von Mikrocontrollern mit Befehlssatz aus moumlglichst einfa-chen Befehlen und houmlherer Effizienz des Prozessors

ATmega Eine der Mikrocontroller-Serien von ATMEL 16 steht fuumlr 16 kB Flash-ROM Groumlszlige des Programmspeichers des Mikrocontrollers

131 Befehle mit 1-2 Taktzyk-lenBefehl

Die ATmega-Serie besitzt unter den Mikrocontroller-Serien von ATMEL den groumlszligten Befehlssatz Die meisten Befehle benoumltigen zur Ausfuumlhrung nur einen Taktzyklus

Variabel waumlhlbare Taktfre-quenzen bis zu 16 MHz

Ein externer Schwingquarz legt die Schwingungsfrequenz einer Oszillatorschaltung und damit die Taktfrequenz des Mikrocontrollers fest

Prog

ram

mie

rung

und

Dat

ensp

eich

erun

g

ISP uumlber SPI-Bus in 16 kB Flash-ROM Programm-Speicher

ISP steht fuumlr In System Programming Der Mikrocontroller kann ohne aus der Schal-tung entfernt zu werden programmiert werden Es wird kein teures Programmierge-raumlt sondern nur ein Programmieradapter benoumltigt

SPI steht fuumlr Serial Peripheral Interface (Serielles Peripheres Interface) Nach dem Master-Slave-Prinzip arbeitender synchroner serieller Datenbus zur Kommunikation zwischen digitalen Schaltungen

Flash-ROM Kann zur Speicherung des Programmcodes ca 1000-mal neu be-schriebengeloumlscht - geflashed - werden aber beliebig oft gelesen werden Daten bleiben auch ohne Versorgungsspannung erhalten

512 B EEPROM 1 kB internes SRAM

EEPROM steht fuumlr Electrically Erasable Programmable Read Only Memory (Elektrisch loumlschbarer und programmierbarer Nur-Lese-Speicher) Nichtfluumlchtiger Speicher der beliebig oft gelesen und mindestens 100000 mal beschrieben werden kann Kann z B zum Speichern von Messwerten und Konfigurationsdaten verwen-det und uumlber ISP programmiert werden

SRAM steht fuumlr Static Random Access Memory Fluumlchtiger Speicher der beliebig oft gelesen und beschrieben werden kann Wird z B zur Speicherung von Variablen und des Stacks verwendet

Perip

here

Mod

ule

32 programmierbare Ein- und Ausgaumlnge

Der Mikrocontroller ist 40-polig Davon koumlnnen 32 Pole entweder als Ein- oder Aus-gang programmiert werden

Zwei 8-bit- und ein 16-bit-Timer mit Vorteilern und Ver-gleichs-Modus

Die vom Quarzoszillator gesteuerten Timer erlauben z B praumlzise Zeitmessungen oder Interrupts bei bestimmten Zaumlhlerstaumlnden Die maximalen Zaumlhlerstaumlnde sind bei 8 bit 255 und bei 16 bit 1023 Vorteiler erlauben eine Verringerung der Zaumlhlrate

Programmierbare USART USART steht fuumlr Universal SynchronousAsynchronous Receiver Transmitter Seriel-

le Schnittstelle die zur Datenuumlbertragung zwischen Mikrocontroller und Computer benutzt wird

I2C Interface

I2C ist ein synchroner serieller Zweidraht-Bus mit einer Daten- und einer Taktleitung zur Kommunikation zwischen ICs Nach dem Master-Slave-Prinzip kann ein Master bis zu 128 Slaves ansprechen Die Uumlbertragungsrate liegt im Standard-Mode bei 100 kbits

Externe und interne Interrupts

Interrupts unterbrechen das Hauptprogramm des Mikrocontrollers um kurzfristige und zeitkritische Verarbeitungen durchzufuumlhren Externe Interrupts werden durch am Mikrocontroller angeschlossene Hardware gesteuert interne Interrupts durch die Programmierung des Mikrocontrollers

4 PWM-Ausgaumlnge PWM steht fuumlr Pulse Width Modulation (Pulsweitenmodulation) Timer stellen an 4

Ausgaumlngen Rechteckimpulse der Dauer t und Unterbrechungsdauer T-t mit variab-lem Tastverhaumlltnis tT zur Verfuumlgung

8 10-bit ADC

ADC steht fuumlr Analog to Digital Converter (AD-Wandler) Integrierte Schaltung die analoge Eingangsspannung Ue in digitale Ausgangsspannung (Zahl) umwandelt

10-bit Aufloumlsungsvermoumlgen des AD-Wandlers Kleinster aufloumlsbarer Spannungsun-terschied ist (Uemax - Uemin)210

Tab 3 Features des Mikrocontrollers ATmega16

15

212 Basisschaltung und Erweiterungsschaltungen Abb 5 zeigt am Beispiel des RCLs Elektronenbeugung die Platine des Interface mit den Funktionsgruppen 1 - 5 der Basisschaltung und den Funktionsgruppen 6 und 7 der Erweite-rungsschaltungen (larr 11 Abb 4)

Abb 5 Platine des Interface des RCLs Elektronenbeugung

Abb 6 zeigt den dazugehoumlrigen Schaltplan mit den Nummern der Funktionsgruppen und die Pinbelegung des Mikrocontrollers ATmega16

Abb 6 Schaltplan des Interface des RCLs Elektronenbeugung (links) und Pinbelegung

des Mikrocontrollers ATmega16 (rechts)

16

Basisschaltung Die Spannungsversorgung (1) des Interface erfolgt uumlber ein Universal-Steckernetzteil mit der Betriebsspannung Ub = 12 V Eine Diode SB140 schuumltzt die Elektronik des Interface vor falscher Polung der Spannungsversorgung Der Spannungsregler L7805 wandelt die Betriebsspannung am Hohlstecker in eine Gleichspannung von 5 V fuumlr die Spannungs-versorgung der elektronischen Bauelemente des Interface um Die Betriebsspannung kann im Interface auch direkt zur Ansteuerung von Relais oder zur Spannungsversorgung kleinerer Motoren verwendet werden Bei Bedarf kann unter Beachtung der Kuumlhlung des L7805 das Interface mit houmlheren Betriebsspannungen z B fuumlr staumlrkere Schrittmotoren betrieben werden Die nicht hinreichend stabile und temperaturabhaumlngige Frequenz des internen RC-Oszillators im Mikrocontroller (2) kann bei Verwendung der USART zu Problemen fuumlhren Daher wird ein externer 110592 MHz Schwingquarz (3) eingesetzt Der IC MAX232 ist ein Pegelwandler der die 0V+5 V-Signale der seriellen Schnittstelle (4) des Mikrocontrol-lers an die plusmn12 V-Signale der seriellen Schnittstelle des Computers anpasst Uumlber den ISP-Stecker kann der Mikrocontroller programmiert werden (5) Das Interface in der Ba-sisschaltung kann im Selbstbau angefertigt werden (rarr 41)

Erweiterungsschaltungen Nur die wenigsten Aktoren Sensoren gesteuerte Geraumlte und Bauelemente eines RCLs lassen sich direkt vom Mikrocontroller ansteuern Beim RCL Elektronenbeugung wird die Heizspannung der Elektronenkanone mit einem Relais zum Schalten der Netzspannung des Hochspannungsnetzgeraumltes ein- und ausgeschaltet (6) Liefert der Mikrocontroller am Port PA0 die Spannung 5 V (high) so wird die Kollektor-Emitter-Strecke des Transistors BC 337 niederohmig fast die gesamte Betriebsspannung Ub = 12 V faumlllt uumlber dem Relais ab und es flieszligt ein Strom durch das Relais Die Diode 1N4001 schuumltzt den Transistor vor Induktionsspannungsspitzen beim Ein- und Ausschalten der Spule im Relais Am Steuereingang des Hochspannungsnetzgeraumlts kann durch Anlegen einer Steuer-spannung US zwischen 0 V und 5 V die Beschleunigungsspannung der Elektronenkanone zwischen 0 und 43 kV im belasteten Zustand bei eingeschalteter Gluumlhkathode variiert werden Die analoge Steuerspannung US erzeugt ein 8-bit Digital-Analog-Wandler PCF8591 der uumlber den I2C-Bus des Mikrocontrollers (Ports PC0 und PC1) mit Binaumlr-codes zwischen 0 und 255 angesteuert wird (7) Die Ausgangsspannung des DA-Wandlers liegt in 256 Stufen zwischen 370 mV und 497 V Dieser Schaltung wurde der Vorzug gegenuumlber der Erzeugung einer Steuerspannung mit Hilfe eines der Pulsweiten-modulationsausgaumlnge des Mikrocontrollers gegeben weil der Programmieraufwand ge-ringer und die Steuerspannung keine Restwelligkeit aufweist

Eine Uumlbersicht zu Erweiterungsschaltungen fuumlr Sensoren und Aktoren (rarr 421) zeigt die Anpassungsfaumlhigkeit des Interface an die unterschiedlichsten Experimente

17

213 Programmierung des Mikrocontrollers Im Folgenden wird die Programmstruktur des Mikrocontroller-Programms und die Uumlbertra-gung des Programmcodes in den Mikrocontroller beschrieben

Programmstruktur Der Mikrocontroller ist mit einem Programm (Firmware) ausgestattet um die Aufgaben des Interfaces abzuarbeiten Hierzu zaumlhlen im Wesentlichen Programmteile zur Kommu-nikation mit dem RCL-Server und zur Steuerung des Experiments da das Interface eine Schnittstelle zwischen Experiment und RCL-Server darstellt Weitere Programmteile sind beispielsweise zur Initialisierung des Versuchsaufbaus und der Steuerparameter sowie zur Konfiguration des Interfaces realisiert Abb 7 zeigt ein Flussdiagramm der Programm-teile zur Kommunikation mit dem RCL-Server und zur Steuerung des Experiments

Abb 7 Flussdiagramm der Programmierung des Mikrocontrollers

Der Programmteil zur Kommunikation mit dem RCL-Server besteht im Wesentlichen aus einer Schleife die unablaumlssig auf Steuerzeichen des RCL-Servers wartet diese gegebe-nenfalls empfaumlngt und auswertet Soll mittels eines empfangenen Steuerzeichens der Versuchsaufbau angesteuert werden wird vom Kommunikations-Programmteil eine ent-sprechende Anweisung fuumlr den Steuerungs-Programmteil generiert In der Schleife wer-den auch Antworten wie z B Messergebnisse des Steuerungs-Programmteils entgegen-genommen und an den RCL-Server ausgegeben Der Kommunikations-Programmteil kann Kommandos mit und ohne Parameter entgegen-nehmen und verarbeiten So lassen sich einfache Befehle wie Start und Stopp eines Mo-tors aber auch speziellere Anweisungen wie Messe uumlber den Bereich von a nach b mit einer Schrittweite c ausfuumlhren Auch Messergebnisse oder Statusinformationen in Form einzelner Daten wie Zahlen oder Listen koumlnnen vom Kommunikations-Programmteil an den RCL-Server uumlbertragen werden Ferner uumlbernimmt der Kommunikations-Programmteil auch den Austausch von Konfigurationsdaten fuumlr das Interface beispiels-

18

weise Motorparameter oder Zeitvorgaben fuumlr eine Standby-Funktion Schlieszliglich gibt der Kommunikations-Programmteil auch Fehlermeldungen an den RCL-Server aus etwa bei einem Fehlerzustand im Experiment oder bei fehlerhaften Anweisungen des Besuchers bzw des RCL-Servers Im Programmteil zur Steuerung des Experiments erfolgt die Ansteuerung von Aktoren und das Auslesen von Sensoren mittels elektronischer Aus- und Eingaumlnge (Ports) des Mikro-controllers Gegebenenfalls sind zwischen den Ports des Mikrocontrollers und dem Expe-riment Erweiterungsschaltungen erforderlich (larr 212 Erweiterungsschaltungen) Der Steuerungs-Programmteil ist als Interrupt-Routine implementiert Interne Zeitgeber des Mikrocontrollers rufen den Programmteil zyklisch z B alle 1 oder 10 Millisekunden auf wobei die zuvor beschriebene Schleife des Kommunikations-Programmteils kurzzeitig fuumlr die Abarbeitung des Steuerungs-Programmteils unterbrochen wird Hierdurch wird die Steuerung als Real-Time-Prozess12 ausgefuumlhrt und es koumlnnen insbesondere zeitkritische Steueraufgaben mit einer Aufloumlsung von ungefaumlhr 1 - 10 ms zuverlaumlssig erledigt werden Ferner ist im Mikrocontroller und dem Programm ein sogenannter Watchdog installiert der das Programm bei einem Programmabsturz automatisch neu startet Der Watchdog als elektronische Baugruppe im Mikrocontroller fuumlhrt einen Neustart des Mikrocontrollers (Reset) durch sofern er nicht mehr uumlber das Programm in vorgegebenen Zeitintervallen angesteuert wird Je nach RCL gibt es noch weitere Interrupt-Routinen die unabhaumlngig vom Zeittakt des Mikrocontrollers auf externe Ereignisse wie z B Ausgangsspannungsaumlnderungen eines Sensors reagieren Damit kann besonders schnell auf Erfordernisse des Experiments re-agiert oder es koumlnnen Zeitmessungen mit einer Genauigkeit von ungefaumlhr 10-6 s durchge-fuumlhrt werden Im Anhang (rarr 431) ist der Pascal-Quellcode fuumlr den Mikrocontroller des RCLs Elektronenbeugung verfuumlgbar

Programmuumlbertragung Nach der Kompilierung des Assembler- Basic- C+- C++- oder Pascal-Programms liegt eine Hexadezimaldatei vor die vom Computer in den Mikrocontroller uumlbertragen werden muss (Flashen des Programms) Zur Programmuumlbertragung muss das AVR-Studio instal-liert und konfiguriert sein (rarr 441) Abb 8 zeigt wie die Programmuumlbertragung durchge-fuumlhrt wird

12 Real-Time bedeutet hier dass die maximale Dauer eines Vorgangs vorhersehbar und gewaumlhrleistet ist dass eine Steuer-

aufgabe nach einer vorhersehbaren Zeit abgeschlossen ist

19

Abb 8 Programmuumlbertragung zwischen Computer und Mikrocontroller im Inter-

face des RCLs Elektronenbeugung uumlber USB-Seriell-Adapter und ISP-Programmer

Das Interface braucht nicht mit dem Experiment verbunden zu sein Auch Erweiterungs-schaltungen innerhalb oder auszligerhalb des Interface muumlssen nicht mit dem Mikrocontroller verbunden sein Das Interface ermoumlglicht uumlber die ISP-Schnittstelle die Programmierung mit einem preisguumlnstigen ISP-Programmer ohne ein teureres Experimentierboard13 Zur Uumlbertragung des Programms muss in folgenden Schritten vorgegangen werden

(1) Spannungsversorgung des Interface zur Sicherheit unterbrechen weil beim Verbinden mehrpoliger Steckerverbindungen es zu Kurzschluumlssen kommen kann

(2) 10-poligen ISP-Stecker des ISP-Programmers an die ISP-Schnittstelle des Interface anschlieszligen

(3) ISP-Programmer an die serielle Schnittstelle oder uumlber USB-Seriell-Adapter an die USB-Schnittstelle des Computers anschlieszligen

(4) Spannungsversorgung des Interface wieder herstellen

(5) AVR-Studio unter StartProgramme aufrufen und nach Abb 9 in der Registerkarte Program unter Flash die zu uumlbertragende Hexadezimal-Datei z B Elektronenbeu-gunghex auf der Festplatte auswaumlhlen und Program waumlhlen

13 Vgl ATMEL STK 500 Entwicklerkit bei Reichelt Elektronik

20

Abb 9 Uumlbertragung der Hexadezimaldatei Elekt-

ronenbeugunghex in den Mikrocontroller

(6) Spannungsversorgung des Interface unterbrechen ISP-Programmer vom Interface trennen AVR-Studio beenden und den ISP-Programmer vom Computer trennen

22 Hyperterminal Nach der Programmuumlbertragung kann das Experiment uumlber das konfigurierte Hyperterminal (rarr 454) lokal gesteuert werden Mit dem Hyperterminal koumlnnen als Text eingegebene Be-fehle oder Abfragen an den Mikrocontroller gesendet oder von diesem empfangen werden Der Computer muss wie bei der Programmuumlbertragung mit dem Interface per Null-Modem-Kabel uumlber die serielle Schnittstelle oder einen USB-Seriell-Adapter verbunden sein Das In-terface muss an die Versorgungsspannung anschlossen sein braucht aber nicht mit dem Experiment verbunden zu sein Abb 10 zeigt nach Eingabe von und von param im Hyper-terminal die Befehlsliste des Mikrocontrollers fuumlr das RCL Elektronenbeugung

21

Abb 10 Befehlsliste des Mikrocontrollers im Hyperterminal fuumlr das RCL Elektronenbeugung

Tab 4 gibt Erlaumluterungen zur Befehlsliste

BefehlAbfrage Erlaumluterung

DA x Am Eingang des DA-Wandlers wird die Zahl x (0 - 255) im Binaumlrcode

angelegt und die Ausgangsspannung des Hochspannungsnetzgeraumlts bzw die Beschleunigungsspannung der Elektronenkanone eingestellt

OnOff Hochspannungsnetzgeraumlt und Gluumlhkathode der Elektronenkanone ein-

oder ausschalten Beim Einschalten wird die Steuerspannung des Inter-face am Hochspannungsnetzgeraumlt auf asymp 0 V einstellt

Standby Ausgabe der eingestellten Standbyzeit von 300 s setSB x Standbyzeit einstellen

next Standby in Ausgabe der verbleibenden Standbyzeit (254 s) bis das Experiment

ausgeschaltet wird Eine negative Standbyzeit gibt die Zeit seit dem Ab-lauf der Standbyzeit an

Power On Delay Ausgabe der Verzoumlgerungszeit (2 s) bis das Hochspannungsnetzge-

raumltElektronenbeugungsroumlhre nach dem Ausschalten oder nach Ablauf der Standbyzeit erneut eingeschaltet werden kann

setPOD x Verzoumlgerungszeit einstellen

power on enabled in Ausgabe wie lange Hochspannungsnetzgeraumlt nicht eingeschaltet wer-

den kann Zeiten unter 0 bedeuten dass Power-On-Delay-Zeit ablaufen ist

Tab 4 Erlaumluterung der Befehle in Abb 10

23 Positionieren von Objekten In fast allen RCLs des RCL-Portals auszliger den RCLs Elektronenbeugung und Oszilloskop muumlssen Objekte rotatorisch oder translatorisch positioniert werden Eingesetzt werden Hyb-rid-Schrittmotoren als Aktoren eine Schrittmotorsteuerung von Trinamic als Erweiterungs-schaltung (TMC222-Modul) die Positionierungseinheit ausgedienter Flachbrett-Scanner und ein Referenz-Taster als Sensor

231 Hybrid-Schrittmotoren Abb 11 zeigt den vereinfachten schematischen Aufbau eines zweiphasigen Schrittmotors mit getrennten magnetischen Kreisen des Stators und einem permanent magnetisierten zweipoligen Rotor (Polpaarzahl 1)

22

Abb 11 Funktionsprinzip von Schrittmotoren Unipolare (links) und bipolare Schaltung (rechts)

von Schrittmotoren mit Bestromungstabellen fuumlr Voll- und Halbschrittbetrieb Darge-stellt ist der Schritt 0

Der Rotor verfuumlgt bei der dargestellten Polreihenfolge S-S-N-N des Stators uumlber eine stabile Stellung bei einer hypothetischen (magnetische Monopole) Polreihenfolge N-S-N-S gaumlbe es mit diesem Aufbau des Stators nur instabile Stellungen des Rotors Um den Rotor in Bewe-gung zu setzen muss die Polreihenfolge S-S-N-N im oder entgegen den Uhrzeigersinn (Rechts- oder Linksdrehung) weitergeschaltet und der Rotor vom magnetischen Schrittfeld mitgenommen werden

Die magnetische Polaritaumlt eines magnetischen Kreises laumlsst sich entweder durch zwei Spu-len konstanter elektrischer Polaritaumlt mit unterschiedlichem Wicklungssinn (herstellungstech-nisch zu aufwendig) durch eine Spule mit Mittelanzapfung und konstanter elektrischer Pola-ritaumlt der beiden Teilspulen (unipolare Schaltung) oder durch eine Spule mit wechselnder elektrischer Polaritaumlt (bipolare Schaltung) realisieren In Abb 11 sind dazu die elektrischen Beschaltungen und die Bestromungstabellen fuumlr eine Rechtsdrehung des Rotors dargestellt Fuumlr eine Linksdrehung des Rotors muss die Schrittfolge in umgekehrter Reihenfolge durch-laufen werden

Es wird zwischen Vollschrittbetrieb (graue Zeilen der Tabellen) mit Schrittwinkel 90deg bzw Schrittzahl 4 und Halbschrittbetrieb (alle Zeilen der Tabellen) mit Schrittwinkel 45deg bzw Schrittzahl 8 unterschieden Beim Vollschrittbetrieb werden immer beide magnetische Kreise bestromt und die N-S-Polachse des Rotors nimmt nur Stellungen zwischen den Statorpolen

23

an Beim Halbschrittbetrieb wird zwischen den Vollschritten nur einer der magnetischen Krei-se bestromt und die N-S-Polachse des Rotors kann zusaumltzlich 4 Stellungen in Richtung der Statorpole einnehmen Der Hybrid-Schrittmotor ist die am haumlufigsten vertretene Bauform von Schrittmotoren Abb 12 zeigt den Aufbau eines Hybrid-Schrittmotors

Abb 12 Aufbau eines Hybrid-Schrittmotors fuumlr unipolare und

bipolare Schaltung Daten Schrittwinkel 18deg max Drehmoment 155 Ncm

Der Stator besteht aus zwei Straumlngen mit je 4 in Reihe geschalteten Spulen Der Wick-lungssinn der Spulen ist in beiden Straumlngen so dass sich die Polfolge N-S-N-S uumlber den Umfang ergibt Beide Straumlnge zusammen ergeben unabhaumlngig von der Stromrichtung ei-ne Polfolge N-N-S-S-N-N-S-S uumlber den Umfang Ein zweipoliger Rotor (Polpaarzahl 1) kann im Vollschrittbetrieb 4 Stellungen annehmen Der Rotor des Hybridschrittmotors be-steht aber aus axial magnetisierten Permanentmagneten deren Polpaarzahl durch axial versetzte weichmagnetische Zahnscheiben auf 50 erhoumlht wurde Dadurch erhoumlht sich die Schrittzahl auf 4 sdot 50 = 200 und der Schrittwinkel verkleinert sich auf 360deg200 = 18deg Um stabile Rotorstellungen zu erhalten muumlssen die Statorsegmente ebenfalls gezahnt ausge-fuumlhrt werden

Ein solcher Hybrid-Schrittmotor vereint die Vorteile des Reluktanz- und des permanenter-regten Schrittmotors Ein kleiner Schrittwinkel wird durch das von Reluktanzschrittmotoren bekannte Prinzip der Erzeugung einer Vielzahl von Polen des Rotors durch Zahnscheiben erzielt Ein hohes Drehmoment wird durch das von permanenterregten Schrittmotoren be-kannte Prinzip der Ausfuumlhrung des Rotors als Permanentmagnet erzielt Aufgrund der bi-filaren Wicklung besteht jede Statorwicklung aus zwei Teilspulen und der Schrittmotor kann in unipolarer (alle 6 Anschluumlsse verwendet) und bipolarer Schaltung (nur 4 An-schluumlsse verwendet gemeinsamer Anschluss der Teilspulen bleibt unverwendet) wie in Abb 12 dargestellt verwendet werden

24

Schrittmotoren erlauben nicht nur das Bewegen sondern innerhalb der Leistungsgrenzen (keine Schrittverluste) auch ein genaues Positionieren von Objekten Bei bekannter Schrittzahl auf einer gemessenen Strecke oder Schrittzahl fuumlr den Vollwinkel koumlnnen aus-gehend von einer Referenzstellung Objekte translatorisch oder rotatorisch positioniert werden

232 Schrittmotorsteuerung und Positionierungsmechanik Im Folgenden wird die bei allen RCLs mit Schrittmotoren eingesetzte Schrittmotorsteuerung die Mechanik zur translatorischen Positionierung von Objekten und die Funktionsweise eines Referenztasters beschrieben

Schrittmotorsteuerung Abb 13 zeigt das Blockschaltbild und das im Selbstbau herstellbare TMC222-Modul (rarr 4221 rarr 4222) mit dem IC TMC222 von Trinamic zur Steuerung bipolarer 2-phasiger Hybrid-Schrittmotoren

Abb 13 Blockschaltbild (links) und Platine des TMC222-Moduls (rechts) mit IC TMC 222 auf

der Loumltseite der Platine

Der IC TMC222 enthaumllt ein I2C-Interface zum Anschluss an den I2C-Bus des Mikrocon-trollers (Ports PC0 und PC1) Die 10 kΩ-Pull-up-Widerstaumlnde heben die Takt- (SCL clock) und Datenleitung (SDA data) auf ein Potential von 5 V Der IC TMC222 enthaumllt ei-nen Motortreiber fuumlr Spulenstroumlme bis zu 800 mA und einen Motor-Controller zur Steue-rung der Spulenstroumlme Ein Vorteil des TMC-Moduls ist der relativ geringe Programmier-aufwand fuumlr den Mikrocontroller (rarr 4223) da der IC TMC222 nach Uumlbergabe der Steu-erungsparameter (Drehrichtung Drehzahl hellip) vom Mikrocontroller die Ansteuerung des Schrittmotors uumlbernimmt Der IC TMC222 unterstuumltzt das Beschleunigen und Abbremsen des Schrittmotors enthaumllt einen Schrittpositionszaumlhler und unterstuumltzt Mikrostepping (va-riable Spulenstroumlme zur elektronischen Verkleinerung des Schrittwinkels und groumlszligerer Laufruhe)

25

Falls in RCLs Gleichstrommotoren mit houmlheren Drehzahlen als Schrittmotoren benoumltigt werden kann eine andere Erweiterungsschaltung (rarr 424) eingesetzt werden

Positionierungsmechanik und Referenz-Taster Die Mechanik zur rotatorischen Positionierung von Objekten kann meist kostenguumlnstig selbst oder durch Personal in einer Werkstatt angefertigt werden Abb 14 zeigt eine kos-tenguumlnstige Loumlsung zur translatorischen Positionierung von Objekten

Abb 14 Positionierungseinheit eines Flachbrett-

Scanners Schrittmotor (1) Getriebe (2) Li-nearfuumlhrung (3) Antriebsriemen (4) und er-gaumlnzter Referenz-Taster (5)

Falls der geometrische Aufbau und die geforderte Positionierungsgenauigkeit des RCLs es zulassen kann die Schrittmotor-Positionierungs-Einheit ausgedienter Flachbrett-Scanner zur translatorischen Positionierung von Objekten verwendet werden In Einzelfaumll-len wie dem RCL Weltpendel kann die Positionierungsmechanik auch selbst angefertigt werden Der Referenz-Taster in Abb 14 wird eingesetzt um abzufragen ob ein vom Schrittmotor bewegtes Objekt die Position des Tasters erreicht hat und um diese Position zu referenzieren Ohne eine solche Referenzierung kann die Positionierung eines Objekts langfristig ungenau werden So kann z B beim RCL Weltpendel das Auftreffen der Kugel auf den Magneten zum Uumlberspringen von Schrittmotorstellungen fuumlhren Der Zustand des Referenz-Tasters in Abb 15 wird z B uumlber den Port PA0 des Mikrocontrollers abgefragt

Abb 15 Referenz-Taster zum referenzieren der

Position des bewegten Objekts

26

Zu Problemen koumlnnen undefinierte Zustaumlnde der Eingaumlnge des Mikrocontrollers fuumlhren wie sie beim Prellen dem zeitlich begrenzten schwingen eines Tasters beim Oumlffnen oder Schlieszligen entstehen Abhilfe schafft ein passend dimensionierter parallel zum Taster ge-schalteter Kondensator Bei geoumlffnetem Taster ist der Kondensator aufgeladen Beim Schlieszligen haumllt der Kondensator die Spannung uumlber die Schwingphase trotz kurzzeitig wieder geoumlffnetem Schalter noch aufrecht Analoges gilt fuumlr den Uumlbergang vom geschlos-senen zum geoumlffneten Taster

3 Ferngesteuertes RCL 31 RCL-Server Fuumlr den Betrieb eines RCLs wird ein RCL-Server benoumltigt (larr 11) Vorausgesetzt wird dass bei einem neuen Computer alle notwendigen Treiber (Ethernet Video Audio hellip) zum Be-trieb der Hardware des Computers und Windows XP Professional mit Service Pack 3 instal-liert sind Ein Benutzerkonto braucht nicht angelegt zu werden

Der RCL-Server benoumltigt einen Internetzugang mit statischer IP-Adresse und Uploaddatenra-te von mindestens 200 kbits (DSL 2000) fuumlr die fluumlssige Wiedergabe von Bewegungen in Webcambildern Die statische IP-Adresse wird von der Institution am Standort des RCLs vergeben oder kann von Privatpersonen bei einem Provider beantragt werden Mit folgenden Schritten wird der RCL-Server eingerichtet

Internetzugang einrichten (rarr 451) und im Browser testen

Checken ob die Windows Firewall aktiviert ist

Virenschutzproramm Avira Antivir Personal herunterladen (larr Tab 1) installieren und ak-tualisieren

Uumlber Windows Update alle Updates von Windows XP Professional installieren

Fernwartungssoftware TeamViewer 6 Vollversion (larr Tab 1) herunterladen und auf dem RCL-Server und dem eigenen Computer installieren (rarr 455)

Webeditor Notepad++ herunterladen installieren und aktualisieren (larr Tab 1)

Videoserver WebcamXP 5 herunterladen und installieren (rarr 453)

Paket XAMPP herunterladen und installieren (rarr 452) Verknuumlpfungen mit den Dateien xampphtdocsapache_startbat und xampphtdocsapache_stopbat auf dem Desktop oder in der Schnellstartleiste erstellen und Webserver mit erstgenannter Verknuumlpfung starten Webserver durch Eingabe von 127001 oder localhost ins Adressfeld des Brow-sers testen Bei erfolgreichem Test werden die im Ordner xampphtdocs abgelegten Webseiten von XAMPP dargestellt Statische IP-Adresse des RCL-Servers im Browser eines anderen Computers mit Internetzugang eingegeben Bei erfolgreichem Test werden die Webseiten von XAMPP dargestellt In der Datei xamppphpphpini unter Resource Limits die max_execution_time mit dem Windows-Editor von 60 auf 300 erhoumlhen und die

27

Datei speichern damit PHP bei Befehlen mit laumlngerer Ausfuumlhrungsdauer keine Fehler-meldung liefert

Ordner xampphtdocs mit den Webseiten von XAMPP in xampphtdocs_xampp um-benennen und fuumlr spaumltere Testzwecke nicht loumlschen RCL-Ordner htdocs herunterladen (larr Tab 1) extrahieren und in das Verzeichnis xampp verschieben

Abb 16 zeigt die Struktur des RCL-Ordners htdocs

Abb 16 Struktur des RCL-Ordners htdocs RCL-spezifisch anzupassende Dateien sind grau

hinterlegt

Der geoumlffnete Ordner Labor enthaumllt alle PHP- und HTML-Dateien bzw Programmierungen fuumlr die Funktionalitaumlt des Bedienfelds der Laborseite (larr 11 Abb 3) An das RCL anzupas-sen sind die portalsprachenunabhaumlngigen Dateien configphp und experimentphp sowie fuumlr jede Portalsprache die Dateien defaultconf und experimenttpl in den Ordnern eng fra ger und ita

Datei configphp Zeit bis zum automatischen Logout beim Experimentieren mit dem RCL eintragen

Datei experimentphp PHP-Basisprogrammierung um die RCL-spezifische PHP-Programmierung erweitern (rarr 432)

Datei defaultconf Name des RCLs (z B Elektronenbeugung) in jeder Portalsprache ein-getragen

Datei experimenttpl HTML-Basisprogrammierung um RCL-spezifische Ein- und Ausga-befelder erweitern (rarr 433)

28

32 Laborseite 321 Steuerung des RCLs uumlber das Bedienfeld Das Bedienfeld der Laborseite (larr 11 Abb 3) wird von der Dateien indexphp und experi-menttpl erzeugt Befehle wie das Anklicken von Buttons Eingaben und Auswahl aus Listen werden in ein HTML-Formular mit Formularfeldern in der Datei experimenttpl geschrieben Die Daten werden von der PHP-Datei experimentphp ausgewertet und uumlber die serielle Schnittstelle dem Mikrocontroller-Programm zur Steuerung des Experiments uumlbergeben Die Dateien experimentphp und experimenttpl wurden getrennt angelegt um Code und Design zu trennen und nur das Design in der Datei experimenttpl an die Portalsprache anpasst werden muss

Tab 5 enthaumllt Ausschnitte der HTML-Datei experimenttpl (rarr 433) der Datei experi-mentphp (rarr 432) und des Mikrocontroller-Programms (rarr 431) fuumlr das RCL Elektronen-beugung

29

Code mit Erlaumluterung

expe

rimen

ttpl

1821 Tag ltformgtltformgt definiert ein Formular 18 Attribut action legt fest dass Formulardaten in der Datei indexphp verarbeitet werden Uumlbertragen

werden eine Session-ID ($sid) um exklusiven Zugriff des jeweilgen Besuchers zu sichern und ($portal) um die vom Besucher gewaumlhlte Sprache beizubehalten post ist eine Uumlbertragungsmethode zwischen Browser und Webserver und gibt die die vom Besucher gewaumlhlte Aktion zum Ansteuern des Experiments an die Datei experimenttpl weiter

20 Erzeugt im Bedienfeld den Sendebutton (submit) mit der Aufschrift Elektronenroumlhre einschalten (valu-e)

19 Unsichtbares Feld (hidden) mit Variablennamen action und Wert RoumlhreAn Der Variablenname ac-tion stimmt nur zufaumlllig mit action in Zeile 18 uumlberein

expe

rimen

tphp

24 Die Funktion wird als Eventhaumlndler bezeichnet weil je nach uumlbergebener Aktion - siehe Zeile 19 in experi-

menttpl - die entsprechenden Anweisungen (case) ausgefuumlhrt werden 37 Fuumlr den Fall dass die Variable $action den Wert RoumlhreAn hat wird die Funktion power_on() aufgeru-

fen

59 Schreibt in die Logdatei logtxt den Text RoumlhreAn 6061 Oumlffnet den in der Datei configphp zentral gespeicherten Com-Port an den das Interface angeschlossen ist

oder gibt Fehlermeldung Can not access file system im Bedienfeld aus falls der Com-Port sich nicht oumlff-nen laumlsst

62 Sendet die Zeichenfolge On und chr(13) (entspricht der Betaumltigung der Return-Taste im Hyperterminal) an den Mikrocontroller

63 Schlieszligt serielle Schnittstelle

Que

llcod

e M

ikro

cont

rolle

r

166 Wird uumlber die serielle Schnittstelle der Befehl on empfangen und ist das Einschalten zulaumlssig (Zeiten fuumlr

PowerOnDelay und Standby abgelaufen) dann hellip 167 Hochspannungsnetzgeraumlt einschalten 168 Der DA-Wandler PCF8591 wird unter seiner Adresse PCF8591 = 01001000 angesprochen Parameterein-

stellungen mit 01000000 und Ausgangsspannung auf 0 V einstellen 169 Setzt Standby auf vorgegebene Standbyzeit zuruumlck 171 Gibt Meldung aus wie lange PowerOnDelay noch dauert

Tab 5 Uumlbertragung des Befehls Elektronenroumlhre einschalten vom Bedienfeld zum Experi-ment

30

Anhand der Erlaumluterungen der Programmcodes koumlnnen die Ablaumlufe zwischen dem Druumlcken des Buttons Elektronenroumlhre einschalten und dem Einschalten der Elektronenbeugungs-roumlhre oder der Eingabe einer Beschleunigungsspannung und dem Anlegen einer Beschleu-nigungsspannung verfolgt werden Uumlber das Bedienfeld koumlnnen nur die von der Datei expe-rimenttpl bereitgestellten Befehle on und da der insgesamt implementierten Befehle (rarr 22 Abb 10) aufgerufen werden

322 Videouumlbertragung im Webcamfeld Zur Aufnahme von Livebildern des Experiments koumlnnen USB-Webcams und IP-Kameras (Netzwerkkameras) eingesetzt werden Teurere IP-Kameras muumlssen eingesetzt werden wenn die Kamera wie z B beim RCL Roboter im Labyrinth zu weit vom Computer entfernt ist oder eine besonders lichtempfindliche Kamera aus der Uumlberwachungstechnik wie z B beim RCL Millikan-Versuch benoumltigt wird W-LAN-Kameras kommen zum Einsatz wenn Bil-der von einem beweglichen Objekt aus wie z B beim RCL Roboter im Labyrinth uumlbertra-gen werden sollen

Das Videoserverprogramm webcamXP 5 erkennt beim Aufrufen automatisch an den RCL-Server angeschlossenen USB-Webcams Vor dem Kauf einer IP-Kamera ist zu pruumlfen ob das Modell unterstuumltzt wird14 IP-Kameras muumlssen im Kontextmenuuml der Videoquelle konfigu-riert werden Abb 17 zeigt das Webcambild einer USB-Webcam vom Szintillationsschirm der Elektronenbeugungsroumlhre

Abb 17 Webcambild des Szintillationsschirms der Elektro-

nenbeugungsroumlhre einer USB-Webcam in webcamXP 5 beim RCL Elektronenbeugung

14 Vgl Moonware Studios webcamXP IP-cameras for webcamXP

31

Zum Einbinden des Webcambilds in die Laborseite des RCLs wird die laborsprachenabhaumln-gige Datei videohtm (rarr 434) in den Ordnern eng fra ger und ita verwendet Standardmauml-szligig werden zwei Webcambilder und Screenshots unterstuumltzt der Code fuumlr weitere Webcam-bilder kann durch copy and paste hinzugefuumlgt werden

Unter den Technologien Java Javaskript Flash und Windows Media fuumlr die Wiedergabe ei-nes Livestreams auf eine Webseite wurde Javaskript gewaumlhlt weil die anderen Technologien die Installation des Java Runtime Environments (JRE) des Flash- oder Windows Media Players durch den Besucher eines RCLs voraussetzen Die Wiedergabe des Livestreams mit einem Java-Applet startet zudem erst verzoumlgert nachdem das Applet geladen ist und verfuumlgt uumlber eine zu geringe Wiedergabegeschwindigkeit

33 Standard-Lernumgebung Bestandteil der Entwicklung eines RCLs ist die Erstellung einer Standard-Lernumgebung zum RCL Abb 18 zeigt exemplarisch fuumlr die deutschen Webseiten im Ordner ger das Menuuml (larr 11 Abb 3) und die Dateistruktur der Standard-Lernumgebung

Abb 18 Deutschsprachiges Menuuml und Dateistruktur der Standard-Lernumgebung

RCL-spezifisch anzupassende Dateien sind grau hinterlegt

Die englischen Dateinamen introductionhtm setuphtm hellip im Ordner ger korrespondieren mit den deutschen Menuumlpunkten Wird das RCL unter dem Menuumlpunkt RCLs des RCL-Portals aufgerufen dann ruft die Frameset-Datei indexhtm die Dateien menuumlhtm und intro-ductionhtm auf und das Menuuml wird zusammen mit der Webseite Einstieg dargestellt Die Wahl weiterer Menuumlpunkte ruft jeweils die korrespondiere Datei im Ordner auf Bei Wahl des Menuumlpunkts Labor werden mit der Frameset-Datei laboratoryhtm die Dateien videohtm fuumlr das Webcamfeld und die Datei laborindexphp fuumlr das Bedienfeld aufgerufen

32

Im Ordner docsmaterial werden alle Dokumente fuumlr die Webseite Material im Ordner docsothers die Dokumente anderer Webseiten abgelegt Im Ordner docsoriginals sind die Originale von Dokumenten wie z B Word-Dateien und der verwendeten Bilder abgelegt Grafikdateien der Webseiten Einstieg hellip Auswertung hellip Betreuung werden in gleichnami-gen Ordnern wie z B imagesanalysis abgelegt Bei sprachenunabhaumlngigen Grafikdateien wird unter dem Dateinamen abbx bei sprachenabhaumlngigen unter dem Dateinamen abbx_lan mit lan = eng fra ger und ita gespeichert Analoges gilt fuumlr die als gif-Grafiken forxgif oder forx_langif zu speichernden Formeln Originale von Bildern werden im Ordner imagesoriginals abgelegt Die Webseite zur Datei htdocsindexhtm enthaumllt zum lokalen Aufrufen der Standard-Lernumgebung Links zu den vier Index-Dateien in den Ordnern eng fra ger und ita Die Stylesheet-Datei htdocsrcl_stylecss enthaumllt die Styles der Webseiten

In der Regel werden Standard-Lernumgebungen der RCLs des RCL-Portals von verschiede-nen Personen erstellt Fehlende Gestaltungs- und Formatierungsregeln fuumlhren zu einem un-einheitlichen inattraktivem Erscheinungsbild des RCL-Portals Tab 6 gibt einen Uumlberblick der wichtigsten Gestaltungs- und Formatierungsregeln

Element Richtlinien

Gliederung

Die Webseiten Einstieg Aufbau Aufgaben Diskussion Material und Support enthalten vorgegebene Gliederungspunkte teilweise mit ausgefuumlhrten Uumlberschriften

Die umfangreicheren Webseiten Theorie und Auswertung enthalten ein Inhaltsverzeichnis mit internen Links zu Gliederungspunkten Zwischen Punkten der ersten Gliederungsebene (1 2 hellip) ist ein zwei-zeiliger Abstand (ltpgtampnbspltpgtltpgtampnbspltpgt) zwischen Punkten der zweiten (11 12 hellip) und Punkten der nur falls unbedingt notwendig dritten 111 112 hellip) Gliederungsebene ein einzeiliger Abstand zu waumlhlen Nach Abbildungen und Tabellen folgt ein einzeiliger Abstand zum nachfolgenden Text

Links Keine internen Links zwischen den Webseiten der Lernumgebung Externe Links werden prinzipiell in einem neuen Browserfenster geoumlffnet (blank)

Abbildung

Alle Abbildungen erhalten fortlaufend beginnend mit 1 nummerierte Abbildungsunterschriften der Form Abb x hellip

Abbildungen sind moumlglichst spachenunabhaumlngig d h ohne Texte in der Abbildung zu erstellen Zur Beschriftung koumlnnen z B Zahlen verwendet werden die in der Abbildungsunterschrift oder im Text er-laumlutert werden

Tabellen Tabellen werden in jeder Webseite fortlaufend beginnend mit 1 nummeriert Tabellen sind zu zentrieren Rahmenstaumlrke 1

Formeln

Formeln sind nicht als Textzeichen oder Grafik im laufenden Text einzufuumlgen sondern stets zentriert in einer eigenen Zeile als gif-Grafik

Zum Erstellen der Formel-Grafiken eignet sich z B der Formel-Editor MathType15 mit der Aufloumlsungs-Einstellung 120 dpi fuumlr InternetGif

Formeln brauchen im Rahmen des begrenzten Umfangs der Webseiten nicht nummeriert zu werden Groumlszligen-symbole

Griechische Groumlszligensymbole und mathematische Symbole sind nicht als Grafiken im laufenden Text sondern als HTML-Code einzufuumlgen Eine Zeichenreferenz findet sich bei Selfhtml16

Styles Zur Formatierung der Webseiten werden aus der Stylesheet-Datei nur die drei Styles Uumlberschrift fuumlr

die Uumlberschriften Bildunterschrift fuumlr Abbildungs- und Tabellenunterschriften und Tabellentext fuumlr Tex-te in Tabellen benoumltigt

Tab 6 Richtlinien zur Gestaltung und Formatierung der Standard-Lernumgebung

Detailliertere Informationen zum Layout der Standard-Lernumgebung koumlnnen dem RCL-Ordner und dem Erscheinungsbild der Webseiten von RCLs in Browsern entnommen wer-den

15 Vgl Design Science MathType 16 Vgl Selfhtml HTML-Zeichreferenz

33

4 ANHANG

34

41 Interface in Basisschaltung 411 Schaltplan und Bauteilliste Abb 19 zeigt den Schaltplan der Basisschaltung des Interface und Tab 7 die dazugehoumlrige Bauteilliste

Abb 19 Basisschaltung des Interface

Nr Anzahl Kurzbeschreibung des Bauteils Best-Nr bei Reichelt electronic

Einzelpreis in euro

0 1 Epoxyd-Platine (190x112 mm) mit Anteil Loumltpunktraster (Spezi-

alanfertigung) - asymp 10

1 1

Epoxyd-Fotoplatine einseitig 160x100 mm 15 mm 35 microm Epoxyd-Lochrasterplatine 160x100 mm 15 mm 35 microm

BEL 160x100-1 UP 832EP

170 420

1 1 Hohlstecker-Einbaubuchse gewinkelt Loumltfahnen 21 mm HEBW 21 018 2 1 D-SUB-Stecker 9-polig gewinkelt RM 94 D-SUB ST 09EU 029 3 1 Schottky Diode DO41 40 V 1 A SB 140 008 4 1 Draht von abgeschnittenem Beinchen aus Pos-Nr 3 - - 5 1 IC-Sockel 16-polig superflach gedreht vergoldet GS 16P 029 6 1 IC-Sockel 40-polig superflach gedreht vergoldet GS 40P 061 7 1 2x10-pol-Stiftleiste gerade RM 254 SL 2X10G 254 007 8 1 Metallschichtwiderstand 100 kΩ Metall 100k 0082 9 1 Elektrolytkondensator 10x16 mm 470 microF RM 50 mm RAD 47025 006 10 1 Elektrolytkondensator 63x11 mm 100 microF RM 25 mm RAD 10016 004 11 5 Elektrolytkondensator 5x11 mm 10 microF RM 20 mm RAD 1035 004 12 2 Keramik-Kondensator 33 pF Kerko 33p 006 13 3 Vielschicht-Keramikkondensator 100 nF 20 Z5U-25 100n 004

35

14 1 Standardquarz Grundton 110592 MHz 110592-HC49U-S 018 15 1 Spannungsregler 1 A positiv TO-220 microA 7805 028 16 1 Kuumlhlkoumlrper fuumlr Gehaumluse TO-220 99KW V FI356 066 17 1 Zylinderkopfschraube Schlitz M3 10 mm fuumlr Kuumlhlkoumlrper M3x10mm 160 18 2 Sechskantmutter M3 fuumlr Kuumlhlkoumlrper SK M3 001 19 1 Stecker-Schaltnetzteil 12 V 2250 mA MW 3IP25GS 1150 20 1 RS232-Driver DIL-16 MAX 232 CPE 041 21 1 ATmega AVR-RISC-Controller DIL-40 ATmega16-16 DIP 420 22 3 10-poliger Wannenstecker RM 254 stehend (optional) WSL 10G 009 23 1 14-poliger Wannenstecker RM 254 stehend (optional) WSL 14G 014 24 1 40-polige Stiftleiste 1-reihig gerade RM254 (optional) SL 1x40G 254 023 25 1 Kunststoffgehaumluse 1982x1124x760 mm (Serientyp 202) - asymp 10 euro 26 1 D-SUB Nullmodem-Kabel 9-pol BUBU 3 m AK 143 155 27 x DIN-Einbaubuchse 5-pol Schraubver 360deg (optional) DIO-50W EMS 185 28 x DIN-Einbaubuchse 8-polig Schraubversch 270deg (optional) DIO-80SN EMS 180 29 x Pfostenstecker 10-polig mit Verrieglung gew (optional) PSL 10W 028 30 x Klemmleiste RM 254 Oumlffnungshebel 8-polig (optional) Wago 233 220

Tab 7 Bauteilliste mit Bestellnummer und Einzelpreisen der Bauelemente bei Reichelt electronic (Stand 23102010)

Anhand der Bauteilliste in koumlnnen die elektronischen Bauelemente der Basisschaltung (larr Tab 7 Nr 0 ndash 21 optional Nr 22 - 24) bei Reichelt electronic bestellt werden Das Gehaumluse des Interface (larr Tab 7 Nr 25) sollte vom Hersteller HAGOTECH GmbH bezogen werden Weiterhin wird ein Nullmodemkabel (larr Tab 7 Nr 26) zur Verbindung des Interface mit dem Computer benoumltigt Sensoren und Aktoren des Experiments koumlnnen mit optionalen Steck-verbindern (larr Tab 7 Nr 27 - 30) und entsprechende Kabelverbindungen an das Interface angeschlossen werden Die Nummern 0 - 25 stimmen mit der angegebenen Bestuumlckungs-reihenfolge auf der Platine uumlberein Das Interface kostet in der Basisschaltung ca 50 euro

412 Bestuumlckung der Platine Abb 20 zeigt zur Bestuumlckung der Platine benoumltigte Werkzeuge

Abb 20 Werkzeuge zur Bestuumlckung der Platine des Interface

36

Loumltkolben mit feiner Spitze in Meisselform 2 mm oder Loumltstation (1) Loumltzinnabsauger zum Entfernen von Loumltzinn (2) Nasser Schwamm zum Reinigen der Spitze des Loumltkolbens (3) Loumltzinn mit Durchmesser 08 - 10 mm (4) Flachspitzzange zum Biegen von Anschluumlssen der Bauelemente (5) Seitenschneider zum Kuumlrzen der Beinchen von Bauelementen (6) Multimeter zum Pruumlfen der Funktionsfaumlhigkeit der Schaltung (7) Sekundenkleber zur Befestigung von Bauelementen Kleine Bohrmaschine z B von Dremel und 08 mm Bohrer oder duumlnne Rundfeile zum

Weiten von Loumlchern auf der Platine des Interface

Abb 21 zeigt die Platine des Interface von der Loumltseite in der Spezialanfertigung der Elekt-ronik-Werkstatt an der Technischen Universitaumlt Kaiserslautern und in der Selbstbauvariante (larr Tab 7 Nr 0) Abb 22 zeigt das Platinenlayout

Abb 21 Platine des Interface von der Loumltseite als Spezialanfertigung (links) und der Selbstbauvariante

(rechts)

Abb 22 Layout zur Herstellung des geaumltzten Teils der

Platine in der Selbstbauvariante

37

In der Selbstbauvariante kann anhand des Platinenlayouts eine selbst geaumltzte Platine fuumlr die Basisschaltung auf einer Platine im Europakartenformat hergestellt und diese in der Laumlnge gekuumlrzt werden Eine gekuumlrzte Lochrasterplatine bildet den zweiten Teil der Platine Mit den optionalen vier Wannensteckern (larr Tab 7 Nr 22 - 23) oder den vier Stiftleisten (larr Tab 7 Nr 24) an den Ports des Mikrocontrollers koumlnnen leicht elektrische Verbindungen zum Rasterteil der Platine herstellt werden Abb 23 zeigt die fertig bestuumlckte Platine mit den Nummern aus Tab 7

Abb 23 Bestuumlckte Platine des Interface mit nummerierten Bauelementen

Tab 8 beschreibt das Einloumlten der elektronischen Bauelemente anhand der Nummern aus Tab 7 und in der angegebenen Reihenfolge

Nr Bauelement Beschreibung des Einbaus

0 Spezialanfertigung und Selbst-bauvariante der Epoxydharz-

Platine

1

Stromversorgungsbuchse ndash Hohlstecker 21 mm

Wenn die Loumltbeine nicht durch die Loumlcher der Platine passen die Loumlcher mit einer runden Schluumlsselfeile aufweiten

Stromversorgungsbuchse mit Sekundenkleber vor dem Festloumlten auf der Pla-tine fixieren da diese mechanischen Belastungen durch das Einstecken und Herausziehen des 12 V -Steckers ausgesetzt ist

Wahlweise kann die 25 mm-Version der Buchse verwendet werden

2

RS232 Datenstecker

RS232 Datenstecker mit Sekundenkleber vor dem Festloumlten auf der Platine fixieren da dieser mechanischen Belastungen durch das Einstecken und Herausziehen des Null-Modem-Kabels ausgesetzt ist

Alle Beinchen und Befestigungsstifte zur houmlheren Stabilitaumlt anloumlten

3

Ein Ring an einer Seite der Diode (hier links weiszlig) zeigt die Durchlass- bzw Sperrrichtung der Diode an Die Position des Ringes entspricht der Position des Balkens im Schaltungssymbol

38

Diode ndash SB140 Auf der Platine muss der Ring auf der von der Stromversorgungsbuchse ab-

gewandten Seite liegen

4 Drahtbruumlcke

Vor dem Einloumlten des 40-poligen IC-Sockels (Nr 5) muss eine Drahtbruumlcke unter diesem eingeloumltet werden Dazu koumlnnen die abgeschnittenen Beinchen der bereits eingeloumlteten Diode (Nr 3) verwendet werden

5 6

IC-Fassungen

Die 16-polige und 40-polige IC-Fassungen besitzen eventuell eine Markie-rung fuumlr Pin1 (z B Kerbe in der Stirnseite Punkt Pfeilhellip) als Hilfe fuumlr das richtige Einstecken der ICs Die Markierungen muumlssen bei beiden Fassungen nach oben also zum naumlchstliegenden Rand der Platine zeigen

Die ICs unbedingt noch nicht einstecken

7

ISP-Stiftleiste

Die doppelreihige ISP-Stiftleiste dient der Programmierung des Mikrocontrol-lers mit dem AVR-ISP-Programmer (ISP steht fuumlr In System Programming)

ISP-Stiftleiste auf 2 x 5 Stifte kuumlrzen und mit den kurzen Beinchen einloumlten so dass auf die langen Stifte der AVR-ISP-Programmer gesteckt werden kann

8

Widerstand 100 kΩ

Den 100 kΩ-Widerstand rechts neben der ISP-Stiftleiste einloumlten

9

10

11

Elkos

Bei den verwendeten Elektrolyt-Kondensatoren ist die Polung zu beachten (langes Beinchen = Plus-Pol) Weiterhin ist auf den Kondensatoren ein wei-szliger Streifen mit Minus-Zeichen aufgedruckt Die Kondensatoren sollten eine Spannungsfestigkeit von mindestens 16 V besser 25V besitzen

Auf der Kupferseite der Platine zeigt die Form der Loumltaugen die Polung an Rundes Loumltauge = Plus quadratisches Loumltauge = Minus

Der 470 microF Kondensator wird mit dem weiszligen Streifen in Richtung Stromver-sorgungsbuchse direkt unter diese montiert

Der 100 microF Kondensator sitzt direkt unter der 16-poligen IC-Fassung Sein weiszliger Streifen (Minus-Pol) zeigt in Richtung der Stromversorgungsbuchse

Vier der 10 microF Kondensatoren werden links neben der 16-poligen IC-Fassung montiert Deren Polung ist wie folgt Unterster Kondensator Minus nach oben naumlchster Kondensator Minus nach unten die beiden oberen Kondensatoren mit Minus nach oben

Ein weiterer 10 microF Kondensator wird rechts neben die 16-polige IC-Fassung geloumltet Sein Minus-Streifen zeigt nach unten

12

13

Keramik-Kondensatoren

Die Beschriftung 104 bedeutet 10e4 pF = 100 nF Die beiden 33 pF-Kerkos (Keramik-Kondensatoren) werden direkt nebenei-

nander rechts neben die 16-polige IC-Fassung geloumltet Zwei 100 nF-Kondensatoren werden unter dem 470 microF-Elko eingeloumltet ein

weiterer mittig an der linken Seite der 40-poligen IC-Fassung

14

Quarz

Als Quarz wird ein 110592 MHz-Typ verwendet Bei dieser Frequenz ist eine fehlerfreie Kommunikation uumlber RS232 mit 9600 Baud moumlglich Fuumlr den AT-mega16 koumlnnen Quarze bis 16 MHz eingesetzt werden Details siehe Daten-blatt

Der Quarz wird direkt rechts neben die beiden 33 pF-Kerkos geloumltet Die Ori-entierung des Quarz spielt keine Rolle

15

16

17

18

Der Spannungsregler L7805 erzeugt eine stabilisierte Spannung von 5 V Es muss ein Kuumlhlkoumlrper zur Waumlrmeabfuhr vom Spannungsregler verwendet werden

Vor dem Einloumlten zwischen Spannungsregler und Kuumlhlkoumlrper etwas Waumlrme-leitpaste aufgetragen Beide Bauteile fest mit einer Schraube M3x10 und ei-ner 1 Mutter verschrauben

Dann den Spannungsregler einloumlten um 90deg abzubiegen das uumlberstehende Gewinde durch das vorgesehene Loch stecken und alles mit einer 2 Mutter auf der Platine befestigen

1 Mutter

2 Mutter

Schr

aube

L7805

Platine

KuumlhlkoumlrperWaumlrmeleitpaste

Beinchen

Loumlten

39

Spannungsregler L7805 Kuumlhl-koumlrper und Montage

19

Steckernetzteil

Funktionskontrolle vor dem Einsetzen des Mikrocontrollers Polung der Elektrolyt-Kondensatoren (Elkos) pruumlfen Sind alle Beinchen angeloumltet Hat das Loumltzinn an den Beinchen und der Pla-

tine guten Kontakt Sind eventuell zwei benachbarte Beinchen unbeabsichtigt durch Loumltzinn verbunden Alle Loumltverbindungen nochmals genau z B mit ei-ner Lupe pruumlfen

Probeweise das Stecker-Netzteil an die Buchse anschlieszligen Am 100 nF-Kondensator links mittig der 40-poligen IC-Fassung muumlssen 5 V anliegen

Versorgungsspannung unbedingt wieder von der Platine trennen

20

21

ICs MAX232 und ATmega16

Die Nuten auf den ICs am linken Rand muumlssen nach oben zeigen d h Pin1 ist bei beiden ICs in der Abbildung links unten und auf der Platine oben links

Manchmal passen die Beinchen der ICs nicht in die Fassung weil die Fas-sung scheinbar zu schmal ist Dann den IC seitlich mit einer Beinchen-Reihe flach auf den Tisch legen den IC-Koumlrper links und rechts greifen und Bein-chen durch leichten Druck biegen Einzelne verbogene Beinchen vorsichtig mit einer kleinen Flachzange richten

22

23

Wannenstecker 10- und 14-polig

Wannenstecker an den vorgesehe-nen Stellen mit der Nut gegen Ver-polung in Richtung des naumlherliegen-den Platinenrands einloumlten

Die Abbildung rechts zeigt die Pin-Belegung der Wannenstecker

24

Stiftleiste 8-polig 40-pol Stiftleiste in 4 jeweils 8-polige Stuumlcke zerteilen und einloumlten

25

Kunststoffgehaumluse

In der Selbstbauvariante der Platine (Nr 0) vor dem Einsetzten der Platine in das Gehaumluse passend positionierte Kunststoffstege am Gehaumluseboden fest-kleben

Tab 8 Bestuumlckung der Platine des Interface mit Bauelementen

42 Erweiterungsschaltungen 421 Uumlbersicht In Tab 3 sind von RCLs des RCL-Portals Sensoren und Aktoren mit den dazugehoumlrigen Er-weiterungsschaltungen zusammengestellt Da alle RCLs obligatorisch uumlber mindestens eine Webcam verfuumlgen sind diese unter den Sensoren nicht aufgefuumlhrt Die wenigen Erweite-rungsschaltungen fuumlr Sensoren sind unter Sensoren in Klammern aufgelistet Unter Aktoren werden auszliger elektro-mechanischen Wandlern auch gesteuerte Geraumlte oder Bauelemente verstanden Anzeigeinstrumente sind unter Aktoren nur aufgefuumlhrt wenn sie direkt vom In-terface gesteuert werden Mit gekennzeichnete Erweiterungsschaltungen befinden sich au-szligerhalb des Interface

40

RCL Sensoren Aktoren Erweiterungsschaltungen fuumlr Aktoren

Beugung und Interferenz I Referenz-Taster

Schrittmotor (Rotation) Schrittmotorsteuerung Laser-Modul Geschaltete Spannungsversorgung

Beugung und Interferenz II

4 Referenz-Taster Lichtsensor

4 Schrittmotoren (Translation) 4 Schrittmotorsteuerungen 5 Laser-Module Geschaltete Spannungsversorgung LED fuumlr Position des

Lichtsensors Geschaltete Spannungsversorgung

LED fuumlr Linealbeleuchtung Geschaltete Spannungsversorgung

Elektronen-beugung

Hochspannungsnetzgeraumlt Geschaltete Spannungsversorgung Hochspannungsnetzgeraumlt Steuerung der Hochspannung

Fotoeffekt 2 Referenz-Taster Photozelle

2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen

Quecksilberdampflampe Geschaltete Spannungsversorgung

der Drossel fuumlr Quecksilberdampf-lampe

Halbleiter-kennlinien

und Halbleiterkennli-nien - Schuumller-

projekt

Referenz-Taster

Schrittmotor (Rotation) Schrittmotorsteuerung Oszilloskop Geschaltete Spannungsversorgung

Oszilloskop Instrumentenverstaumlrker fuumlr X- und Y-Ablenkung

Multimeter Steuerung Spannungs- oder Strom-anzeige

Heiszliger Draht 4 Endtaster 4 Drehgeber Kurzschlusssensor

4 Gleichstrommotoren 4 Treiber

Zweifarbige LED Steuerung der LED-Farbe

Lichtgeschwin-digkeit

Drehimpulsgeber 2 Taster an Enden

der Eisenbahnstre-cke

2 Schrittmotoren 2 Schrittmotorsteuerungen Oszilloskop Geschaltete Spannungsversorgung

Motor der Lokomotive Steuerung des Ein- und Ausschal-tens und der Bewegungsrichtung

Maut Infrarot-Sensor Gleichstrommotor Geschaltete Spannungsquelle 2 IR-Fernbedienungen Spannungsregler 2-stellige 7-Segmentanzeige LED-Treiber

Millikan-Versuch 2 Referenz-Taster

2 Schrittmotoren 2 Schrittmotorsteuerungen Lichtquelle (LED) fuumlr Millikan-

Kondensator Geschaltete Spannungsversorgung

Airbrush-Kompressor Geschaltete Spannungsversorgung Magnetventil Geschaltete Spannungsversorgung Millikan-Kondensator Gesteuertes Hochspannungsmodul

Optische Com-putertomogra-

phie

2 Referenz-Taster 2 Lichtsensoren

Schrittmotor (Rotation) Schrittmotorsteuerung Schrittmotor (Translation) Schrittmotorsteuerung

2 Laser-Module 2 geschaltete Spannungsversor-gungen

Optische Fou-rier-

Transformation 2 Referenz-Taster

2 Schrittmotoren (Translation) 2 Schrittmotorsteuerungen

Laser-Modul Geschaltete Spannungsversorgung

Oszilloskop Oszilloskop Geschaltete Spannungsversorgung Signalgenerator Steuerung der Signalart

Radioaktivitaumlt 4 Referenz-Taster Geiger-Muumlller-

Zaumlhlrohr

2 Schrittmotoren (Translation) 2 Schrittmotorsteuerungen 2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen 4-stellige 7-Segment-Anzeige Treiber Elektromagnet Geschaltete Spannungsversorgung

Roboter im Labyrinth Infrarot-Sensor

2 Schrittmotoren 2 Schrittmotorsteuerung Infrarot-Sender Treiber

Rutherfordscher Streuversuch

2 Referenz-Taster Halbleiterdetektor

(Impulsformer)

2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen

4-stellige 7-Segment-Anzeige Treiber

Weltpendel

Referenz-Taster Lichtsensor der

Lichtschranke (Im-pulsformer)

Temperatursensor

Schrittmotor (Translation) Schrittmotorsteuerung Elektromagnet Geschaltete Spannungsversorgung

Laser der Lichtschranke Geschaltete Spannungsversorgung

Windkanal Referenz-Taster Schrittmotor (Translation) Schrittmotorsteuerung

41

Dehnungsmess-streifen (Wheat-stonesche Bruumlcke Messverstaumlrker Multimeter)

Geblaumlsemotor Geschaltete Spannungsversorgung

und Ansteuerung mit Pulsweiten-modulation

Anemometer Geschaltete Spannungsversorgung Multimeter Geschaltete Spannungsversorgung

Tab 9 Sensoren Aktoren und Erweiterungsschaltungen der RCLs des RCL-Portals

422 TMC222-Modul zur Schrittmotorsteuerung 4221 Schaltplan und Bauteilliste Abb 1 zeigt die Beschaltung des TMC222 von Trinamic auf dem TMC222-Modul

Abb 24 Beschaltung des TMC222 von Trinamic

Anhand der Bauteilliste in Tab 10 koumlnnen die elektronischen Bauelemente des TMC222-Moduls bei Reichelt electronic bestellt werden Ein TMC222-Modul kostet ungefaumlhr 10 euro

Nr Anzahl Kurzbeschreibung des Bauteils Best-Nr bei Reichelt electronic

Einzelpreis in euro

0 1 Epoxyd-Fotoplatine einseitig 75x100 mm 15 mm 35 microm BEL75X100-1 096 1 1 Integrierter TMC-Schrittmotor-Controller TMC 222 SI asymp 7 2 1 Elektrolytkondensator 8x11 mm Rm 35 mm 100 microF35 V RAD 10035 004 3 1 Tantal-Kondensator Rm 25 10 microF35 V Tantal 1035 014 4 2 Vielschicht-Keramikkondensator 220 nF 20 Z5U-25 220N 011 5 3 Vielschicht-Keramikkondensator 100 nF 20 Z5U-25 100N 004 6 2 Metallschichtwiderstand 100 kΩ Metall 100K 0082 7 1 1x36pol Stiftleiste gewinkelt Rm 254 SL 1X36W 027 8 1 1x36pol Buchsenleiste gerade Rm 254 BL 1X36G 025

Tab 10 Bauteilliste mit Bestellnummer und Einzelpreisen der Bauelemente bei Reichelt electronic (Stand 23102010)

4222 Bestuumlckung der Platine

42

Abb 25 zeigt die fertig bestuumlckte Platine mit den Nummern aus Tab 10

Abb 25 Bestuumlckte Platine des TMC222-Moduls

mit nummerierten Bauelementen

Die Platine (35 mm x 30 mm) kann anhand des Layouts in Abb 26 hergestellt werden Der IC TMC222 wird auf der Loumltseite der Platine aufgeloumltet Das TMC222-Modul kann mit der Stiftleiste (larr Tab 10 Nr 7) in eine Buchsenleiste (larr Tab 10 Nr 8) auf die Platine des In-terface gesteckt werden

Abb 26 Platine des TMC222-Moduls von der Loumltseite (links) und Layout

4223 Quellcode des Mikrocontroller-Programms Im Folgenden ist ein mit Bascom (larr 12 Tab 1 Entwicklungsumgebungen) erstelltes Bei-spiel-Programm zur Ansteuerung des Schrittmotormoduls TMC222 durch den Mikrocontroller ATmega16 angegeben $regfile = m16DEFdat $crystal = 11059200 $baud = 9600 Definitionen Config Scl = Portc0 Taktleitung Config Sda = Portc1 Datenleitung Const Adress = ampB11000000 I2C Adresse des TMC222 Const GetFullstatus1 = ampB10000001 Kommando des TMC222 Const Resetpos = ampB10000110 Kommando des TMC222 Const Motorparameter = ampB10001001 Kommando des TMC222 Const Setposition = ampB10001011 Dim Puffer(10) As Byte

43

Programm I2csend Adress GetFullstatus1 GetFullstatus1 (Initialisierung des TMC222) I2creceive Adress 7 Ack Daten in Puffer auslesen Puffer(1) = Motorparameter puffer auffuumlllen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB11110011 1111irun 0011ihold Puffer(5) = ampB01110001 0111vmax 0001vmin Puffer(6) = ampB00010000 000securepos(bit10-8) 1shaft 0000acceleration Puffer(7) = 0 securepos(bit7-0) Puffer(8) = ampB00001100 000nicht belegt 0accshape 11stepmode 00nicht belegt I2csend Adress Puffer(1) 8 I2csend Adress Resetpos aktuelle Position auf 0 setzen Puffer(1) = Setposition Motor bewegen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB01111111 position(bit 15-8) Puffer(5) = ampB11111111 position(bit 7-0)acute I2csend Adress Puffer(1) 5 End

423 Geschaltete Spannungsquellen und Verbraucher Die Ausgaumlnge des Mikrocontrollers duumlrfen nur mit Stroumlmen kleiner als ungefaumlhr 20 mA belas-tet werden Verbraucher mit einer Stromlast groumlszliger als 20 mA koumlnnen daher nicht direkt an den Mikrocontroller angeschlossen werden Abb 27 zeigt links eine Schaltung zum Schalten eines Verbrauchers wie z B des Relais und rechts eine Schaltung mit dem IC ULN2803A zum Schalten mehrerer Verbraucher wie z B Gluumlhlampen

Abb 27 Erweiterungsschaltungen zum Schalten eines (links) oder

mehrerer Verbraucher (rechts)

Zu beachten ist dass der Transistor BC337 maximal 800 mA schalten kann und fuumlr groumlszligere Stroumlme andere Transistoren verwendet werden muumlssen

424 Steuerung von Gleichstrommotoren

44

Sollen Gleichstrommotoren zum Bewegen von Objekten mit dem Mikrocontroller gesteuert werden dann eignet sich dazu der in Abb 28 dargestellte beschaltete IC L293D

Abb 28 Beschaltung des L293D zum

Steuern zweier Gleichstrom-motoren

Mit Pin 1 = Pin 9 = 1 (High) koumlnnen zwei Gleichstrommotoren M1 und M2 (Versorgungs-spannung UM lt 36 V Spulendauerstrom IM lt 600 mA) unabhaumlngig voneinander ein- und ausgeschaltet sowie in der Drehrichtung uumlber die Ports PA0 und PA1 fuumlr M1 und PA2 und PA3 fuumlr M2 gesteuert werden Z B gilt mit PA0 = PA1 = 0 (M1 ausgeschaltet) PA0 = 1 und PA1 = 0 (M1 dreht sich) PA0 = 0 und PA1 = 1 (M1 dreht sich in Gegenrichtung)

45

43 Quellcodes zum RCL Elektronenbeugung 431 Mikrocontroller-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

46

47

48

49

432 PHP-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

50

51

433 Bedienfeld der Laborseite

Tab 11 erlaumlutert die Funktion der Bloumlcke im Quellcode

Zeilen Funktion 1 Datei defaultconf einbinden 2 Datei headtpl einbinden

5 - 11 Ausgabe der verbleibenden Experimentierzeit 18 - 21 Button zum Einschalten der Elektronenbeugungsroumlhre 28 - 30 Eingabefeld fuumlr die Beschleunigungsspannung

37 Ruumlckmeldung zur eingegebenen Beschleunigungsspannung 42 Datei foottpl einbinden

Tab 11 Funktion der Programmbloumlcke in der Datei experi-menttpl

52

434 Webcamfeld der Laborseite

In Tab 12 ist die Funktion der Programmbloumlcke und die Anpassungen der Vorlage an das RCL Elektronenbeugung beschrieben

Zeilen Funktion Anpassung RCL Elektronenbeugung

5 Titelangabe erscheint als Tabulatorbeschriftung in Browsern

Name des RCLs eintragen

11 - 15 16 - 20

Zwei Javascripts zum getrennten Aufrufen zweier Po-pup-Fenster mit dargestelltem Webcambildern 1 und 2

Javascript 1 die IP-Adresse eintragen Javascript 2 auskommentiert weil nicht benoumltigt

24 - 40 42 - 60

Zwei Javascripts zum Aktualisieren der Webcambilder 1 und 2

Javascript 2 auskommentiert weil nicht benoumltigt

67 - 71 79 - 83

Aufrufen des ersten Webcambilds der Webcams 1 und 2 beim Aufrufen der Datei

Webcambild 2 auskommentiert weil nicht benoumltigt

72 - 78 84 - 90

Buttons zum Aufrufen der Screenshots der Webcam-bilder 1 und 2

Button 2 auskommentiert weil nicht benoumltigt

91 - 95 Zeile der Tabelle zum Eintragen von Informationen die sich auf die Webcambilder oder den Versuch beziehen

Text in Zeile der Tabelle geschrieben

Tab 12 Funktionen der Codeabschnitte in der Datei videohtm und Anpassung der Vor-lage an das RCL Elektronenbeugung

53

44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung Im Folgenden wird die Installation und Konfiguration des AVR-Studios 418 und der Bascom 11198 Demoversion beschrieben Alle Anleitungen sind zeilenweise von links nach rechts zu lesen

441 AVR-Studio 418 4411 Installation Auf der Webseite von ATMEL Register AVR Studio 418 (build 684) anklicken und Registrie-rungsformular ausfuumlllen Danach die Datei AvrStudio418Setup herunterladen Durch Dop-pelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen Next waumlhlen

I accept hellip und Next waumlhlen Installationsordner und Next waumlhlen

54

Installupgrade hellip und Next waumlhlen Install waumlhlen Die Installation beginnt

Finish waumlhlen

4412 Konfiguration AVR Studio 418 in Windows XP Professional unter StartProgramme aufrufen

Startfenster mit Cancel schlieszligen Unter ToolsProgram AVR Auto Connect waumlhlen

55

Im eingeblendeten Fenster auf der Registerkarte Main als Device ATmega16 und als Programming Mode ISP mo-de waumlhlen

Optional kann Signatur gelesen werden

In der Registerkarte Fuses alle Haumlkchen und Auswahlfel-der wie angegeben waumlhlen

Dann Program waumlhlen

442 BASCOM 11198 Demoversion 4421 Installation Auf der Webseite von Bascom unter Bascom AVR Demo die Zip-Datei setupdemoexe her-untergeladen Durch Doppelklick auf den Dateinamen die Installation starten

Next waumlhlen I accept the agreement und Next waumlhlen

56

Next waumlhlen Installationsordner eingeben und Next waumlhlen

Eintrag im Start-Menuuml eingeben und Next waumlhlen Next waumlhlen

Yes restart the computer now und Finish waumlhlen

57

4422 Konfiguration Bascom AVR in Windows XP Professional unter StartProgramme zum Einstellen der Para-meter des Mikrocontrollers und des Terminals aufrufen

OptionsCompilerChip waumlhlen Einstellungen wie im Bild vornehmen und OK waumlhlen

Auf der Registerkarte Communications Einstellungen wie im Bild vornehmen und OK waumlhlen

Unter OptionsCommunication Einstellungen wie im Bild

vornehmen und OK waumlhlen FileNew waumlhlen Unter ToolsTerminal emulator das Terminal aufrufen und

eingeben Die Befehlsliste des RCLs Elektronenbeu-gung wird angezeigt

45 Installation und Konfiguration von Programmen auf dem RCL-Server Im Folgenden wird der Download die Installation und die Konfiguration von Programmen auf dem RCL-Server unter Windows XP Professional beschrieben Alle Anleitungen sind zeilen-weise von links nach rechts zu lesen Die Installation der Programme sollte in der angegebe-nen Reihenfolge erfolgen

58

451 Einrichten des Internet-Zugangs LAN-Verbindung unter StartSystemsteuerungNetzwerkverbindungen aufrufen

Internetprotokoll (TCPIP) und Eigenschaften waumlhlen Folgende IP-Adresse verwenden waumlhlen IP-Adressen ein-

geben und OK waumlhlen

452 Paket XAMPP 174 Unter apache friends - xampp fuumlr windows und XAMPP Windows 174 Installer anklicken und Datei xampp-win32-174-VC6-installerexe speichern Durch Doppelklick auf die Datei die Installation starten

Sprache und Ok waumlhlen Ok waumlhlen

59

Weiter waumlhlen Zielverzeichnis mit Durchsuchen waumlhlen oder eingeben

Apache nicht als Dienst installieren Fertig stellen waumlhlen

Ja waumlhlen Zum Starten des Apache Webservers das Control Panel

unter StartProgrammeXAMPP 173 for Windows mit Start starten Anstelle von Start erscheint Running

Zum Beenden des Apache Webservers Stop waumlhlen Zum Beenden des Control Panels Exit waumlhlen

60

453 Videoserver webcamXP 5 Private Auf der Webseite von Moonware Studios unter webcamXP 55xx die Datei wlite550 herun-terladen Durch Doppelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen I Agree waumlhlen

Next waumlhlen Auszliger webcamXP 5 brauchen keine weiteren Komponen-

ten installiert zu werden

Den vorgeschlagenen Ordner und Install waumlhlen Finish waumlhlen

61

WebcamXP unter StartProgramme aufrufen Zugesandte

Lizenz-Daten in das eingeblendete Fenster eingeben und Register waumlhlen

Beim Starten des Programms stellt webcamXP automa-tisch eine Verbindung zu den am Computer angeschlosse-nen Webcams her

Nach dem Start ist Uumlberwachen gewaumlhlt Durch Rechts-klick mit der Maus auf das Videofenster wird zu jeder Vi-deoquelle ein Kontextmenuuml angezeigt Wird kein Videobild dargestellt das Kontextmenuuml aufrufen Art der Videoquelle waumlhlen (hier USB) und unter den erkannten Videoquellen (hier USB-Videogeraumlt) die gewuumlnschte waumlhlen

Das Videoformat muss fuumlr eine passende Darstellung auf

der Laborseite auf 320 x 240 eingestellt sein Ist das nicht der Fall im Kontextmenuuml unter Video Format einstellen

In gleicher Weise kann eine zweite Videoquelle hinzugefuumlgt werden

In der Registerkarte Web Broadcast kann unter

Broadcast (HTTP) der Videoserver mit Ausschalten ge-stoppt und mit Aktivieren gestartet werden

Zur Zielwahl des Webservers (131246237167 - Internet D16W3X3J - Computer 127001 - Local Host) Videoser-ver stoppen und einstellen Videoserver wieder starten

62

454 Terminalprogramm Hyperterminal Hyperterminal in Windows XP Professional unter StartProgrammeZubehoumlrKommunikation aufrufen

Name der neuen Verbindung - z B Interface - eingeben

und OK waumlhlen Die Verbindung zwischen Computer und Interface wurde

uumlber einen USB-Seriell-Adapter hergestellt Dann erschei-nen zwei zusaumltzliche Eintraumlge (Motorola Comp Modem und COM5) in der Liste Prinzipiell muss eine COMx-Verbindung gewaumlhlt werden

Eigenschaften von COM 5 wie im Bild einstellen und OK

waumlhlen DateiEigenschaften aufrufen und ASCII-Konfiguration

waumlhlen

63

Haken bei Eingegebene Zeichen lokal ausgeben (lokales

Echo) setzen um eingegebenen Zeichen im Hyperterminal zu sehen

Bei funktionsfaumlhiger Verbindung erscheint nach Eingabe von Return die Befehlsliste des Interface

Durch Aufrufen von DateiSpeichern die erstellte Verbin-

dung z B auf dem Desktop speichern Dadurch braucht die Verbindung nicht immer wieder von neuem konfiguriert wer-den

Nach Aufrufen von DateiBeenden die bestehende Verbin-dung mit Ja beenden

64

Wurde ein falscher COM-Port gewaumlhlt reagiert das Inter-

face auf die Eingabe Return nicht Hyperterminal dann beenden

Der COM-Port kann dann nicht unter DateiEigenschaften im Hyperterminal aber unter Eigenschaften des Kontext-menuumls der Datei Interfaceht in der Registerkarte Verbin-den mit geaumlndert werden Dann OK waumlhlen und erneut Verbindung testen

65

455 Fernwartungssoftware TeamViewer 6 Host Auf der Webseite von Teamviewer GmbH unter Fuumlr unbeaufsichtigte Server TeamViewer Vollversion die Datei TeamViewer_Setup-wq herunterladen Das Programm muss auf dem RCL-Server und dem Computer der auf den RCL-Server zugreifen soll installiert werden Durch Doppelklick auf die Datei die Installation starten

Ausfuumlhren waumlhlen Weiter waumlhlen

Fuumlr die private nicht kommerzielle Nutzung ist Teamviewer kostenlos

privat nicht-kommerziell und Weiter waumlhlen

Beide Haumlkchen setzen und Weiter waumlhlen

66

Ja un Weiter waumlhlen Weiter

Computername und Kennwort fuumlr den Zugriff auf den RCL-Server oder den eigenen Computer vergeben Kenn wort notie-ren

Ein Teamviewerkonto ist nicht erforderlich Kann auch spaumlter noch eingerichtet werden

ID fuumlr den Computer auf dem das Programm installiert wird fuumlr Zugriff notieren

Das Programm wird gestartet Standardmaumlszligig vorein-gestellt ist der Start des Programms beim Start des Be-trienssystems

67

46 Selbstbau eines elementaren RCLs 461 Hard- und Software Auch ohne gleich ein vielleicht teures physikalisches Experiment zu steuern laumlsst sich mit wenigen Bauelementen ein elementares RCL realisieren Von einer Webseite im Internet sol-len eine Leuchtdiode (LED) ein- oder ausgeschaltet sowie der Zustand der Leuchtdiode und eines Tasters abgefragt werden An Hard- und Software werden benoumltigt

1 Low-Current-LED 5 mm 2 mA 1 Widerstand 18 kΩ 1 Taster und optional zwei 10-polige Wannenstecker mit ungefaumlhr 10 cm passendem Flachbandkabel und Buchsen

Interface in Basisschaltung Null-Modem-Kabel 12 V DC Steckernetzteil (larr 1)

Installierte Bascom-Demo-Version (larr 42)

AVR ISP-Programmer mit 10-poligem Programmierkabel

Installiertes und konfiguriertes AVR Studio 418 (larr 41)

Installiertes Paket XAMPP (larr 52)

Texteditor wie z B Notepad in Windows XP Professional

Konfigurierte Hyperterminalverbindung (larr 54)

462 Bestuumlckung der Platine Abb 29 zeigt zur Orientierung fuumlr das Einloumlten der Bauelemente die fertig bestuumlckte Platine des Interface

Abb 29 Mit elementarem RCL bestuumlckte Platine

des Interface

LED mit Vorwiderstand und der Taster sind rechts neben dem Mikrocontroller im Lochraster-bereich aufgebaut und uumlber Wannenstecker und Flachbandkabel mit dem Port A des Mikro-controllers verbunden (die drei Bauteile rechts neben dem ATmega16 werden nicht benouml-tigt) Tab 13 erlaumlutert die Schritte zur Bestuumlckung der Platine des Interface

68

Nr Schaltung Erlaumluterung

1

Die Leuchtdiode (LED) mit dem Pluspol (langes Beinchen) an PortA0 (PIN40 oben rechts) des Mikrocontrollers anloumlten

An das kurze Beinchen einen 18kΩ Widerstand loumlten dessen anderes Ende mit der Masse (GND) verbinden

2

Den Taster mit PortA1 (PIN39 = 2 Beinchen von oben rechts) und Masse (GND) verbinden

3

Draufsicht

Belegung des 10-poligen Wannensteckers 1 GND (Masse) im Foto oben links 2 +5 V 3 PortA0 4 PortA1 10 PortA7 im Foto unten rechts

Tab 13 Schritte zum Aufbau des elementaren RCLs

463 Lokal gesteuertes RCL Nachfolgend ist der Basic-Programmcode des Mikrocontrollers zur Steuerung und Abfrage der LED und des Tasters angegeben 01 $regfile = m16DEFdat Microcontroller ATmega16 02 $crystal = 11059200 110592MHz Quarz 03 $baud = 9600 Baudrate 04 05 ---[ Variables ]--------------------------------------------------------------- 06 Dim Rs232kommando As String 10 erst Befehlspuffer dann Kommando 07 Dim Parameter As String 10 Parameter 08 Dim Str_pos As Byte Position von Leerzeichen zur Trennung von Kommando und Pa-rameter 09 10 ---[ Initialisierung ]--------------------------------------------------------- 11 Ddra0 = 1 PortA0 als Ausgang fuumlr LED 12 Porta0 = 0 LED aus 13 Ddra1 = 0 PortA1 als Eingang fuumlr Taster 14 Porta1 = 1 Pull-Up aktivieren 15 16 ---[ Main program loop ]------------------------------------------------------- 17 Do Start der Endlos-Schleife 18 19 If Ischarwaiting() = 1 Then Zeichen uumlber RS232 empfangen 20 Input Rs232kommando neues Kommando lesen 21 Parameter = Parameter initialisieren 22 Str_pos = Instr(rs232kommando ) Leerzeichen im Kommando suchen 23 If Str_pos gt 0 Then falls Leerzeichen dann in Kommando+Parameter zerlegen 24 Incr Str_pos Str_pos soll jetzt auf 1Zeichen des Parameters zeigen 25 Parameter = Mid(rs232kommando Str_pos ) Parameter = Teilstring nach Leerzeichen 26 Parameter = Ucase(parameter) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 27 Str_pos = Str_pos - 2 Str_pos soll jetzt auf letztes Zeichen des Kommandos zeigen 28 Rs232kommando = Left(rs232kommando Str_pos)Kommando = Teilstring vor Leerzeichen 29 Rs232kommando = Ucase(rs232kommando) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 30 End If 31 32 Select Case Rs232kommando Eventhandler Interpretation der Kommandos 33 Case Print Hilfe Hilfeseite anzeigen 34 Print LED on - LED einschalten 35 Print LED off - LED ausschalten 36 Print LED - zeigt Status der LED an 37 Print SW - zeigt Status des Schalters an 38

1K8

LED rotmicroC PortA0(PIN40)

Taster

microC PortA1(PIN39)

1

3

2

69

39 Case LED If Parameter = ON Then LED schalten 40 Porta0 = 1 41 End If 42 If Parameter = OFF Then 43 Porta0 = 0 44 End If 45 46 Case LED If Porta0 = 0 Then Status der LED ausgeben 47 Print LED aus 48 Else 49 Print LED an 50 End If 51 52 Case SW If Pina1 = 1 Then Status des Schalters ausgeben 53 Print Taster offen 54 Else 55 Print Taster geschlossen 56 End If 57 58 Case Else Print gt Rs232kommando lt ungueltiger Befehl - weitere Infos mit Info bei unguumlltigen Eingaben 59 End Select 60 61 End If 62 63 Loop Endlos-Schleife Springe zu Do 64 65 End wird nie erreicht

Der erste Teil des Programms (Zeilen 1 - 15) enthaumllt die Systemparameter Variablen und Initialisierung der Ein- und Ausgaumlnge Der zweite Teil enthaumllt ab Zeile 17 das Hauptpro-gramm in dem Benutzereingaben uumlber die serielle Schnittstelle empfangen interpretiert und in entsprechende Anweisungen umgesetzt werden Tab 14 erlaumlutert den Programmcode de-taillierter

Zeilen Erlaumluterung

1 - 3 Diese Angaben teilen dem Compiler (Bascom) mit welcher Prozessor eingesetzt wird wie schnell dieser getaktet (Quarz) ist und mit welcher Uumlbertragungsgeschwindigkeit die Kommunikation uumlber die serielle Schnittstelle (RS232) mit dem PC erfolgen soll

6 - 8 Es werden drei Variablen genutzt Die Eingabe uumlber die serielle Schnittstelle wird in rs232kommando gespeichert Es wird ein Text der Form Kommando ltLeerzeichengt Parameter erwartet so dass die Variable Parameter den-selbigen aufnimmt Die Variable str_pos wird fuumlr die Trennung von Kommando und Parameter benoumltigt

11 - 14

Mit dem Befehl ddrPX (ddr = data direction) wird festgelegt ob ein Beinchen als Ausgang (=1) oder als Eingang (=0) arbeiten soll Der ATmega16 besitzt 32 Ein-Ausgaumlnge die in vier Ports (P=AD) zu je 8 Pins (X=07) unterteilt sind ddrA0 = 1 legt also das 1 Beinchen (Pin 0) von PortA als Ausgang (=1) fest Mit dem Befehl PortA0 =1 kann dieser Pin dann durch Zuweisen von 1 oder 0 an- bzw ausgeschaltet werden Im Datenblatt erfahren Sie welches der 40 Beinchen des Mikrocontrollers wie bezeichnet wird (Pin-Belegung) Wird ein Beinchen als Eingang verwendet (ddrA1 = 0) koumlnnen Sie optional einen so genannten Pull-Up-Widerstand aktivieren (PortA1=1) oder deaktivieren (PortA1=0) Auch hierzu sollten Sie sich unbedingt mit dem Datenblatt vertraut machen

17 63 Das Hauptprogramm besteht aus einer Endlosschleife d h der Mikrocontroller verrichtet ununterbrochen seinen Job so lange er mit Strom versorgt wird

19 - 30 Falls ein Zeichen uumlber die serielle Schnittstelle empfangen wurde wird dieses und alle folgenden gelesen Anschlie-szligend wird gepruumlft ob der empfangene Text von der Form Kommando ltLeerzeichengt Parameter ist so dass er ge-gebenenfalls in ein Kommando und einen Parameter zerlegt werden kann

32 - 59 Dieser Abschnitt wird mit Event-Handler bezeichnet Hier wird auf die Kommandos (Events) reagiert und die ent-sprechenden Schritte ausgefuumlhrt zB schalten LED je nach Wert der Variablen Parameter an- bzw ausschalten

46 52

In beiden Zeilen wird ein Wert eines Ports abgefragt Unterschiedlich ist dass in Zeile 46 der Status eines Ausgangs abgefragt wird (porta0) und in Zeile 52 der Zustand eines Eingangs (pina0) Die Anweisung IF porta0 = 0 THEN pruumlft (hier ist = ein Vergleich und KEINE Zuweisung) ob zuletzt die LED ausgeschaltet (Zuweisung porta0 = 0) wurde Die Anweisung IF pina1= 1 THEN liest den Status eines Eingangs Hier kann festgestellt werden ob der Eingang uumlber den internen Pull-UP-Widerstand auf +5V liegt (pina1 liefert 1) oder ob der Schalter den Eingang mit Masse (0V) verbindet (pina1 liefert 0)

Tab 14 Erlaumluterung des Mikrocontroller-Programmcodes fuumlr elementares RCL

70

In Bascom AVR eine neue Datei erzeugen (FileNew) den Programmcode ohne Kommenta-re eingeben und mit ProgramCompile (F7) eine Hexadezimaldatei erzeugen Die Hexadezi-maldatei mit dem AVR-Studio und dem AVR-ISP-Programmer in den Mikrocontroller schrei-ben (larr 222 Programmuumlbertragung) Nach dem Verbinden von Computer und Interface per Null-Modem-Kabel kann durch Eingabe von in das konfigurierte Hyperterminal die Befehls-liste in Abb 30 aufgerufen werden

Abb 30 Aufgerufene Befehlsliste im Hyperterminal

Durch Eingabe von LED on oder LED off kann die LED ein- und ausgeschaltet LED zeigt den Status der LED und sw den Status des Tasters an Alternativ zum Hyperterminal kann auch das Terminal in BASCOM unter ToolsTerminal Emulator verwendet werden (larr 422)

464 Ferngesteuertes RCL Zum Ansteuern des Interfaces und zum Bedienen des Versuchsaufbaus uumlber das Internet wird eine Webseite benoumltigt die dem Benutzer alle Bedienelemente des Experiments zur Verfuumlgung stellt

Der Benutzer benoumltigt anklickbare Buttons im Webbrowser

Der Webserver muss die Information welcher Button gedruumlckt wurde empfangen und ein entsprechendes Kommando uumlber die serielle Schnittstelle an das Interface senden

Beide Schritte sind im nachfolgenden PHPHTML-Quellcode zusammengefasst 01 ltDOCTYPE HTML PUBLIC -W3CDTD HTML 401 TransitionalEN httpwwww3orgTRhtml4loosedtdgt 02 lthtmlgt 03 ltheadgt 04 ltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1gt 05 lttitlegtelementares RCLlttitlegt 06 ltheadgt 07 08 ltbodygt 09 ltphp 10 if (isset($_POST[Kommando])) wurde bereits Kommando gesendet 11 if( ( $handle = fopen( COM1 w+ ) ) ) Schnittstelle oumlffnen 12

71

13 throw new Exception( Can not access serial port 2 ) ohne Erfolg 14 15 fwrite( $handle $_POST[Kommando] chr( 13 ) ) Befehl an Interface senden 16 switch ( $_POST[Kommando] ) Antwort von Interface auswerten 17 case LED $tmp = fgets( $handle ) Echo von Interface ignorieren 18 $antwort = fgets( $handle ) Antwort des Interfaces 19 echo Antwort $antwort Ausgabe auf Webseite 20 break switch verlassen 21 22 case SW $tmp = fgets( $handle ) Echo von Interface ignorieren 23 $antwort = fgets( $handle ) Antwort des Interfaces 24 echo Antwort $antwort Ausgabe auf Webseite 25 break switch verlassen 26 27 28 29 fclose( $handle ) Schnittstelle schlieszligen 30 31 else 32 `mode com1 BAUD=9600 PARITY=N data=8 stop=1 xon=off` Schnittstellenparameter setzen 33 34 35 gt 36 37 lth3gtBefehl sendenlth3gt 38 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 39 ltinput type=hidden name=Kommando value=LED ON gt 40 ltinput type=submit value=LED anschalten gt 41 ltformgt 42 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 43 ltinput type=hidden name=Kommando value=LED OFF gt 44 ltinput type=submit value=LED ausschalten gt 45 ltformgt 46 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 47 ltinput type=hidden name=Kommando value=LED gt 48 ltinput type=submit value=LED abfragen gt 49 ltformgt 50 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 51 ltinput type=hidden name=Kommando value=SW gt 52 ltinput type=submit value=Taster abfragen gt 53 ltformgt 54 ltbodygt 55 lthtmlgt Den Quellcode in den Texteditor kopieren und im Ordner htdocs von XAMPP z B unter rclphp speichern HTML-Dateien mit PHP-Code (Zeilen 9-35) muumlssen mit der Erweiterung php gespeichert werden damit der Apache Webserver zwischen HTML-Seiten mit und ohne PHP-Code unterscheiden kann Den installierten Apache Webserver starten (larr 452) und im Adressfeld des Webbrowsers die IP-Adresse http127001rclphp aufrufen Das Bedi-enfeld des elementaren RCLs in Abb 31 wird im Browserfenster angezeigt

72

Abb 31 Laborseite des elementaren RCLs

Im Bedienfeld kann die LED an- und ausgeschaltet sowie der Status von LED und Taster abgefragt werden

  • 0 Warum ein Tutorial zur RCL-Technik
  • 1 Technische Konzeption
    • 11 Einfuumlhrung
    • 12 Wahl der RCL-Technik
      • 2 Lokal gesteuertes RCL
        • 21 Interface
          • 211 Mikrocontroller
          • 212 Basisschaltung und Erweiterungsschaltungen
          • 213 Programmierung des Mikrocontrollers
            • 22 Hyperterminal
            • 23 Positionieren von Objekten
              • 231 Hybrid-Schrittmotoren
              • 232 Schrittmotorsteuerung und Positionierungsmechanik
                  • 3 Ferngesteuertes RCL
                    • 31 RCL-Server
                    • 32 Laborseite
                      • 321 Steuerung des RCLs uumlber das Bedienfeld
                      • 322 Videouumlbertragung im Webcamfeld
                        • 33 Standard-Lernumgebung
                          • 4 ANHANG
                            • 41 Interface in Basisschaltung
                              • 411 Schaltplan und Bauteilliste
                              • 412 Bestuumlckung der Platine
                                • 42 Erweiterungsschaltungen
                                  • 421 Uumlbersicht
                                  • 422 TMC222-Modul zur Schrittmotorsteuerung
                                    • 4221 Schaltplan und Bauteilliste
                                    • 4222 Bestuumlckung der Platine
                                    • 4223 Quellcode des Mikrocontroller-Programms
                                      • 423 Geschaltete Spannungsquellen und Verbraucher
                                      • 424 Steuerung von Gleichstrommotoren
                                        • 43 Quellcodes zum RCL Elektronenbeugung
                                          • 431 Mikrocontroller-Programmierung
                                          • 432 PHP-Programmierung
                                          • 433 Bedienfeld der Laborseite
                                          • 434 Webcamfeld der Laborseite
                                            • 44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung
                                              • 441 AVR-Studio 418
                                                • 4411 Installation
                                                • 4412 Konfiguration
                                                  • 442 BASCOM 11198 Demoversion
                                                    • 4421 Installation
                                                    • 4422 Konfiguration
                                                        • 45 Installation und Konfiguration von Programmen auf dem RCL-Server
                                                          • 451 Einrichten des Internet-Zugangs
                                                          • 452 Paket XAMPP 174
                                                          • 453 Videoserver webcamXP 5 Private
                                                          • 454 Terminalprogramm Hyperterminal
                                                          • 455 Fernwartungssoftware TeamViewer 6 Host
                                                            • 46 Selbstbau eines elementaren RCLs
                                                              • 461 Hard- und Software
                                                              • 462 Bestuumlckung der Platine
                                                              • 463 Lokal gesteuertes RCL
                                                              • 464 Ferngesteuertes RCL

15

212 Basisschaltung und Erweiterungsschaltungen Abb 5 zeigt am Beispiel des RCLs Elektronenbeugung die Platine des Interface mit den Funktionsgruppen 1 - 5 der Basisschaltung und den Funktionsgruppen 6 und 7 der Erweite-rungsschaltungen (larr 11 Abb 4)

Abb 5 Platine des Interface des RCLs Elektronenbeugung

Abb 6 zeigt den dazugehoumlrigen Schaltplan mit den Nummern der Funktionsgruppen und die Pinbelegung des Mikrocontrollers ATmega16

Abb 6 Schaltplan des Interface des RCLs Elektronenbeugung (links) und Pinbelegung

des Mikrocontrollers ATmega16 (rechts)

16

Basisschaltung Die Spannungsversorgung (1) des Interface erfolgt uumlber ein Universal-Steckernetzteil mit der Betriebsspannung Ub = 12 V Eine Diode SB140 schuumltzt die Elektronik des Interface vor falscher Polung der Spannungsversorgung Der Spannungsregler L7805 wandelt die Betriebsspannung am Hohlstecker in eine Gleichspannung von 5 V fuumlr die Spannungs-versorgung der elektronischen Bauelemente des Interface um Die Betriebsspannung kann im Interface auch direkt zur Ansteuerung von Relais oder zur Spannungsversorgung kleinerer Motoren verwendet werden Bei Bedarf kann unter Beachtung der Kuumlhlung des L7805 das Interface mit houmlheren Betriebsspannungen z B fuumlr staumlrkere Schrittmotoren betrieben werden Die nicht hinreichend stabile und temperaturabhaumlngige Frequenz des internen RC-Oszillators im Mikrocontroller (2) kann bei Verwendung der USART zu Problemen fuumlhren Daher wird ein externer 110592 MHz Schwingquarz (3) eingesetzt Der IC MAX232 ist ein Pegelwandler der die 0V+5 V-Signale der seriellen Schnittstelle (4) des Mikrocontrol-lers an die plusmn12 V-Signale der seriellen Schnittstelle des Computers anpasst Uumlber den ISP-Stecker kann der Mikrocontroller programmiert werden (5) Das Interface in der Ba-sisschaltung kann im Selbstbau angefertigt werden (rarr 41)

Erweiterungsschaltungen Nur die wenigsten Aktoren Sensoren gesteuerte Geraumlte und Bauelemente eines RCLs lassen sich direkt vom Mikrocontroller ansteuern Beim RCL Elektronenbeugung wird die Heizspannung der Elektronenkanone mit einem Relais zum Schalten der Netzspannung des Hochspannungsnetzgeraumltes ein- und ausgeschaltet (6) Liefert der Mikrocontroller am Port PA0 die Spannung 5 V (high) so wird die Kollektor-Emitter-Strecke des Transistors BC 337 niederohmig fast die gesamte Betriebsspannung Ub = 12 V faumlllt uumlber dem Relais ab und es flieszligt ein Strom durch das Relais Die Diode 1N4001 schuumltzt den Transistor vor Induktionsspannungsspitzen beim Ein- und Ausschalten der Spule im Relais Am Steuereingang des Hochspannungsnetzgeraumlts kann durch Anlegen einer Steuer-spannung US zwischen 0 V und 5 V die Beschleunigungsspannung der Elektronenkanone zwischen 0 und 43 kV im belasteten Zustand bei eingeschalteter Gluumlhkathode variiert werden Die analoge Steuerspannung US erzeugt ein 8-bit Digital-Analog-Wandler PCF8591 der uumlber den I2C-Bus des Mikrocontrollers (Ports PC0 und PC1) mit Binaumlr-codes zwischen 0 und 255 angesteuert wird (7) Die Ausgangsspannung des DA-Wandlers liegt in 256 Stufen zwischen 370 mV und 497 V Dieser Schaltung wurde der Vorzug gegenuumlber der Erzeugung einer Steuerspannung mit Hilfe eines der Pulsweiten-modulationsausgaumlnge des Mikrocontrollers gegeben weil der Programmieraufwand ge-ringer und die Steuerspannung keine Restwelligkeit aufweist

Eine Uumlbersicht zu Erweiterungsschaltungen fuumlr Sensoren und Aktoren (rarr 421) zeigt die Anpassungsfaumlhigkeit des Interface an die unterschiedlichsten Experimente

17

213 Programmierung des Mikrocontrollers Im Folgenden wird die Programmstruktur des Mikrocontroller-Programms und die Uumlbertra-gung des Programmcodes in den Mikrocontroller beschrieben

Programmstruktur Der Mikrocontroller ist mit einem Programm (Firmware) ausgestattet um die Aufgaben des Interfaces abzuarbeiten Hierzu zaumlhlen im Wesentlichen Programmteile zur Kommu-nikation mit dem RCL-Server und zur Steuerung des Experiments da das Interface eine Schnittstelle zwischen Experiment und RCL-Server darstellt Weitere Programmteile sind beispielsweise zur Initialisierung des Versuchsaufbaus und der Steuerparameter sowie zur Konfiguration des Interfaces realisiert Abb 7 zeigt ein Flussdiagramm der Programm-teile zur Kommunikation mit dem RCL-Server und zur Steuerung des Experiments

Abb 7 Flussdiagramm der Programmierung des Mikrocontrollers

Der Programmteil zur Kommunikation mit dem RCL-Server besteht im Wesentlichen aus einer Schleife die unablaumlssig auf Steuerzeichen des RCL-Servers wartet diese gegebe-nenfalls empfaumlngt und auswertet Soll mittels eines empfangenen Steuerzeichens der Versuchsaufbau angesteuert werden wird vom Kommunikations-Programmteil eine ent-sprechende Anweisung fuumlr den Steuerungs-Programmteil generiert In der Schleife wer-den auch Antworten wie z B Messergebnisse des Steuerungs-Programmteils entgegen-genommen und an den RCL-Server ausgegeben Der Kommunikations-Programmteil kann Kommandos mit und ohne Parameter entgegen-nehmen und verarbeiten So lassen sich einfache Befehle wie Start und Stopp eines Mo-tors aber auch speziellere Anweisungen wie Messe uumlber den Bereich von a nach b mit einer Schrittweite c ausfuumlhren Auch Messergebnisse oder Statusinformationen in Form einzelner Daten wie Zahlen oder Listen koumlnnen vom Kommunikations-Programmteil an den RCL-Server uumlbertragen werden Ferner uumlbernimmt der Kommunikations-Programmteil auch den Austausch von Konfigurationsdaten fuumlr das Interface beispiels-

18

weise Motorparameter oder Zeitvorgaben fuumlr eine Standby-Funktion Schlieszliglich gibt der Kommunikations-Programmteil auch Fehlermeldungen an den RCL-Server aus etwa bei einem Fehlerzustand im Experiment oder bei fehlerhaften Anweisungen des Besuchers bzw des RCL-Servers Im Programmteil zur Steuerung des Experiments erfolgt die Ansteuerung von Aktoren und das Auslesen von Sensoren mittels elektronischer Aus- und Eingaumlnge (Ports) des Mikro-controllers Gegebenenfalls sind zwischen den Ports des Mikrocontrollers und dem Expe-riment Erweiterungsschaltungen erforderlich (larr 212 Erweiterungsschaltungen) Der Steuerungs-Programmteil ist als Interrupt-Routine implementiert Interne Zeitgeber des Mikrocontrollers rufen den Programmteil zyklisch z B alle 1 oder 10 Millisekunden auf wobei die zuvor beschriebene Schleife des Kommunikations-Programmteils kurzzeitig fuumlr die Abarbeitung des Steuerungs-Programmteils unterbrochen wird Hierdurch wird die Steuerung als Real-Time-Prozess12 ausgefuumlhrt und es koumlnnen insbesondere zeitkritische Steueraufgaben mit einer Aufloumlsung von ungefaumlhr 1 - 10 ms zuverlaumlssig erledigt werden Ferner ist im Mikrocontroller und dem Programm ein sogenannter Watchdog installiert der das Programm bei einem Programmabsturz automatisch neu startet Der Watchdog als elektronische Baugruppe im Mikrocontroller fuumlhrt einen Neustart des Mikrocontrollers (Reset) durch sofern er nicht mehr uumlber das Programm in vorgegebenen Zeitintervallen angesteuert wird Je nach RCL gibt es noch weitere Interrupt-Routinen die unabhaumlngig vom Zeittakt des Mikrocontrollers auf externe Ereignisse wie z B Ausgangsspannungsaumlnderungen eines Sensors reagieren Damit kann besonders schnell auf Erfordernisse des Experiments re-agiert oder es koumlnnen Zeitmessungen mit einer Genauigkeit von ungefaumlhr 10-6 s durchge-fuumlhrt werden Im Anhang (rarr 431) ist der Pascal-Quellcode fuumlr den Mikrocontroller des RCLs Elektronenbeugung verfuumlgbar

Programmuumlbertragung Nach der Kompilierung des Assembler- Basic- C+- C++- oder Pascal-Programms liegt eine Hexadezimaldatei vor die vom Computer in den Mikrocontroller uumlbertragen werden muss (Flashen des Programms) Zur Programmuumlbertragung muss das AVR-Studio instal-liert und konfiguriert sein (rarr 441) Abb 8 zeigt wie die Programmuumlbertragung durchge-fuumlhrt wird

12 Real-Time bedeutet hier dass die maximale Dauer eines Vorgangs vorhersehbar und gewaumlhrleistet ist dass eine Steuer-

aufgabe nach einer vorhersehbaren Zeit abgeschlossen ist

19

Abb 8 Programmuumlbertragung zwischen Computer und Mikrocontroller im Inter-

face des RCLs Elektronenbeugung uumlber USB-Seriell-Adapter und ISP-Programmer

Das Interface braucht nicht mit dem Experiment verbunden zu sein Auch Erweiterungs-schaltungen innerhalb oder auszligerhalb des Interface muumlssen nicht mit dem Mikrocontroller verbunden sein Das Interface ermoumlglicht uumlber die ISP-Schnittstelle die Programmierung mit einem preisguumlnstigen ISP-Programmer ohne ein teureres Experimentierboard13 Zur Uumlbertragung des Programms muss in folgenden Schritten vorgegangen werden

(1) Spannungsversorgung des Interface zur Sicherheit unterbrechen weil beim Verbinden mehrpoliger Steckerverbindungen es zu Kurzschluumlssen kommen kann

(2) 10-poligen ISP-Stecker des ISP-Programmers an die ISP-Schnittstelle des Interface anschlieszligen

(3) ISP-Programmer an die serielle Schnittstelle oder uumlber USB-Seriell-Adapter an die USB-Schnittstelle des Computers anschlieszligen

(4) Spannungsversorgung des Interface wieder herstellen

(5) AVR-Studio unter StartProgramme aufrufen und nach Abb 9 in der Registerkarte Program unter Flash die zu uumlbertragende Hexadezimal-Datei z B Elektronenbeu-gunghex auf der Festplatte auswaumlhlen und Program waumlhlen

13 Vgl ATMEL STK 500 Entwicklerkit bei Reichelt Elektronik

20

Abb 9 Uumlbertragung der Hexadezimaldatei Elekt-

ronenbeugunghex in den Mikrocontroller

(6) Spannungsversorgung des Interface unterbrechen ISP-Programmer vom Interface trennen AVR-Studio beenden und den ISP-Programmer vom Computer trennen

22 Hyperterminal Nach der Programmuumlbertragung kann das Experiment uumlber das konfigurierte Hyperterminal (rarr 454) lokal gesteuert werden Mit dem Hyperterminal koumlnnen als Text eingegebene Be-fehle oder Abfragen an den Mikrocontroller gesendet oder von diesem empfangen werden Der Computer muss wie bei der Programmuumlbertragung mit dem Interface per Null-Modem-Kabel uumlber die serielle Schnittstelle oder einen USB-Seriell-Adapter verbunden sein Das In-terface muss an die Versorgungsspannung anschlossen sein braucht aber nicht mit dem Experiment verbunden zu sein Abb 10 zeigt nach Eingabe von und von param im Hyper-terminal die Befehlsliste des Mikrocontrollers fuumlr das RCL Elektronenbeugung

21

Abb 10 Befehlsliste des Mikrocontrollers im Hyperterminal fuumlr das RCL Elektronenbeugung

Tab 4 gibt Erlaumluterungen zur Befehlsliste

BefehlAbfrage Erlaumluterung

DA x Am Eingang des DA-Wandlers wird die Zahl x (0 - 255) im Binaumlrcode

angelegt und die Ausgangsspannung des Hochspannungsnetzgeraumlts bzw die Beschleunigungsspannung der Elektronenkanone eingestellt

OnOff Hochspannungsnetzgeraumlt und Gluumlhkathode der Elektronenkanone ein-

oder ausschalten Beim Einschalten wird die Steuerspannung des Inter-face am Hochspannungsnetzgeraumlt auf asymp 0 V einstellt

Standby Ausgabe der eingestellten Standbyzeit von 300 s setSB x Standbyzeit einstellen

next Standby in Ausgabe der verbleibenden Standbyzeit (254 s) bis das Experiment

ausgeschaltet wird Eine negative Standbyzeit gibt die Zeit seit dem Ab-lauf der Standbyzeit an

Power On Delay Ausgabe der Verzoumlgerungszeit (2 s) bis das Hochspannungsnetzge-

raumltElektronenbeugungsroumlhre nach dem Ausschalten oder nach Ablauf der Standbyzeit erneut eingeschaltet werden kann

setPOD x Verzoumlgerungszeit einstellen

power on enabled in Ausgabe wie lange Hochspannungsnetzgeraumlt nicht eingeschaltet wer-

den kann Zeiten unter 0 bedeuten dass Power-On-Delay-Zeit ablaufen ist

Tab 4 Erlaumluterung der Befehle in Abb 10

23 Positionieren von Objekten In fast allen RCLs des RCL-Portals auszliger den RCLs Elektronenbeugung und Oszilloskop muumlssen Objekte rotatorisch oder translatorisch positioniert werden Eingesetzt werden Hyb-rid-Schrittmotoren als Aktoren eine Schrittmotorsteuerung von Trinamic als Erweiterungs-schaltung (TMC222-Modul) die Positionierungseinheit ausgedienter Flachbrett-Scanner und ein Referenz-Taster als Sensor

231 Hybrid-Schrittmotoren Abb 11 zeigt den vereinfachten schematischen Aufbau eines zweiphasigen Schrittmotors mit getrennten magnetischen Kreisen des Stators und einem permanent magnetisierten zweipoligen Rotor (Polpaarzahl 1)

22

Abb 11 Funktionsprinzip von Schrittmotoren Unipolare (links) und bipolare Schaltung (rechts)

von Schrittmotoren mit Bestromungstabellen fuumlr Voll- und Halbschrittbetrieb Darge-stellt ist der Schritt 0

Der Rotor verfuumlgt bei der dargestellten Polreihenfolge S-S-N-N des Stators uumlber eine stabile Stellung bei einer hypothetischen (magnetische Monopole) Polreihenfolge N-S-N-S gaumlbe es mit diesem Aufbau des Stators nur instabile Stellungen des Rotors Um den Rotor in Bewe-gung zu setzen muss die Polreihenfolge S-S-N-N im oder entgegen den Uhrzeigersinn (Rechts- oder Linksdrehung) weitergeschaltet und der Rotor vom magnetischen Schrittfeld mitgenommen werden

Die magnetische Polaritaumlt eines magnetischen Kreises laumlsst sich entweder durch zwei Spu-len konstanter elektrischer Polaritaumlt mit unterschiedlichem Wicklungssinn (herstellungstech-nisch zu aufwendig) durch eine Spule mit Mittelanzapfung und konstanter elektrischer Pola-ritaumlt der beiden Teilspulen (unipolare Schaltung) oder durch eine Spule mit wechselnder elektrischer Polaritaumlt (bipolare Schaltung) realisieren In Abb 11 sind dazu die elektrischen Beschaltungen und die Bestromungstabellen fuumlr eine Rechtsdrehung des Rotors dargestellt Fuumlr eine Linksdrehung des Rotors muss die Schrittfolge in umgekehrter Reihenfolge durch-laufen werden

Es wird zwischen Vollschrittbetrieb (graue Zeilen der Tabellen) mit Schrittwinkel 90deg bzw Schrittzahl 4 und Halbschrittbetrieb (alle Zeilen der Tabellen) mit Schrittwinkel 45deg bzw Schrittzahl 8 unterschieden Beim Vollschrittbetrieb werden immer beide magnetische Kreise bestromt und die N-S-Polachse des Rotors nimmt nur Stellungen zwischen den Statorpolen

23

an Beim Halbschrittbetrieb wird zwischen den Vollschritten nur einer der magnetischen Krei-se bestromt und die N-S-Polachse des Rotors kann zusaumltzlich 4 Stellungen in Richtung der Statorpole einnehmen Der Hybrid-Schrittmotor ist die am haumlufigsten vertretene Bauform von Schrittmotoren Abb 12 zeigt den Aufbau eines Hybrid-Schrittmotors

Abb 12 Aufbau eines Hybrid-Schrittmotors fuumlr unipolare und

bipolare Schaltung Daten Schrittwinkel 18deg max Drehmoment 155 Ncm

Der Stator besteht aus zwei Straumlngen mit je 4 in Reihe geschalteten Spulen Der Wick-lungssinn der Spulen ist in beiden Straumlngen so dass sich die Polfolge N-S-N-S uumlber den Umfang ergibt Beide Straumlnge zusammen ergeben unabhaumlngig von der Stromrichtung ei-ne Polfolge N-N-S-S-N-N-S-S uumlber den Umfang Ein zweipoliger Rotor (Polpaarzahl 1) kann im Vollschrittbetrieb 4 Stellungen annehmen Der Rotor des Hybridschrittmotors be-steht aber aus axial magnetisierten Permanentmagneten deren Polpaarzahl durch axial versetzte weichmagnetische Zahnscheiben auf 50 erhoumlht wurde Dadurch erhoumlht sich die Schrittzahl auf 4 sdot 50 = 200 und der Schrittwinkel verkleinert sich auf 360deg200 = 18deg Um stabile Rotorstellungen zu erhalten muumlssen die Statorsegmente ebenfalls gezahnt ausge-fuumlhrt werden

Ein solcher Hybrid-Schrittmotor vereint die Vorteile des Reluktanz- und des permanenter-regten Schrittmotors Ein kleiner Schrittwinkel wird durch das von Reluktanzschrittmotoren bekannte Prinzip der Erzeugung einer Vielzahl von Polen des Rotors durch Zahnscheiben erzielt Ein hohes Drehmoment wird durch das von permanenterregten Schrittmotoren be-kannte Prinzip der Ausfuumlhrung des Rotors als Permanentmagnet erzielt Aufgrund der bi-filaren Wicklung besteht jede Statorwicklung aus zwei Teilspulen und der Schrittmotor kann in unipolarer (alle 6 Anschluumlsse verwendet) und bipolarer Schaltung (nur 4 An-schluumlsse verwendet gemeinsamer Anschluss der Teilspulen bleibt unverwendet) wie in Abb 12 dargestellt verwendet werden

24

Schrittmotoren erlauben nicht nur das Bewegen sondern innerhalb der Leistungsgrenzen (keine Schrittverluste) auch ein genaues Positionieren von Objekten Bei bekannter Schrittzahl auf einer gemessenen Strecke oder Schrittzahl fuumlr den Vollwinkel koumlnnen aus-gehend von einer Referenzstellung Objekte translatorisch oder rotatorisch positioniert werden

232 Schrittmotorsteuerung und Positionierungsmechanik Im Folgenden wird die bei allen RCLs mit Schrittmotoren eingesetzte Schrittmotorsteuerung die Mechanik zur translatorischen Positionierung von Objekten und die Funktionsweise eines Referenztasters beschrieben

Schrittmotorsteuerung Abb 13 zeigt das Blockschaltbild und das im Selbstbau herstellbare TMC222-Modul (rarr 4221 rarr 4222) mit dem IC TMC222 von Trinamic zur Steuerung bipolarer 2-phasiger Hybrid-Schrittmotoren

Abb 13 Blockschaltbild (links) und Platine des TMC222-Moduls (rechts) mit IC TMC 222 auf

der Loumltseite der Platine

Der IC TMC222 enthaumllt ein I2C-Interface zum Anschluss an den I2C-Bus des Mikrocon-trollers (Ports PC0 und PC1) Die 10 kΩ-Pull-up-Widerstaumlnde heben die Takt- (SCL clock) und Datenleitung (SDA data) auf ein Potential von 5 V Der IC TMC222 enthaumllt ei-nen Motortreiber fuumlr Spulenstroumlme bis zu 800 mA und einen Motor-Controller zur Steue-rung der Spulenstroumlme Ein Vorteil des TMC-Moduls ist der relativ geringe Programmier-aufwand fuumlr den Mikrocontroller (rarr 4223) da der IC TMC222 nach Uumlbergabe der Steu-erungsparameter (Drehrichtung Drehzahl hellip) vom Mikrocontroller die Ansteuerung des Schrittmotors uumlbernimmt Der IC TMC222 unterstuumltzt das Beschleunigen und Abbremsen des Schrittmotors enthaumllt einen Schrittpositionszaumlhler und unterstuumltzt Mikrostepping (va-riable Spulenstroumlme zur elektronischen Verkleinerung des Schrittwinkels und groumlszligerer Laufruhe)

25

Falls in RCLs Gleichstrommotoren mit houmlheren Drehzahlen als Schrittmotoren benoumltigt werden kann eine andere Erweiterungsschaltung (rarr 424) eingesetzt werden

Positionierungsmechanik und Referenz-Taster Die Mechanik zur rotatorischen Positionierung von Objekten kann meist kostenguumlnstig selbst oder durch Personal in einer Werkstatt angefertigt werden Abb 14 zeigt eine kos-tenguumlnstige Loumlsung zur translatorischen Positionierung von Objekten

Abb 14 Positionierungseinheit eines Flachbrett-

Scanners Schrittmotor (1) Getriebe (2) Li-nearfuumlhrung (3) Antriebsriemen (4) und er-gaumlnzter Referenz-Taster (5)

Falls der geometrische Aufbau und die geforderte Positionierungsgenauigkeit des RCLs es zulassen kann die Schrittmotor-Positionierungs-Einheit ausgedienter Flachbrett-Scanner zur translatorischen Positionierung von Objekten verwendet werden In Einzelfaumll-len wie dem RCL Weltpendel kann die Positionierungsmechanik auch selbst angefertigt werden Der Referenz-Taster in Abb 14 wird eingesetzt um abzufragen ob ein vom Schrittmotor bewegtes Objekt die Position des Tasters erreicht hat und um diese Position zu referenzieren Ohne eine solche Referenzierung kann die Positionierung eines Objekts langfristig ungenau werden So kann z B beim RCL Weltpendel das Auftreffen der Kugel auf den Magneten zum Uumlberspringen von Schrittmotorstellungen fuumlhren Der Zustand des Referenz-Tasters in Abb 15 wird z B uumlber den Port PA0 des Mikrocontrollers abgefragt

Abb 15 Referenz-Taster zum referenzieren der

Position des bewegten Objekts

26

Zu Problemen koumlnnen undefinierte Zustaumlnde der Eingaumlnge des Mikrocontrollers fuumlhren wie sie beim Prellen dem zeitlich begrenzten schwingen eines Tasters beim Oumlffnen oder Schlieszligen entstehen Abhilfe schafft ein passend dimensionierter parallel zum Taster ge-schalteter Kondensator Bei geoumlffnetem Taster ist der Kondensator aufgeladen Beim Schlieszligen haumllt der Kondensator die Spannung uumlber die Schwingphase trotz kurzzeitig wieder geoumlffnetem Schalter noch aufrecht Analoges gilt fuumlr den Uumlbergang vom geschlos-senen zum geoumlffneten Taster

3 Ferngesteuertes RCL 31 RCL-Server Fuumlr den Betrieb eines RCLs wird ein RCL-Server benoumltigt (larr 11) Vorausgesetzt wird dass bei einem neuen Computer alle notwendigen Treiber (Ethernet Video Audio hellip) zum Be-trieb der Hardware des Computers und Windows XP Professional mit Service Pack 3 instal-liert sind Ein Benutzerkonto braucht nicht angelegt zu werden

Der RCL-Server benoumltigt einen Internetzugang mit statischer IP-Adresse und Uploaddatenra-te von mindestens 200 kbits (DSL 2000) fuumlr die fluumlssige Wiedergabe von Bewegungen in Webcambildern Die statische IP-Adresse wird von der Institution am Standort des RCLs vergeben oder kann von Privatpersonen bei einem Provider beantragt werden Mit folgenden Schritten wird der RCL-Server eingerichtet

Internetzugang einrichten (rarr 451) und im Browser testen

Checken ob die Windows Firewall aktiviert ist

Virenschutzproramm Avira Antivir Personal herunterladen (larr Tab 1) installieren und ak-tualisieren

Uumlber Windows Update alle Updates von Windows XP Professional installieren

Fernwartungssoftware TeamViewer 6 Vollversion (larr Tab 1) herunterladen und auf dem RCL-Server und dem eigenen Computer installieren (rarr 455)

Webeditor Notepad++ herunterladen installieren und aktualisieren (larr Tab 1)

Videoserver WebcamXP 5 herunterladen und installieren (rarr 453)

Paket XAMPP herunterladen und installieren (rarr 452) Verknuumlpfungen mit den Dateien xampphtdocsapache_startbat und xampphtdocsapache_stopbat auf dem Desktop oder in der Schnellstartleiste erstellen und Webserver mit erstgenannter Verknuumlpfung starten Webserver durch Eingabe von 127001 oder localhost ins Adressfeld des Brow-sers testen Bei erfolgreichem Test werden die im Ordner xampphtdocs abgelegten Webseiten von XAMPP dargestellt Statische IP-Adresse des RCL-Servers im Browser eines anderen Computers mit Internetzugang eingegeben Bei erfolgreichem Test werden die Webseiten von XAMPP dargestellt In der Datei xamppphpphpini unter Resource Limits die max_execution_time mit dem Windows-Editor von 60 auf 300 erhoumlhen und die

27

Datei speichern damit PHP bei Befehlen mit laumlngerer Ausfuumlhrungsdauer keine Fehler-meldung liefert

Ordner xampphtdocs mit den Webseiten von XAMPP in xampphtdocs_xampp um-benennen und fuumlr spaumltere Testzwecke nicht loumlschen RCL-Ordner htdocs herunterladen (larr Tab 1) extrahieren und in das Verzeichnis xampp verschieben

Abb 16 zeigt die Struktur des RCL-Ordners htdocs

Abb 16 Struktur des RCL-Ordners htdocs RCL-spezifisch anzupassende Dateien sind grau

hinterlegt

Der geoumlffnete Ordner Labor enthaumllt alle PHP- und HTML-Dateien bzw Programmierungen fuumlr die Funktionalitaumlt des Bedienfelds der Laborseite (larr 11 Abb 3) An das RCL anzupas-sen sind die portalsprachenunabhaumlngigen Dateien configphp und experimentphp sowie fuumlr jede Portalsprache die Dateien defaultconf und experimenttpl in den Ordnern eng fra ger und ita

Datei configphp Zeit bis zum automatischen Logout beim Experimentieren mit dem RCL eintragen

Datei experimentphp PHP-Basisprogrammierung um die RCL-spezifische PHP-Programmierung erweitern (rarr 432)

Datei defaultconf Name des RCLs (z B Elektronenbeugung) in jeder Portalsprache ein-getragen

Datei experimenttpl HTML-Basisprogrammierung um RCL-spezifische Ein- und Ausga-befelder erweitern (rarr 433)

28

32 Laborseite 321 Steuerung des RCLs uumlber das Bedienfeld Das Bedienfeld der Laborseite (larr 11 Abb 3) wird von der Dateien indexphp und experi-menttpl erzeugt Befehle wie das Anklicken von Buttons Eingaben und Auswahl aus Listen werden in ein HTML-Formular mit Formularfeldern in der Datei experimenttpl geschrieben Die Daten werden von der PHP-Datei experimentphp ausgewertet und uumlber die serielle Schnittstelle dem Mikrocontroller-Programm zur Steuerung des Experiments uumlbergeben Die Dateien experimentphp und experimenttpl wurden getrennt angelegt um Code und Design zu trennen und nur das Design in der Datei experimenttpl an die Portalsprache anpasst werden muss

Tab 5 enthaumllt Ausschnitte der HTML-Datei experimenttpl (rarr 433) der Datei experi-mentphp (rarr 432) und des Mikrocontroller-Programms (rarr 431) fuumlr das RCL Elektronen-beugung

29

Code mit Erlaumluterung

expe

rimen

ttpl

1821 Tag ltformgtltformgt definiert ein Formular 18 Attribut action legt fest dass Formulardaten in der Datei indexphp verarbeitet werden Uumlbertragen

werden eine Session-ID ($sid) um exklusiven Zugriff des jeweilgen Besuchers zu sichern und ($portal) um die vom Besucher gewaumlhlte Sprache beizubehalten post ist eine Uumlbertragungsmethode zwischen Browser und Webserver und gibt die die vom Besucher gewaumlhlte Aktion zum Ansteuern des Experiments an die Datei experimenttpl weiter

20 Erzeugt im Bedienfeld den Sendebutton (submit) mit der Aufschrift Elektronenroumlhre einschalten (valu-e)

19 Unsichtbares Feld (hidden) mit Variablennamen action und Wert RoumlhreAn Der Variablenname ac-tion stimmt nur zufaumlllig mit action in Zeile 18 uumlberein

expe

rimen

tphp

24 Die Funktion wird als Eventhaumlndler bezeichnet weil je nach uumlbergebener Aktion - siehe Zeile 19 in experi-

menttpl - die entsprechenden Anweisungen (case) ausgefuumlhrt werden 37 Fuumlr den Fall dass die Variable $action den Wert RoumlhreAn hat wird die Funktion power_on() aufgeru-

fen

59 Schreibt in die Logdatei logtxt den Text RoumlhreAn 6061 Oumlffnet den in der Datei configphp zentral gespeicherten Com-Port an den das Interface angeschlossen ist

oder gibt Fehlermeldung Can not access file system im Bedienfeld aus falls der Com-Port sich nicht oumlff-nen laumlsst

62 Sendet die Zeichenfolge On und chr(13) (entspricht der Betaumltigung der Return-Taste im Hyperterminal) an den Mikrocontroller

63 Schlieszligt serielle Schnittstelle

Que

llcod

e M

ikro

cont

rolle

r

166 Wird uumlber die serielle Schnittstelle der Befehl on empfangen und ist das Einschalten zulaumlssig (Zeiten fuumlr

PowerOnDelay und Standby abgelaufen) dann hellip 167 Hochspannungsnetzgeraumlt einschalten 168 Der DA-Wandler PCF8591 wird unter seiner Adresse PCF8591 = 01001000 angesprochen Parameterein-

stellungen mit 01000000 und Ausgangsspannung auf 0 V einstellen 169 Setzt Standby auf vorgegebene Standbyzeit zuruumlck 171 Gibt Meldung aus wie lange PowerOnDelay noch dauert

Tab 5 Uumlbertragung des Befehls Elektronenroumlhre einschalten vom Bedienfeld zum Experi-ment

30

Anhand der Erlaumluterungen der Programmcodes koumlnnen die Ablaumlufe zwischen dem Druumlcken des Buttons Elektronenroumlhre einschalten und dem Einschalten der Elektronenbeugungs-roumlhre oder der Eingabe einer Beschleunigungsspannung und dem Anlegen einer Beschleu-nigungsspannung verfolgt werden Uumlber das Bedienfeld koumlnnen nur die von der Datei expe-rimenttpl bereitgestellten Befehle on und da der insgesamt implementierten Befehle (rarr 22 Abb 10) aufgerufen werden

322 Videouumlbertragung im Webcamfeld Zur Aufnahme von Livebildern des Experiments koumlnnen USB-Webcams und IP-Kameras (Netzwerkkameras) eingesetzt werden Teurere IP-Kameras muumlssen eingesetzt werden wenn die Kamera wie z B beim RCL Roboter im Labyrinth zu weit vom Computer entfernt ist oder eine besonders lichtempfindliche Kamera aus der Uumlberwachungstechnik wie z B beim RCL Millikan-Versuch benoumltigt wird W-LAN-Kameras kommen zum Einsatz wenn Bil-der von einem beweglichen Objekt aus wie z B beim RCL Roboter im Labyrinth uumlbertra-gen werden sollen

Das Videoserverprogramm webcamXP 5 erkennt beim Aufrufen automatisch an den RCL-Server angeschlossenen USB-Webcams Vor dem Kauf einer IP-Kamera ist zu pruumlfen ob das Modell unterstuumltzt wird14 IP-Kameras muumlssen im Kontextmenuuml der Videoquelle konfigu-riert werden Abb 17 zeigt das Webcambild einer USB-Webcam vom Szintillationsschirm der Elektronenbeugungsroumlhre

Abb 17 Webcambild des Szintillationsschirms der Elektro-

nenbeugungsroumlhre einer USB-Webcam in webcamXP 5 beim RCL Elektronenbeugung

14 Vgl Moonware Studios webcamXP IP-cameras for webcamXP

31

Zum Einbinden des Webcambilds in die Laborseite des RCLs wird die laborsprachenabhaumln-gige Datei videohtm (rarr 434) in den Ordnern eng fra ger und ita verwendet Standardmauml-szligig werden zwei Webcambilder und Screenshots unterstuumltzt der Code fuumlr weitere Webcam-bilder kann durch copy and paste hinzugefuumlgt werden

Unter den Technologien Java Javaskript Flash und Windows Media fuumlr die Wiedergabe ei-nes Livestreams auf eine Webseite wurde Javaskript gewaumlhlt weil die anderen Technologien die Installation des Java Runtime Environments (JRE) des Flash- oder Windows Media Players durch den Besucher eines RCLs voraussetzen Die Wiedergabe des Livestreams mit einem Java-Applet startet zudem erst verzoumlgert nachdem das Applet geladen ist und verfuumlgt uumlber eine zu geringe Wiedergabegeschwindigkeit

33 Standard-Lernumgebung Bestandteil der Entwicklung eines RCLs ist die Erstellung einer Standard-Lernumgebung zum RCL Abb 18 zeigt exemplarisch fuumlr die deutschen Webseiten im Ordner ger das Menuuml (larr 11 Abb 3) und die Dateistruktur der Standard-Lernumgebung

Abb 18 Deutschsprachiges Menuuml und Dateistruktur der Standard-Lernumgebung

RCL-spezifisch anzupassende Dateien sind grau hinterlegt

Die englischen Dateinamen introductionhtm setuphtm hellip im Ordner ger korrespondieren mit den deutschen Menuumlpunkten Wird das RCL unter dem Menuumlpunkt RCLs des RCL-Portals aufgerufen dann ruft die Frameset-Datei indexhtm die Dateien menuumlhtm und intro-ductionhtm auf und das Menuuml wird zusammen mit der Webseite Einstieg dargestellt Die Wahl weiterer Menuumlpunkte ruft jeweils die korrespondiere Datei im Ordner auf Bei Wahl des Menuumlpunkts Labor werden mit der Frameset-Datei laboratoryhtm die Dateien videohtm fuumlr das Webcamfeld und die Datei laborindexphp fuumlr das Bedienfeld aufgerufen

32

Im Ordner docsmaterial werden alle Dokumente fuumlr die Webseite Material im Ordner docsothers die Dokumente anderer Webseiten abgelegt Im Ordner docsoriginals sind die Originale von Dokumenten wie z B Word-Dateien und der verwendeten Bilder abgelegt Grafikdateien der Webseiten Einstieg hellip Auswertung hellip Betreuung werden in gleichnami-gen Ordnern wie z B imagesanalysis abgelegt Bei sprachenunabhaumlngigen Grafikdateien wird unter dem Dateinamen abbx bei sprachenabhaumlngigen unter dem Dateinamen abbx_lan mit lan = eng fra ger und ita gespeichert Analoges gilt fuumlr die als gif-Grafiken forxgif oder forx_langif zu speichernden Formeln Originale von Bildern werden im Ordner imagesoriginals abgelegt Die Webseite zur Datei htdocsindexhtm enthaumllt zum lokalen Aufrufen der Standard-Lernumgebung Links zu den vier Index-Dateien in den Ordnern eng fra ger und ita Die Stylesheet-Datei htdocsrcl_stylecss enthaumllt die Styles der Webseiten

In der Regel werden Standard-Lernumgebungen der RCLs des RCL-Portals von verschiede-nen Personen erstellt Fehlende Gestaltungs- und Formatierungsregeln fuumlhren zu einem un-einheitlichen inattraktivem Erscheinungsbild des RCL-Portals Tab 6 gibt einen Uumlberblick der wichtigsten Gestaltungs- und Formatierungsregeln

Element Richtlinien

Gliederung

Die Webseiten Einstieg Aufbau Aufgaben Diskussion Material und Support enthalten vorgegebene Gliederungspunkte teilweise mit ausgefuumlhrten Uumlberschriften

Die umfangreicheren Webseiten Theorie und Auswertung enthalten ein Inhaltsverzeichnis mit internen Links zu Gliederungspunkten Zwischen Punkten der ersten Gliederungsebene (1 2 hellip) ist ein zwei-zeiliger Abstand (ltpgtampnbspltpgtltpgtampnbspltpgt) zwischen Punkten der zweiten (11 12 hellip) und Punkten der nur falls unbedingt notwendig dritten 111 112 hellip) Gliederungsebene ein einzeiliger Abstand zu waumlhlen Nach Abbildungen und Tabellen folgt ein einzeiliger Abstand zum nachfolgenden Text

Links Keine internen Links zwischen den Webseiten der Lernumgebung Externe Links werden prinzipiell in einem neuen Browserfenster geoumlffnet (blank)

Abbildung

Alle Abbildungen erhalten fortlaufend beginnend mit 1 nummerierte Abbildungsunterschriften der Form Abb x hellip

Abbildungen sind moumlglichst spachenunabhaumlngig d h ohne Texte in der Abbildung zu erstellen Zur Beschriftung koumlnnen z B Zahlen verwendet werden die in der Abbildungsunterschrift oder im Text er-laumlutert werden

Tabellen Tabellen werden in jeder Webseite fortlaufend beginnend mit 1 nummeriert Tabellen sind zu zentrieren Rahmenstaumlrke 1

Formeln

Formeln sind nicht als Textzeichen oder Grafik im laufenden Text einzufuumlgen sondern stets zentriert in einer eigenen Zeile als gif-Grafik

Zum Erstellen der Formel-Grafiken eignet sich z B der Formel-Editor MathType15 mit der Aufloumlsungs-Einstellung 120 dpi fuumlr InternetGif

Formeln brauchen im Rahmen des begrenzten Umfangs der Webseiten nicht nummeriert zu werden Groumlszligen-symbole

Griechische Groumlszligensymbole und mathematische Symbole sind nicht als Grafiken im laufenden Text sondern als HTML-Code einzufuumlgen Eine Zeichenreferenz findet sich bei Selfhtml16

Styles Zur Formatierung der Webseiten werden aus der Stylesheet-Datei nur die drei Styles Uumlberschrift fuumlr

die Uumlberschriften Bildunterschrift fuumlr Abbildungs- und Tabellenunterschriften und Tabellentext fuumlr Tex-te in Tabellen benoumltigt

Tab 6 Richtlinien zur Gestaltung und Formatierung der Standard-Lernumgebung

Detailliertere Informationen zum Layout der Standard-Lernumgebung koumlnnen dem RCL-Ordner und dem Erscheinungsbild der Webseiten von RCLs in Browsern entnommen wer-den

15 Vgl Design Science MathType 16 Vgl Selfhtml HTML-Zeichreferenz

33

4 ANHANG

34

41 Interface in Basisschaltung 411 Schaltplan und Bauteilliste Abb 19 zeigt den Schaltplan der Basisschaltung des Interface und Tab 7 die dazugehoumlrige Bauteilliste

Abb 19 Basisschaltung des Interface

Nr Anzahl Kurzbeschreibung des Bauteils Best-Nr bei Reichelt electronic

Einzelpreis in euro

0 1 Epoxyd-Platine (190x112 mm) mit Anteil Loumltpunktraster (Spezi-

alanfertigung) - asymp 10

1 1

Epoxyd-Fotoplatine einseitig 160x100 mm 15 mm 35 microm Epoxyd-Lochrasterplatine 160x100 mm 15 mm 35 microm

BEL 160x100-1 UP 832EP

170 420

1 1 Hohlstecker-Einbaubuchse gewinkelt Loumltfahnen 21 mm HEBW 21 018 2 1 D-SUB-Stecker 9-polig gewinkelt RM 94 D-SUB ST 09EU 029 3 1 Schottky Diode DO41 40 V 1 A SB 140 008 4 1 Draht von abgeschnittenem Beinchen aus Pos-Nr 3 - - 5 1 IC-Sockel 16-polig superflach gedreht vergoldet GS 16P 029 6 1 IC-Sockel 40-polig superflach gedreht vergoldet GS 40P 061 7 1 2x10-pol-Stiftleiste gerade RM 254 SL 2X10G 254 007 8 1 Metallschichtwiderstand 100 kΩ Metall 100k 0082 9 1 Elektrolytkondensator 10x16 mm 470 microF RM 50 mm RAD 47025 006 10 1 Elektrolytkondensator 63x11 mm 100 microF RM 25 mm RAD 10016 004 11 5 Elektrolytkondensator 5x11 mm 10 microF RM 20 mm RAD 1035 004 12 2 Keramik-Kondensator 33 pF Kerko 33p 006 13 3 Vielschicht-Keramikkondensator 100 nF 20 Z5U-25 100n 004

35

14 1 Standardquarz Grundton 110592 MHz 110592-HC49U-S 018 15 1 Spannungsregler 1 A positiv TO-220 microA 7805 028 16 1 Kuumlhlkoumlrper fuumlr Gehaumluse TO-220 99KW V FI356 066 17 1 Zylinderkopfschraube Schlitz M3 10 mm fuumlr Kuumlhlkoumlrper M3x10mm 160 18 2 Sechskantmutter M3 fuumlr Kuumlhlkoumlrper SK M3 001 19 1 Stecker-Schaltnetzteil 12 V 2250 mA MW 3IP25GS 1150 20 1 RS232-Driver DIL-16 MAX 232 CPE 041 21 1 ATmega AVR-RISC-Controller DIL-40 ATmega16-16 DIP 420 22 3 10-poliger Wannenstecker RM 254 stehend (optional) WSL 10G 009 23 1 14-poliger Wannenstecker RM 254 stehend (optional) WSL 14G 014 24 1 40-polige Stiftleiste 1-reihig gerade RM254 (optional) SL 1x40G 254 023 25 1 Kunststoffgehaumluse 1982x1124x760 mm (Serientyp 202) - asymp 10 euro 26 1 D-SUB Nullmodem-Kabel 9-pol BUBU 3 m AK 143 155 27 x DIN-Einbaubuchse 5-pol Schraubver 360deg (optional) DIO-50W EMS 185 28 x DIN-Einbaubuchse 8-polig Schraubversch 270deg (optional) DIO-80SN EMS 180 29 x Pfostenstecker 10-polig mit Verrieglung gew (optional) PSL 10W 028 30 x Klemmleiste RM 254 Oumlffnungshebel 8-polig (optional) Wago 233 220

Tab 7 Bauteilliste mit Bestellnummer und Einzelpreisen der Bauelemente bei Reichelt electronic (Stand 23102010)

Anhand der Bauteilliste in koumlnnen die elektronischen Bauelemente der Basisschaltung (larr Tab 7 Nr 0 ndash 21 optional Nr 22 - 24) bei Reichelt electronic bestellt werden Das Gehaumluse des Interface (larr Tab 7 Nr 25) sollte vom Hersteller HAGOTECH GmbH bezogen werden Weiterhin wird ein Nullmodemkabel (larr Tab 7 Nr 26) zur Verbindung des Interface mit dem Computer benoumltigt Sensoren und Aktoren des Experiments koumlnnen mit optionalen Steck-verbindern (larr Tab 7 Nr 27 - 30) und entsprechende Kabelverbindungen an das Interface angeschlossen werden Die Nummern 0 - 25 stimmen mit der angegebenen Bestuumlckungs-reihenfolge auf der Platine uumlberein Das Interface kostet in der Basisschaltung ca 50 euro

412 Bestuumlckung der Platine Abb 20 zeigt zur Bestuumlckung der Platine benoumltigte Werkzeuge

Abb 20 Werkzeuge zur Bestuumlckung der Platine des Interface

36

Loumltkolben mit feiner Spitze in Meisselform 2 mm oder Loumltstation (1) Loumltzinnabsauger zum Entfernen von Loumltzinn (2) Nasser Schwamm zum Reinigen der Spitze des Loumltkolbens (3) Loumltzinn mit Durchmesser 08 - 10 mm (4) Flachspitzzange zum Biegen von Anschluumlssen der Bauelemente (5) Seitenschneider zum Kuumlrzen der Beinchen von Bauelementen (6) Multimeter zum Pruumlfen der Funktionsfaumlhigkeit der Schaltung (7) Sekundenkleber zur Befestigung von Bauelementen Kleine Bohrmaschine z B von Dremel und 08 mm Bohrer oder duumlnne Rundfeile zum

Weiten von Loumlchern auf der Platine des Interface

Abb 21 zeigt die Platine des Interface von der Loumltseite in der Spezialanfertigung der Elekt-ronik-Werkstatt an der Technischen Universitaumlt Kaiserslautern und in der Selbstbauvariante (larr Tab 7 Nr 0) Abb 22 zeigt das Platinenlayout

Abb 21 Platine des Interface von der Loumltseite als Spezialanfertigung (links) und der Selbstbauvariante

(rechts)

Abb 22 Layout zur Herstellung des geaumltzten Teils der

Platine in der Selbstbauvariante

37

In der Selbstbauvariante kann anhand des Platinenlayouts eine selbst geaumltzte Platine fuumlr die Basisschaltung auf einer Platine im Europakartenformat hergestellt und diese in der Laumlnge gekuumlrzt werden Eine gekuumlrzte Lochrasterplatine bildet den zweiten Teil der Platine Mit den optionalen vier Wannensteckern (larr Tab 7 Nr 22 - 23) oder den vier Stiftleisten (larr Tab 7 Nr 24) an den Ports des Mikrocontrollers koumlnnen leicht elektrische Verbindungen zum Rasterteil der Platine herstellt werden Abb 23 zeigt die fertig bestuumlckte Platine mit den Nummern aus Tab 7

Abb 23 Bestuumlckte Platine des Interface mit nummerierten Bauelementen

Tab 8 beschreibt das Einloumlten der elektronischen Bauelemente anhand der Nummern aus Tab 7 und in der angegebenen Reihenfolge

Nr Bauelement Beschreibung des Einbaus

0 Spezialanfertigung und Selbst-bauvariante der Epoxydharz-

Platine

1

Stromversorgungsbuchse ndash Hohlstecker 21 mm

Wenn die Loumltbeine nicht durch die Loumlcher der Platine passen die Loumlcher mit einer runden Schluumlsselfeile aufweiten

Stromversorgungsbuchse mit Sekundenkleber vor dem Festloumlten auf der Pla-tine fixieren da diese mechanischen Belastungen durch das Einstecken und Herausziehen des 12 V -Steckers ausgesetzt ist

Wahlweise kann die 25 mm-Version der Buchse verwendet werden

2

RS232 Datenstecker

RS232 Datenstecker mit Sekundenkleber vor dem Festloumlten auf der Platine fixieren da dieser mechanischen Belastungen durch das Einstecken und Herausziehen des Null-Modem-Kabels ausgesetzt ist

Alle Beinchen und Befestigungsstifte zur houmlheren Stabilitaumlt anloumlten

3

Ein Ring an einer Seite der Diode (hier links weiszlig) zeigt die Durchlass- bzw Sperrrichtung der Diode an Die Position des Ringes entspricht der Position des Balkens im Schaltungssymbol

38

Diode ndash SB140 Auf der Platine muss der Ring auf der von der Stromversorgungsbuchse ab-

gewandten Seite liegen

4 Drahtbruumlcke

Vor dem Einloumlten des 40-poligen IC-Sockels (Nr 5) muss eine Drahtbruumlcke unter diesem eingeloumltet werden Dazu koumlnnen die abgeschnittenen Beinchen der bereits eingeloumlteten Diode (Nr 3) verwendet werden

5 6

IC-Fassungen

Die 16-polige und 40-polige IC-Fassungen besitzen eventuell eine Markie-rung fuumlr Pin1 (z B Kerbe in der Stirnseite Punkt Pfeilhellip) als Hilfe fuumlr das richtige Einstecken der ICs Die Markierungen muumlssen bei beiden Fassungen nach oben also zum naumlchstliegenden Rand der Platine zeigen

Die ICs unbedingt noch nicht einstecken

7

ISP-Stiftleiste

Die doppelreihige ISP-Stiftleiste dient der Programmierung des Mikrocontrol-lers mit dem AVR-ISP-Programmer (ISP steht fuumlr In System Programming)

ISP-Stiftleiste auf 2 x 5 Stifte kuumlrzen und mit den kurzen Beinchen einloumlten so dass auf die langen Stifte der AVR-ISP-Programmer gesteckt werden kann

8

Widerstand 100 kΩ

Den 100 kΩ-Widerstand rechts neben der ISP-Stiftleiste einloumlten

9

10

11

Elkos

Bei den verwendeten Elektrolyt-Kondensatoren ist die Polung zu beachten (langes Beinchen = Plus-Pol) Weiterhin ist auf den Kondensatoren ein wei-szliger Streifen mit Minus-Zeichen aufgedruckt Die Kondensatoren sollten eine Spannungsfestigkeit von mindestens 16 V besser 25V besitzen

Auf der Kupferseite der Platine zeigt die Form der Loumltaugen die Polung an Rundes Loumltauge = Plus quadratisches Loumltauge = Minus

Der 470 microF Kondensator wird mit dem weiszligen Streifen in Richtung Stromver-sorgungsbuchse direkt unter diese montiert

Der 100 microF Kondensator sitzt direkt unter der 16-poligen IC-Fassung Sein weiszliger Streifen (Minus-Pol) zeigt in Richtung der Stromversorgungsbuchse

Vier der 10 microF Kondensatoren werden links neben der 16-poligen IC-Fassung montiert Deren Polung ist wie folgt Unterster Kondensator Minus nach oben naumlchster Kondensator Minus nach unten die beiden oberen Kondensatoren mit Minus nach oben

Ein weiterer 10 microF Kondensator wird rechts neben die 16-polige IC-Fassung geloumltet Sein Minus-Streifen zeigt nach unten

12

13

Keramik-Kondensatoren

Die Beschriftung 104 bedeutet 10e4 pF = 100 nF Die beiden 33 pF-Kerkos (Keramik-Kondensatoren) werden direkt nebenei-

nander rechts neben die 16-polige IC-Fassung geloumltet Zwei 100 nF-Kondensatoren werden unter dem 470 microF-Elko eingeloumltet ein

weiterer mittig an der linken Seite der 40-poligen IC-Fassung

14

Quarz

Als Quarz wird ein 110592 MHz-Typ verwendet Bei dieser Frequenz ist eine fehlerfreie Kommunikation uumlber RS232 mit 9600 Baud moumlglich Fuumlr den AT-mega16 koumlnnen Quarze bis 16 MHz eingesetzt werden Details siehe Daten-blatt

Der Quarz wird direkt rechts neben die beiden 33 pF-Kerkos geloumltet Die Ori-entierung des Quarz spielt keine Rolle

15

16

17

18

Der Spannungsregler L7805 erzeugt eine stabilisierte Spannung von 5 V Es muss ein Kuumlhlkoumlrper zur Waumlrmeabfuhr vom Spannungsregler verwendet werden

Vor dem Einloumlten zwischen Spannungsregler und Kuumlhlkoumlrper etwas Waumlrme-leitpaste aufgetragen Beide Bauteile fest mit einer Schraube M3x10 und ei-ner 1 Mutter verschrauben

Dann den Spannungsregler einloumlten um 90deg abzubiegen das uumlberstehende Gewinde durch das vorgesehene Loch stecken und alles mit einer 2 Mutter auf der Platine befestigen

1 Mutter

2 Mutter

Schr

aube

L7805

Platine

KuumlhlkoumlrperWaumlrmeleitpaste

Beinchen

Loumlten

39

Spannungsregler L7805 Kuumlhl-koumlrper und Montage

19

Steckernetzteil

Funktionskontrolle vor dem Einsetzen des Mikrocontrollers Polung der Elektrolyt-Kondensatoren (Elkos) pruumlfen Sind alle Beinchen angeloumltet Hat das Loumltzinn an den Beinchen und der Pla-

tine guten Kontakt Sind eventuell zwei benachbarte Beinchen unbeabsichtigt durch Loumltzinn verbunden Alle Loumltverbindungen nochmals genau z B mit ei-ner Lupe pruumlfen

Probeweise das Stecker-Netzteil an die Buchse anschlieszligen Am 100 nF-Kondensator links mittig der 40-poligen IC-Fassung muumlssen 5 V anliegen

Versorgungsspannung unbedingt wieder von der Platine trennen

20

21

ICs MAX232 und ATmega16

Die Nuten auf den ICs am linken Rand muumlssen nach oben zeigen d h Pin1 ist bei beiden ICs in der Abbildung links unten und auf der Platine oben links

Manchmal passen die Beinchen der ICs nicht in die Fassung weil die Fas-sung scheinbar zu schmal ist Dann den IC seitlich mit einer Beinchen-Reihe flach auf den Tisch legen den IC-Koumlrper links und rechts greifen und Bein-chen durch leichten Druck biegen Einzelne verbogene Beinchen vorsichtig mit einer kleinen Flachzange richten

22

23

Wannenstecker 10- und 14-polig

Wannenstecker an den vorgesehe-nen Stellen mit der Nut gegen Ver-polung in Richtung des naumlherliegen-den Platinenrands einloumlten

Die Abbildung rechts zeigt die Pin-Belegung der Wannenstecker

24

Stiftleiste 8-polig 40-pol Stiftleiste in 4 jeweils 8-polige Stuumlcke zerteilen und einloumlten

25

Kunststoffgehaumluse

In der Selbstbauvariante der Platine (Nr 0) vor dem Einsetzten der Platine in das Gehaumluse passend positionierte Kunststoffstege am Gehaumluseboden fest-kleben

Tab 8 Bestuumlckung der Platine des Interface mit Bauelementen

42 Erweiterungsschaltungen 421 Uumlbersicht In Tab 3 sind von RCLs des RCL-Portals Sensoren und Aktoren mit den dazugehoumlrigen Er-weiterungsschaltungen zusammengestellt Da alle RCLs obligatorisch uumlber mindestens eine Webcam verfuumlgen sind diese unter den Sensoren nicht aufgefuumlhrt Die wenigen Erweite-rungsschaltungen fuumlr Sensoren sind unter Sensoren in Klammern aufgelistet Unter Aktoren werden auszliger elektro-mechanischen Wandlern auch gesteuerte Geraumlte oder Bauelemente verstanden Anzeigeinstrumente sind unter Aktoren nur aufgefuumlhrt wenn sie direkt vom In-terface gesteuert werden Mit gekennzeichnete Erweiterungsschaltungen befinden sich au-szligerhalb des Interface

40

RCL Sensoren Aktoren Erweiterungsschaltungen fuumlr Aktoren

Beugung und Interferenz I Referenz-Taster

Schrittmotor (Rotation) Schrittmotorsteuerung Laser-Modul Geschaltete Spannungsversorgung

Beugung und Interferenz II

4 Referenz-Taster Lichtsensor

4 Schrittmotoren (Translation) 4 Schrittmotorsteuerungen 5 Laser-Module Geschaltete Spannungsversorgung LED fuumlr Position des

Lichtsensors Geschaltete Spannungsversorgung

LED fuumlr Linealbeleuchtung Geschaltete Spannungsversorgung

Elektronen-beugung

Hochspannungsnetzgeraumlt Geschaltete Spannungsversorgung Hochspannungsnetzgeraumlt Steuerung der Hochspannung

Fotoeffekt 2 Referenz-Taster Photozelle

2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen

Quecksilberdampflampe Geschaltete Spannungsversorgung

der Drossel fuumlr Quecksilberdampf-lampe

Halbleiter-kennlinien

und Halbleiterkennli-nien - Schuumller-

projekt

Referenz-Taster

Schrittmotor (Rotation) Schrittmotorsteuerung Oszilloskop Geschaltete Spannungsversorgung

Oszilloskop Instrumentenverstaumlrker fuumlr X- und Y-Ablenkung

Multimeter Steuerung Spannungs- oder Strom-anzeige

Heiszliger Draht 4 Endtaster 4 Drehgeber Kurzschlusssensor

4 Gleichstrommotoren 4 Treiber

Zweifarbige LED Steuerung der LED-Farbe

Lichtgeschwin-digkeit

Drehimpulsgeber 2 Taster an Enden

der Eisenbahnstre-cke

2 Schrittmotoren 2 Schrittmotorsteuerungen Oszilloskop Geschaltete Spannungsversorgung

Motor der Lokomotive Steuerung des Ein- und Ausschal-tens und der Bewegungsrichtung

Maut Infrarot-Sensor Gleichstrommotor Geschaltete Spannungsquelle 2 IR-Fernbedienungen Spannungsregler 2-stellige 7-Segmentanzeige LED-Treiber

Millikan-Versuch 2 Referenz-Taster

2 Schrittmotoren 2 Schrittmotorsteuerungen Lichtquelle (LED) fuumlr Millikan-

Kondensator Geschaltete Spannungsversorgung

Airbrush-Kompressor Geschaltete Spannungsversorgung Magnetventil Geschaltete Spannungsversorgung Millikan-Kondensator Gesteuertes Hochspannungsmodul

Optische Com-putertomogra-

phie

2 Referenz-Taster 2 Lichtsensoren

Schrittmotor (Rotation) Schrittmotorsteuerung Schrittmotor (Translation) Schrittmotorsteuerung

2 Laser-Module 2 geschaltete Spannungsversor-gungen

Optische Fou-rier-

Transformation 2 Referenz-Taster

2 Schrittmotoren (Translation) 2 Schrittmotorsteuerungen

Laser-Modul Geschaltete Spannungsversorgung

Oszilloskop Oszilloskop Geschaltete Spannungsversorgung Signalgenerator Steuerung der Signalart

Radioaktivitaumlt 4 Referenz-Taster Geiger-Muumlller-

Zaumlhlrohr

2 Schrittmotoren (Translation) 2 Schrittmotorsteuerungen 2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen 4-stellige 7-Segment-Anzeige Treiber Elektromagnet Geschaltete Spannungsversorgung

Roboter im Labyrinth Infrarot-Sensor

2 Schrittmotoren 2 Schrittmotorsteuerung Infrarot-Sender Treiber

Rutherfordscher Streuversuch

2 Referenz-Taster Halbleiterdetektor

(Impulsformer)

2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen

4-stellige 7-Segment-Anzeige Treiber

Weltpendel

Referenz-Taster Lichtsensor der

Lichtschranke (Im-pulsformer)

Temperatursensor

Schrittmotor (Translation) Schrittmotorsteuerung Elektromagnet Geschaltete Spannungsversorgung

Laser der Lichtschranke Geschaltete Spannungsversorgung

Windkanal Referenz-Taster Schrittmotor (Translation) Schrittmotorsteuerung

41

Dehnungsmess-streifen (Wheat-stonesche Bruumlcke Messverstaumlrker Multimeter)

Geblaumlsemotor Geschaltete Spannungsversorgung

und Ansteuerung mit Pulsweiten-modulation

Anemometer Geschaltete Spannungsversorgung Multimeter Geschaltete Spannungsversorgung

Tab 9 Sensoren Aktoren und Erweiterungsschaltungen der RCLs des RCL-Portals

422 TMC222-Modul zur Schrittmotorsteuerung 4221 Schaltplan und Bauteilliste Abb 1 zeigt die Beschaltung des TMC222 von Trinamic auf dem TMC222-Modul

Abb 24 Beschaltung des TMC222 von Trinamic

Anhand der Bauteilliste in Tab 10 koumlnnen die elektronischen Bauelemente des TMC222-Moduls bei Reichelt electronic bestellt werden Ein TMC222-Modul kostet ungefaumlhr 10 euro

Nr Anzahl Kurzbeschreibung des Bauteils Best-Nr bei Reichelt electronic

Einzelpreis in euro

0 1 Epoxyd-Fotoplatine einseitig 75x100 mm 15 mm 35 microm BEL75X100-1 096 1 1 Integrierter TMC-Schrittmotor-Controller TMC 222 SI asymp 7 2 1 Elektrolytkondensator 8x11 mm Rm 35 mm 100 microF35 V RAD 10035 004 3 1 Tantal-Kondensator Rm 25 10 microF35 V Tantal 1035 014 4 2 Vielschicht-Keramikkondensator 220 nF 20 Z5U-25 220N 011 5 3 Vielschicht-Keramikkondensator 100 nF 20 Z5U-25 100N 004 6 2 Metallschichtwiderstand 100 kΩ Metall 100K 0082 7 1 1x36pol Stiftleiste gewinkelt Rm 254 SL 1X36W 027 8 1 1x36pol Buchsenleiste gerade Rm 254 BL 1X36G 025

Tab 10 Bauteilliste mit Bestellnummer und Einzelpreisen der Bauelemente bei Reichelt electronic (Stand 23102010)

4222 Bestuumlckung der Platine

42

Abb 25 zeigt die fertig bestuumlckte Platine mit den Nummern aus Tab 10

Abb 25 Bestuumlckte Platine des TMC222-Moduls

mit nummerierten Bauelementen

Die Platine (35 mm x 30 mm) kann anhand des Layouts in Abb 26 hergestellt werden Der IC TMC222 wird auf der Loumltseite der Platine aufgeloumltet Das TMC222-Modul kann mit der Stiftleiste (larr Tab 10 Nr 7) in eine Buchsenleiste (larr Tab 10 Nr 8) auf die Platine des In-terface gesteckt werden

Abb 26 Platine des TMC222-Moduls von der Loumltseite (links) und Layout

4223 Quellcode des Mikrocontroller-Programms Im Folgenden ist ein mit Bascom (larr 12 Tab 1 Entwicklungsumgebungen) erstelltes Bei-spiel-Programm zur Ansteuerung des Schrittmotormoduls TMC222 durch den Mikrocontroller ATmega16 angegeben $regfile = m16DEFdat $crystal = 11059200 $baud = 9600 Definitionen Config Scl = Portc0 Taktleitung Config Sda = Portc1 Datenleitung Const Adress = ampB11000000 I2C Adresse des TMC222 Const GetFullstatus1 = ampB10000001 Kommando des TMC222 Const Resetpos = ampB10000110 Kommando des TMC222 Const Motorparameter = ampB10001001 Kommando des TMC222 Const Setposition = ampB10001011 Dim Puffer(10) As Byte

43

Programm I2csend Adress GetFullstatus1 GetFullstatus1 (Initialisierung des TMC222) I2creceive Adress 7 Ack Daten in Puffer auslesen Puffer(1) = Motorparameter puffer auffuumlllen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB11110011 1111irun 0011ihold Puffer(5) = ampB01110001 0111vmax 0001vmin Puffer(6) = ampB00010000 000securepos(bit10-8) 1shaft 0000acceleration Puffer(7) = 0 securepos(bit7-0) Puffer(8) = ampB00001100 000nicht belegt 0accshape 11stepmode 00nicht belegt I2csend Adress Puffer(1) 8 I2csend Adress Resetpos aktuelle Position auf 0 setzen Puffer(1) = Setposition Motor bewegen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB01111111 position(bit 15-8) Puffer(5) = ampB11111111 position(bit 7-0)acute I2csend Adress Puffer(1) 5 End

423 Geschaltete Spannungsquellen und Verbraucher Die Ausgaumlnge des Mikrocontrollers duumlrfen nur mit Stroumlmen kleiner als ungefaumlhr 20 mA belas-tet werden Verbraucher mit einer Stromlast groumlszliger als 20 mA koumlnnen daher nicht direkt an den Mikrocontroller angeschlossen werden Abb 27 zeigt links eine Schaltung zum Schalten eines Verbrauchers wie z B des Relais und rechts eine Schaltung mit dem IC ULN2803A zum Schalten mehrerer Verbraucher wie z B Gluumlhlampen

Abb 27 Erweiterungsschaltungen zum Schalten eines (links) oder

mehrerer Verbraucher (rechts)

Zu beachten ist dass der Transistor BC337 maximal 800 mA schalten kann und fuumlr groumlszligere Stroumlme andere Transistoren verwendet werden muumlssen

424 Steuerung von Gleichstrommotoren

44

Sollen Gleichstrommotoren zum Bewegen von Objekten mit dem Mikrocontroller gesteuert werden dann eignet sich dazu der in Abb 28 dargestellte beschaltete IC L293D

Abb 28 Beschaltung des L293D zum

Steuern zweier Gleichstrom-motoren

Mit Pin 1 = Pin 9 = 1 (High) koumlnnen zwei Gleichstrommotoren M1 und M2 (Versorgungs-spannung UM lt 36 V Spulendauerstrom IM lt 600 mA) unabhaumlngig voneinander ein- und ausgeschaltet sowie in der Drehrichtung uumlber die Ports PA0 und PA1 fuumlr M1 und PA2 und PA3 fuumlr M2 gesteuert werden Z B gilt mit PA0 = PA1 = 0 (M1 ausgeschaltet) PA0 = 1 und PA1 = 0 (M1 dreht sich) PA0 = 0 und PA1 = 1 (M1 dreht sich in Gegenrichtung)

45

43 Quellcodes zum RCL Elektronenbeugung 431 Mikrocontroller-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

46

47

48

49

432 PHP-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

50

51

433 Bedienfeld der Laborseite

Tab 11 erlaumlutert die Funktion der Bloumlcke im Quellcode

Zeilen Funktion 1 Datei defaultconf einbinden 2 Datei headtpl einbinden

5 - 11 Ausgabe der verbleibenden Experimentierzeit 18 - 21 Button zum Einschalten der Elektronenbeugungsroumlhre 28 - 30 Eingabefeld fuumlr die Beschleunigungsspannung

37 Ruumlckmeldung zur eingegebenen Beschleunigungsspannung 42 Datei foottpl einbinden

Tab 11 Funktion der Programmbloumlcke in der Datei experi-menttpl

52

434 Webcamfeld der Laborseite

In Tab 12 ist die Funktion der Programmbloumlcke und die Anpassungen der Vorlage an das RCL Elektronenbeugung beschrieben

Zeilen Funktion Anpassung RCL Elektronenbeugung

5 Titelangabe erscheint als Tabulatorbeschriftung in Browsern

Name des RCLs eintragen

11 - 15 16 - 20

Zwei Javascripts zum getrennten Aufrufen zweier Po-pup-Fenster mit dargestelltem Webcambildern 1 und 2

Javascript 1 die IP-Adresse eintragen Javascript 2 auskommentiert weil nicht benoumltigt

24 - 40 42 - 60

Zwei Javascripts zum Aktualisieren der Webcambilder 1 und 2

Javascript 2 auskommentiert weil nicht benoumltigt

67 - 71 79 - 83

Aufrufen des ersten Webcambilds der Webcams 1 und 2 beim Aufrufen der Datei

Webcambild 2 auskommentiert weil nicht benoumltigt

72 - 78 84 - 90

Buttons zum Aufrufen der Screenshots der Webcam-bilder 1 und 2

Button 2 auskommentiert weil nicht benoumltigt

91 - 95 Zeile der Tabelle zum Eintragen von Informationen die sich auf die Webcambilder oder den Versuch beziehen

Text in Zeile der Tabelle geschrieben

Tab 12 Funktionen der Codeabschnitte in der Datei videohtm und Anpassung der Vor-lage an das RCL Elektronenbeugung

53

44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung Im Folgenden wird die Installation und Konfiguration des AVR-Studios 418 und der Bascom 11198 Demoversion beschrieben Alle Anleitungen sind zeilenweise von links nach rechts zu lesen

441 AVR-Studio 418 4411 Installation Auf der Webseite von ATMEL Register AVR Studio 418 (build 684) anklicken und Registrie-rungsformular ausfuumlllen Danach die Datei AvrStudio418Setup herunterladen Durch Dop-pelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen Next waumlhlen

I accept hellip und Next waumlhlen Installationsordner und Next waumlhlen

54

Installupgrade hellip und Next waumlhlen Install waumlhlen Die Installation beginnt

Finish waumlhlen

4412 Konfiguration AVR Studio 418 in Windows XP Professional unter StartProgramme aufrufen

Startfenster mit Cancel schlieszligen Unter ToolsProgram AVR Auto Connect waumlhlen

55

Im eingeblendeten Fenster auf der Registerkarte Main als Device ATmega16 und als Programming Mode ISP mo-de waumlhlen

Optional kann Signatur gelesen werden

In der Registerkarte Fuses alle Haumlkchen und Auswahlfel-der wie angegeben waumlhlen

Dann Program waumlhlen

442 BASCOM 11198 Demoversion 4421 Installation Auf der Webseite von Bascom unter Bascom AVR Demo die Zip-Datei setupdemoexe her-untergeladen Durch Doppelklick auf den Dateinamen die Installation starten

Next waumlhlen I accept the agreement und Next waumlhlen

56

Next waumlhlen Installationsordner eingeben und Next waumlhlen

Eintrag im Start-Menuuml eingeben und Next waumlhlen Next waumlhlen

Yes restart the computer now und Finish waumlhlen

57

4422 Konfiguration Bascom AVR in Windows XP Professional unter StartProgramme zum Einstellen der Para-meter des Mikrocontrollers und des Terminals aufrufen

OptionsCompilerChip waumlhlen Einstellungen wie im Bild vornehmen und OK waumlhlen

Auf der Registerkarte Communications Einstellungen wie im Bild vornehmen und OK waumlhlen

Unter OptionsCommunication Einstellungen wie im Bild

vornehmen und OK waumlhlen FileNew waumlhlen Unter ToolsTerminal emulator das Terminal aufrufen und

eingeben Die Befehlsliste des RCLs Elektronenbeu-gung wird angezeigt

45 Installation und Konfiguration von Programmen auf dem RCL-Server Im Folgenden wird der Download die Installation und die Konfiguration von Programmen auf dem RCL-Server unter Windows XP Professional beschrieben Alle Anleitungen sind zeilen-weise von links nach rechts zu lesen Die Installation der Programme sollte in der angegebe-nen Reihenfolge erfolgen

58

451 Einrichten des Internet-Zugangs LAN-Verbindung unter StartSystemsteuerungNetzwerkverbindungen aufrufen

Internetprotokoll (TCPIP) und Eigenschaften waumlhlen Folgende IP-Adresse verwenden waumlhlen IP-Adressen ein-

geben und OK waumlhlen

452 Paket XAMPP 174 Unter apache friends - xampp fuumlr windows und XAMPP Windows 174 Installer anklicken und Datei xampp-win32-174-VC6-installerexe speichern Durch Doppelklick auf die Datei die Installation starten

Sprache und Ok waumlhlen Ok waumlhlen

59

Weiter waumlhlen Zielverzeichnis mit Durchsuchen waumlhlen oder eingeben

Apache nicht als Dienst installieren Fertig stellen waumlhlen

Ja waumlhlen Zum Starten des Apache Webservers das Control Panel

unter StartProgrammeXAMPP 173 for Windows mit Start starten Anstelle von Start erscheint Running

Zum Beenden des Apache Webservers Stop waumlhlen Zum Beenden des Control Panels Exit waumlhlen

60

453 Videoserver webcamXP 5 Private Auf der Webseite von Moonware Studios unter webcamXP 55xx die Datei wlite550 herun-terladen Durch Doppelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen I Agree waumlhlen

Next waumlhlen Auszliger webcamXP 5 brauchen keine weiteren Komponen-

ten installiert zu werden

Den vorgeschlagenen Ordner und Install waumlhlen Finish waumlhlen

61

WebcamXP unter StartProgramme aufrufen Zugesandte

Lizenz-Daten in das eingeblendete Fenster eingeben und Register waumlhlen

Beim Starten des Programms stellt webcamXP automa-tisch eine Verbindung zu den am Computer angeschlosse-nen Webcams her

Nach dem Start ist Uumlberwachen gewaumlhlt Durch Rechts-klick mit der Maus auf das Videofenster wird zu jeder Vi-deoquelle ein Kontextmenuuml angezeigt Wird kein Videobild dargestellt das Kontextmenuuml aufrufen Art der Videoquelle waumlhlen (hier USB) und unter den erkannten Videoquellen (hier USB-Videogeraumlt) die gewuumlnschte waumlhlen

Das Videoformat muss fuumlr eine passende Darstellung auf

der Laborseite auf 320 x 240 eingestellt sein Ist das nicht der Fall im Kontextmenuuml unter Video Format einstellen

In gleicher Weise kann eine zweite Videoquelle hinzugefuumlgt werden

In der Registerkarte Web Broadcast kann unter

Broadcast (HTTP) der Videoserver mit Ausschalten ge-stoppt und mit Aktivieren gestartet werden

Zur Zielwahl des Webservers (131246237167 - Internet D16W3X3J - Computer 127001 - Local Host) Videoser-ver stoppen und einstellen Videoserver wieder starten

62

454 Terminalprogramm Hyperterminal Hyperterminal in Windows XP Professional unter StartProgrammeZubehoumlrKommunikation aufrufen

Name der neuen Verbindung - z B Interface - eingeben

und OK waumlhlen Die Verbindung zwischen Computer und Interface wurde

uumlber einen USB-Seriell-Adapter hergestellt Dann erschei-nen zwei zusaumltzliche Eintraumlge (Motorola Comp Modem und COM5) in der Liste Prinzipiell muss eine COMx-Verbindung gewaumlhlt werden

Eigenschaften von COM 5 wie im Bild einstellen und OK

waumlhlen DateiEigenschaften aufrufen und ASCII-Konfiguration

waumlhlen

63

Haken bei Eingegebene Zeichen lokal ausgeben (lokales

Echo) setzen um eingegebenen Zeichen im Hyperterminal zu sehen

Bei funktionsfaumlhiger Verbindung erscheint nach Eingabe von Return die Befehlsliste des Interface

Durch Aufrufen von DateiSpeichern die erstellte Verbin-

dung z B auf dem Desktop speichern Dadurch braucht die Verbindung nicht immer wieder von neuem konfiguriert wer-den

Nach Aufrufen von DateiBeenden die bestehende Verbin-dung mit Ja beenden

64

Wurde ein falscher COM-Port gewaumlhlt reagiert das Inter-

face auf die Eingabe Return nicht Hyperterminal dann beenden

Der COM-Port kann dann nicht unter DateiEigenschaften im Hyperterminal aber unter Eigenschaften des Kontext-menuumls der Datei Interfaceht in der Registerkarte Verbin-den mit geaumlndert werden Dann OK waumlhlen und erneut Verbindung testen

65

455 Fernwartungssoftware TeamViewer 6 Host Auf der Webseite von Teamviewer GmbH unter Fuumlr unbeaufsichtigte Server TeamViewer Vollversion die Datei TeamViewer_Setup-wq herunterladen Das Programm muss auf dem RCL-Server und dem Computer der auf den RCL-Server zugreifen soll installiert werden Durch Doppelklick auf die Datei die Installation starten

Ausfuumlhren waumlhlen Weiter waumlhlen

Fuumlr die private nicht kommerzielle Nutzung ist Teamviewer kostenlos

privat nicht-kommerziell und Weiter waumlhlen

Beide Haumlkchen setzen und Weiter waumlhlen

66

Ja un Weiter waumlhlen Weiter

Computername und Kennwort fuumlr den Zugriff auf den RCL-Server oder den eigenen Computer vergeben Kenn wort notie-ren

Ein Teamviewerkonto ist nicht erforderlich Kann auch spaumlter noch eingerichtet werden

ID fuumlr den Computer auf dem das Programm installiert wird fuumlr Zugriff notieren

Das Programm wird gestartet Standardmaumlszligig vorein-gestellt ist der Start des Programms beim Start des Be-trienssystems

67

46 Selbstbau eines elementaren RCLs 461 Hard- und Software Auch ohne gleich ein vielleicht teures physikalisches Experiment zu steuern laumlsst sich mit wenigen Bauelementen ein elementares RCL realisieren Von einer Webseite im Internet sol-len eine Leuchtdiode (LED) ein- oder ausgeschaltet sowie der Zustand der Leuchtdiode und eines Tasters abgefragt werden An Hard- und Software werden benoumltigt

1 Low-Current-LED 5 mm 2 mA 1 Widerstand 18 kΩ 1 Taster und optional zwei 10-polige Wannenstecker mit ungefaumlhr 10 cm passendem Flachbandkabel und Buchsen

Interface in Basisschaltung Null-Modem-Kabel 12 V DC Steckernetzteil (larr 1)

Installierte Bascom-Demo-Version (larr 42)

AVR ISP-Programmer mit 10-poligem Programmierkabel

Installiertes und konfiguriertes AVR Studio 418 (larr 41)

Installiertes Paket XAMPP (larr 52)

Texteditor wie z B Notepad in Windows XP Professional

Konfigurierte Hyperterminalverbindung (larr 54)

462 Bestuumlckung der Platine Abb 29 zeigt zur Orientierung fuumlr das Einloumlten der Bauelemente die fertig bestuumlckte Platine des Interface

Abb 29 Mit elementarem RCL bestuumlckte Platine

des Interface

LED mit Vorwiderstand und der Taster sind rechts neben dem Mikrocontroller im Lochraster-bereich aufgebaut und uumlber Wannenstecker und Flachbandkabel mit dem Port A des Mikro-controllers verbunden (die drei Bauteile rechts neben dem ATmega16 werden nicht benouml-tigt) Tab 13 erlaumlutert die Schritte zur Bestuumlckung der Platine des Interface

68

Nr Schaltung Erlaumluterung

1

Die Leuchtdiode (LED) mit dem Pluspol (langes Beinchen) an PortA0 (PIN40 oben rechts) des Mikrocontrollers anloumlten

An das kurze Beinchen einen 18kΩ Widerstand loumlten dessen anderes Ende mit der Masse (GND) verbinden

2

Den Taster mit PortA1 (PIN39 = 2 Beinchen von oben rechts) und Masse (GND) verbinden

3

Draufsicht

Belegung des 10-poligen Wannensteckers 1 GND (Masse) im Foto oben links 2 +5 V 3 PortA0 4 PortA1 10 PortA7 im Foto unten rechts

Tab 13 Schritte zum Aufbau des elementaren RCLs

463 Lokal gesteuertes RCL Nachfolgend ist der Basic-Programmcode des Mikrocontrollers zur Steuerung und Abfrage der LED und des Tasters angegeben 01 $regfile = m16DEFdat Microcontroller ATmega16 02 $crystal = 11059200 110592MHz Quarz 03 $baud = 9600 Baudrate 04 05 ---[ Variables ]--------------------------------------------------------------- 06 Dim Rs232kommando As String 10 erst Befehlspuffer dann Kommando 07 Dim Parameter As String 10 Parameter 08 Dim Str_pos As Byte Position von Leerzeichen zur Trennung von Kommando und Pa-rameter 09 10 ---[ Initialisierung ]--------------------------------------------------------- 11 Ddra0 = 1 PortA0 als Ausgang fuumlr LED 12 Porta0 = 0 LED aus 13 Ddra1 = 0 PortA1 als Eingang fuumlr Taster 14 Porta1 = 1 Pull-Up aktivieren 15 16 ---[ Main program loop ]------------------------------------------------------- 17 Do Start der Endlos-Schleife 18 19 If Ischarwaiting() = 1 Then Zeichen uumlber RS232 empfangen 20 Input Rs232kommando neues Kommando lesen 21 Parameter = Parameter initialisieren 22 Str_pos = Instr(rs232kommando ) Leerzeichen im Kommando suchen 23 If Str_pos gt 0 Then falls Leerzeichen dann in Kommando+Parameter zerlegen 24 Incr Str_pos Str_pos soll jetzt auf 1Zeichen des Parameters zeigen 25 Parameter = Mid(rs232kommando Str_pos ) Parameter = Teilstring nach Leerzeichen 26 Parameter = Ucase(parameter) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 27 Str_pos = Str_pos - 2 Str_pos soll jetzt auf letztes Zeichen des Kommandos zeigen 28 Rs232kommando = Left(rs232kommando Str_pos)Kommando = Teilstring vor Leerzeichen 29 Rs232kommando = Ucase(rs232kommando) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 30 End If 31 32 Select Case Rs232kommando Eventhandler Interpretation der Kommandos 33 Case Print Hilfe Hilfeseite anzeigen 34 Print LED on - LED einschalten 35 Print LED off - LED ausschalten 36 Print LED - zeigt Status der LED an 37 Print SW - zeigt Status des Schalters an 38

1K8

LED rotmicroC PortA0(PIN40)

Taster

microC PortA1(PIN39)

1

3

2

69

39 Case LED If Parameter = ON Then LED schalten 40 Porta0 = 1 41 End If 42 If Parameter = OFF Then 43 Porta0 = 0 44 End If 45 46 Case LED If Porta0 = 0 Then Status der LED ausgeben 47 Print LED aus 48 Else 49 Print LED an 50 End If 51 52 Case SW If Pina1 = 1 Then Status des Schalters ausgeben 53 Print Taster offen 54 Else 55 Print Taster geschlossen 56 End If 57 58 Case Else Print gt Rs232kommando lt ungueltiger Befehl - weitere Infos mit Info bei unguumlltigen Eingaben 59 End Select 60 61 End If 62 63 Loop Endlos-Schleife Springe zu Do 64 65 End wird nie erreicht

Der erste Teil des Programms (Zeilen 1 - 15) enthaumllt die Systemparameter Variablen und Initialisierung der Ein- und Ausgaumlnge Der zweite Teil enthaumllt ab Zeile 17 das Hauptpro-gramm in dem Benutzereingaben uumlber die serielle Schnittstelle empfangen interpretiert und in entsprechende Anweisungen umgesetzt werden Tab 14 erlaumlutert den Programmcode de-taillierter

Zeilen Erlaumluterung

1 - 3 Diese Angaben teilen dem Compiler (Bascom) mit welcher Prozessor eingesetzt wird wie schnell dieser getaktet (Quarz) ist und mit welcher Uumlbertragungsgeschwindigkeit die Kommunikation uumlber die serielle Schnittstelle (RS232) mit dem PC erfolgen soll

6 - 8 Es werden drei Variablen genutzt Die Eingabe uumlber die serielle Schnittstelle wird in rs232kommando gespeichert Es wird ein Text der Form Kommando ltLeerzeichengt Parameter erwartet so dass die Variable Parameter den-selbigen aufnimmt Die Variable str_pos wird fuumlr die Trennung von Kommando und Parameter benoumltigt

11 - 14

Mit dem Befehl ddrPX (ddr = data direction) wird festgelegt ob ein Beinchen als Ausgang (=1) oder als Eingang (=0) arbeiten soll Der ATmega16 besitzt 32 Ein-Ausgaumlnge die in vier Ports (P=AD) zu je 8 Pins (X=07) unterteilt sind ddrA0 = 1 legt also das 1 Beinchen (Pin 0) von PortA als Ausgang (=1) fest Mit dem Befehl PortA0 =1 kann dieser Pin dann durch Zuweisen von 1 oder 0 an- bzw ausgeschaltet werden Im Datenblatt erfahren Sie welches der 40 Beinchen des Mikrocontrollers wie bezeichnet wird (Pin-Belegung) Wird ein Beinchen als Eingang verwendet (ddrA1 = 0) koumlnnen Sie optional einen so genannten Pull-Up-Widerstand aktivieren (PortA1=1) oder deaktivieren (PortA1=0) Auch hierzu sollten Sie sich unbedingt mit dem Datenblatt vertraut machen

17 63 Das Hauptprogramm besteht aus einer Endlosschleife d h der Mikrocontroller verrichtet ununterbrochen seinen Job so lange er mit Strom versorgt wird

19 - 30 Falls ein Zeichen uumlber die serielle Schnittstelle empfangen wurde wird dieses und alle folgenden gelesen Anschlie-szligend wird gepruumlft ob der empfangene Text von der Form Kommando ltLeerzeichengt Parameter ist so dass er ge-gebenenfalls in ein Kommando und einen Parameter zerlegt werden kann

32 - 59 Dieser Abschnitt wird mit Event-Handler bezeichnet Hier wird auf die Kommandos (Events) reagiert und die ent-sprechenden Schritte ausgefuumlhrt zB schalten LED je nach Wert der Variablen Parameter an- bzw ausschalten

46 52

In beiden Zeilen wird ein Wert eines Ports abgefragt Unterschiedlich ist dass in Zeile 46 der Status eines Ausgangs abgefragt wird (porta0) und in Zeile 52 der Zustand eines Eingangs (pina0) Die Anweisung IF porta0 = 0 THEN pruumlft (hier ist = ein Vergleich und KEINE Zuweisung) ob zuletzt die LED ausgeschaltet (Zuweisung porta0 = 0) wurde Die Anweisung IF pina1= 1 THEN liest den Status eines Eingangs Hier kann festgestellt werden ob der Eingang uumlber den internen Pull-UP-Widerstand auf +5V liegt (pina1 liefert 1) oder ob der Schalter den Eingang mit Masse (0V) verbindet (pina1 liefert 0)

Tab 14 Erlaumluterung des Mikrocontroller-Programmcodes fuumlr elementares RCL

70

In Bascom AVR eine neue Datei erzeugen (FileNew) den Programmcode ohne Kommenta-re eingeben und mit ProgramCompile (F7) eine Hexadezimaldatei erzeugen Die Hexadezi-maldatei mit dem AVR-Studio und dem AVR-ISP-Programmer in den Mikrocontroller schrei-ben (larr 222 Programmuumlbertragung) Nach dem Verbinden von Computer und Interface per Null-Modem-Kabel kann durch Eingabe von in das konfigurierte Hyperterminal die Befehls-liste in Abb 30 aufgerufen werden

Abb 30 Aufgerufene Befehlsliste im Hyperterminal

Durch Eingabe von LED on oder LED off kann die LED ein- und ausgeschaltet LED zeigt den Status der LED und sw den Status des Tasters an Alternativ zum Hyperterminal kann auch das Terminal in BASCOM unter ToolsTerminal Emulator verwendet werden (larr 422)

464 Ferngesteuertes RCL Zum Ansteuern des Interfaces und zum Bedienen des Versuchsaufbaus uumlber das Internet wird eine Webseite benoumltigt die dem Benutzer alle Bedienelemente des Experiments zur Verfuumlgung stellt

Der Benutzer benoumltigt anklickbare Buttons im Webbrowser

Der Webserver muss die Information welcher Button gedruumlckt wurde empfangen und ein entsprechendes Kommando uumlber die serielle Schnittstelle an das Interface senden

Beide Schritte sind im nachfolgenden PHPHTML-Quellcode zusammengefasst 01 ltDOCTYPE HTML PUBLIC -W3CDTD HTML 401 TransitionalEN httpwwww3orgTRhtml4loosedtdgt 02 lthtmlgt 03 ltheadgt 04 ltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1gt 05 lttitlegtelementares RCLlttitlegt 06 ltheadgt 07 08 ltbodygt 09 ltphp 10 if (isset($_POST[Kommando])) wurde bereits Kommando gesendet 11 if( ( $handle = fopen( COM1 w+ ) ) ) Schnittstelle oumlffnen 12

71

13 throw new Exception( Can not access serial port 2 ) ohne Erfolg 14 15 fwrite( $handle $_POST[Kommando] chr( 13 ) ) Befehl an Interface senden 16 switch ( $_POST[Kommando] ) Antwort von Interface auswerten 17 case LED $tmp = fgets( $handle ) Echo von Interface ignorieren 18 $antwort = fgets( $handle ) Antwort des Interfaces 19 echo Antwort $antwort Ausgabe auf Webseite 20 break switch verlassen 21 22 case SW $tmp = fgets( $handle ) Echo von Interface ignorieren 23 $antwort = fgets( $handle ) Antwort des Interfaces 24 echo Antwort $antwort Ausgabe auf Webseite 25 break switch verlassen 26 27 28 29 fclose( $handle ) Schnittstelle schlieszligen 30 31 else 32 `mode com1 BAUD=9600 PARITY=N data=8 stop=1 xon=off` Schnittstellenparameter setzen 33 34 35 gt 36 37 lth3gtBefehl sendenlth3gt 38 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 39 ltinput type=hidden name=Kommando value=LED ON gt 40 ltinput type=submit value=LED anschalten gt 41 ltformgt 42 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 43 ltinput type=hidden name=Kommando value=LED OFF gt 44 ltinput type=submit value=LED ausschalten gt 45 ltformgt 46 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 47 ltinput type=hidden name=Kommando value=LED gt 48 ltinput type=submit value=LED abfragen gt 49 ltformgt 50 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 51 ltinput type=hidden name=Kommando value=SW gt 52 ltinput type=submit value=Taster abfragen gt 53 ltformgt 54 ltbodygt 55 lthtmlgt Den Quellcode in den Texteditor kopieren und im Ordner htdocs von XAMPP z B unter rclphp speichern HTML-Dateien mit PHP-Code (Zeilen 9-35) muumlssen mit der Erweiterung php gespeichert werden damit der Apache Webserver zwischen HTML-Seiten mit und ohne PHP-Code unterscheiden kann Den installierten Apache Webserver starten (larr 452) und im Adressfeld des Webbrowsers die IP-Adresse http127001rclphp aufrufen Das Bedi-enfeld des elementaren RCLs in Abb 31 wird im Browserfenster angezeigt

72

Abb 31 Laborseite des elementaren RCLs

Im Bedienfeld kann die LED an- und ausgeschaltet sowie der Status von LED und Taster abgefragt werden

  • 0 Warum ein Tutorial zur RCL-Technik
  • 1 Technische Konzeption
    • 11 Einfuumlhrung
    • 12 Wahl der RCL-Technik
      • 2 Lokal gesteuertes RCL
        • 21 Interface
          • 211 Mikrocontroller
          • 212 Basisschaltung und Erweiterungsschaltungen
          • 213 Programmierung des Mikrocontrollers
            • 22 Hyperterminal
            • 23 Positionieren von Objekten
              • 231 Hybrid-Schrittmotoren
              • 232 Schrittmotorsteuerung und Positionierungsmechanik
                  • 3 Ferngesteuertes RCL
                    • 31 RCL-Server
                    • 32 Laborseite
                      • 321 Steuerung des RCLs uumlber das Bedienfeld
                      • 322 Videouumlbertragung im Webcamfeld
                        • 33 Standard-Lernumgebung
                          • 4 ANHANG
                            • 41 Interface in Basisschaltung
                              • 411 Schaltplan und Bauteilliste
                              • 412 Bestuumlckung der Platine
                                • 42 Erweiterungsschaltungen
                                  • 421 Uumlbersicht
                                  • 422 TMC222-Modul zur Schrittmotorsteuerung
                                    • 4221 Schaltplan und Bauteilliste
                                    • 4222 Bestuumlckung der Platine
                                    • 4223 Quellcode des Mikrocontroller-Programms
                                      • 423 Geschaltete Spannungsquellen und Verbraucher
                                      • 424 Steuerung von Gleichstrommotoren
                                        • 43 Quellcodes zum RCL Elektronenbeugung
                                          • 431 Mikrocontroller-Programmierung
                                          • 432 PHP-Programmierung
                                          • 433 Bedienfeld der Laborseite
                                          • 434 Webcamfeld der Laborseite
                                            • 44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung
                                              • 441 AVR-Studio 418
                                                • 4411 Installation
                                                • 4412 Konfiguration
                                                  • 442 BASCOM 11198 Demoversion
                                                    • 4421 Installation
                                                    • 4422 Konfiguration
                                                        • 45 Installation und Konfiguration von Programmen auf dem RCL-Server
                                                          • 451 Einrichten des Internet-Zugangs
                                                          • 452 Paket XAMPP 174
                                                          • 453 Videoserver webcamXP 5 Private
                                                          • 454 Terminalprogramm Hyperterminal
                                                          • 455 Fernwartungssoftware TeamViewer 6 Host
                                                            • 46 Selbstbau eines elementaren RCLs
                                                              • 461 Hard- und Software
                                                              • 462 Bestuumlckung der Platine
                                                              • 463 Lokal gesteuertes RCL
                                                              • 464 Ferngesteuertes RCL

16

Basisschaltung Die Spannungsversorgung (1) des Interface erfolgt uumlber ein Universal-Steckernetzteil mit der Betriebsspannung Ub = 12 V Eine Diode SB140 schuumltzt die Elektronik des Interface vor falscher Polung der Spannungsversorgung Der Spannungsregler L7805 wandelt die Betriebsspannung am Hohlstecker in eine Gleichspannung von 5 V fuumlr die Spannungs-versorgung der elektronischen Bauelemente des Interface um Die Betriebsspannung kann im Interface auch direkt zur Ansteuerung von Relais oder zur Spannungsversorgung kleinerer Motoren verwendet werden Bei Bedarf kann unter Beachtung der Kuumlhlung des L7805 das Interface mit houmlheren Betriebsspannungen z B fuumlr staumlrkere Schrittmotoren betrieben werden Die nicht hinreichend stabile und temperaturabhaumlngige Frequenz des internen RC-Oszillators im Mikrocontroller (2) kann bei Verwendung der USART zu Problemen fuumlhren Daher wird ein externer 110592 MHz Schwingquarz (3) eingesetzt Der IC MAX232 ist ein Pegelwandler der die 0V+5 V-Signale der seriellen Schnittstelle (4) des Mikrocontrol-lers an die plusmn12 V-Signale der seriellen Schnittstelle des Computers anpasst Uumlber den ISP-Stecker kann der Mikrocontroller programmiert werden (5) Das Interface in der Ba-sisschaltung kann im Selbstbau angefertigt werden (rarr 41)

Erweiterungsschaltungen Nur die wenigsten Aktoren Sensoren gesteuerte Geraumlte und Bauelemente eines RCLs lassen sich direkt vom Mikrocontroller ansteuern Beim RCL Elektronenbeugung wird die Heizspannung der Elektronenkanone mit einem Relais zum Schalten der Netzspannung des Hochspannungsnetzgeraumltes ein- und ausgeschaltet (6) Liefert der Mikrocontroller am Port PA0 die Spannung 5 V (high) so wird die Kollektor-Emitter-Strecke des Transistors BC 337 niederohmig fast die gesamte Betriebsspannung Ub = 12 V faumlllt uumlber dem Relais ab und es flieszligt ein Strom durch das Relais Die Diode 1N4001 schuumltzt den Transistor vor Induktionsspannungsspitzen beim Ein- und Ausschalten der Spule im Relais Am Steuereingang des Hochspannungsnetzgeraumlts kann durch Anlegen einer Steuer-spannung US zwischen 0 V und 5 V die Beschleunigungsspannung der Elektronenkanone zwischen 0 und 43 kV im belasteten Zustand bei eingeschalteter Gluumlhkathode variiert werden Die analoge Steuerspannung US erzeugt ein 8-bit Digital-Analog-Wandler PCF8591 der uumlber den I2C-Bus des Mikrocontrollers (Ports PC0 und PC1) mit Binaumlr-codes zwischen 0 und 255 angesteuert wird (7) Die Ausgangsspannung des DA-Wandlers liegt in 256 Stufen zwischen 370 mV und 497 V Dieser Schaltung wurde der Vorzug gegenuumlber der Erzeugung einer Steuerspannung mit Hilfe eines der Pulsweiten-modulationsausgaumlnge des Mikrocontrollers gegeben weil der Programmieraufwand ge-ringer und die Steuerspannung keine Restwelligkeit aufweist

Eine Uumlbersicht zu Erweiterungsschaltungen fuumlr Sensoren und Aktoren (rarr 421) zeigt die Anpassungsfaumlhigkeit des Interface an die unterschiedlichsten Experimente

17

213 Programmierung des Mikrocontrollers Im Folgenden wird die Programmstruktur des Mikrocontroller-Programms und die Uumlbertra-gung des Programmcodes in den Mikrocontroller beschrieben

Programmstruktur Der Mikrocontroller ist mit einem Programm (Firmware) ausgestattet um die Aufgaben des Interfaces abzuarbeiten Hierzu zaumlhlen im Wesentlichen Programmteile zur Kommu-nikation mit dem RCL-Server und zur Steuerung des Experiments da das Interface eine Schnittstelle zwischen Experiment und RCL-Server darstellt Weitere Programmteile sind beispielsweise zur Initialisierung des Versuchsaufbaus und der Steuerparameter sowie zur Konfiguration des Interfaces realisiert Abb 7 zeigt ein Flussdiagramm der Programm-teile zur Kommunikation mit dem RCL-Server und zur Steuerung des Experiments

Abb 7 Flussdiagramm der Programmierung des Mikrocontrollers

Der Programmteil zur Kommunikation mit dem RCL-Server besteht im Wesentlichen aus einer Schleife die unablaumlssig auf Steuerzeichen des RCL-Servers wartet diese gegebe-nenfalls empfaumlngt und auswertet Soll mittels eines empfangenen Steuerzeichens der Versuchsaufbau angesteuert werden wird vom Kommunikations-Programmteil eine ent-sprechende Anweisung fuumlr den Steuerungs-Programmteil generiert In der Schleife wer-den auch Antworten wie z B Messergebnisse des Steuerungs-Programmteils entgegen-genommen und an den RCL-Server ausgegeben Der Kommunikations-Programmteil kann Kommandos mit und ohne Parameter entgegen-nehmen und verarbeiten So lassen sich einfache Befehle wie Start und Stopp eines Mo-tors aber auch speziellere Anweisungen wie Messe uumlber den Bereich von a nach b mit einer Schrittweite c ausfuumlhren Auch Messergebnisse oder Statusinformationen in Form einzelner Daten wie Zahlen oder Listen koumlnnen vom Kommunikations-Programmteil an den RCL-Server uumlbertragen werden Ferner uumlbernimmt der Kommunikations-Programmteil auch den Austausch von Konfigurationsdaten fuumlr das Interface beispiels-

18

weise Motorparameter oder Zeitvorgaben fuumlr eine Standby-Funktion Schlieszliglich gibt der Kommunikations-Programmteil auch Fehlermeldungen an den RCL-Server aus etwa bei einem Fehlerzustand im Experiment oder bei fehlerhaften Anweisungen des Besuchers bzw des RCL-Servers Im Programmteil zur Steuerung des Experiments erfolgt die Ansteuerung von Aktoren und das Auslesen von Sensoren mittels elektronischer Aus- und Eingaumlnge (Ports) des Mikro-controllers Gegebenenfalls sind zwischen den Ports des Mikrocontrollers und dem Expe-riment Erweiterungsschaltungen erforderlich (larr 212 Erweiterungsschaltungen) Der Steuerungs-Programmteil ist als Interrupt-Routine implementiert Interne Zeitgeber des Mikrocontrollers rufen den Programmteil zyklisch z B alle 1 oder 10 Millisekunden auf wobei die zuvor beschriebene Schleife des Kommunikations-Programmteils kurzzeitig fuumlr die Abarbeitung des Steuerungs-Programmteils unterbrochen wird Hierdurch wird die Steuerung als Real-Time-Prozess12 ausgefuumlhrt und es koumlnnen insbesondere zeitkritische Steueraufgaben mit einer Aufloumlsung von ungefaumlhr 1 - 10 ms zuverlaumlssig erledigt werden Ferner ist im Mikrocontroller und dem Programm ein sogenannter Watchdog installiert der das Programm bei einem Programmabsturz automatisch neu startet Der Watchdog als elektronische Baugruppe im Mikrocontroller fuumlhrt einen Neustart des Mikrocontrollers (Reset) durch sofern er nicht mehr uumlber das Programm in vorgegebenen Zeitintervallen angesteuert wird Je nach RCL gibt es noch weitere Interrupt-Routinen die unabhaumlngig vom Zeittakt des Mikrocontrollers auf externe Ereignisse wie z B Ausgangsspannungsaumlnderungen eines Sensors reagieren Damit kann besonders schnell auf Erfordernisse des Experiments re-agiert oder es koumlnnen Zeitmessungen mit einer Genauigkeit von ungefaumlhr 10-6 s durchge-fuumlhrt werden Im Anhang (rarr 431) ist der Pascal-Quellcode fuumlr den Mikrocontroller des RCLs Elektronenbeugung verfuumlgbar

Programmuumlbertragung Nach der Kompilierung des Assembler- Basic- C+- C++- oder Pascal-Programms liegt eine Hexadezimaldatei vor die vom Computer in den Mikrocontroller uumlbertragen werden muss (Flashen des Programms) Zur Programmuumlbertragung muss das AVR-Studio instal-liert und konfiguriert sein (rarr 441) Abb 8 zeigt wie die Programmuumlbertragung durchge-fuumlhrt wird

12 Real-Time bedeutet hier dass die maximale Dauer eines Vorgangs vorhersehbar und gewaumlhrleistet ist dass eine Steuer-

aufgabe nach einer vorhersehbaren Zeit abgeschlossen ist

19

Abb 8 Programmuumlbertragung zwischen Computer und Mikrocontroller im Inter-

face des RCLs Elektronenbeugung uumlber USB-Seriell-Adapter und ISP-Programmer

Das Interface braucht nicht mit dem Experiment verbunden zu sein Auch Erweiterungs-schaltungen innerhalb oder auszligerhalb des Interface muumlssen nicht mit dem Mikrocontroller verbunden sein Das Interface ermoumlglicht uumlber die ISP-Schnittstelle die Programmierung mit einem preisguumlnstigen ISP-Programmer ohne ein teureres Experimentierboard13 Zur Uumlbertragung des Programms muss in folgenden Schritten vorgegangen werden

(1) Spannungsversorgung des Interface zur Sicherheit unterbrechen weil beim Verbinden mehrpoliger Steckerverbindungen es zu Kurzschluumlssen kommen kann

(2) 10-poligen ISP-Stecker des ISP-Programmers an die ISP-Schnittstelle des Interface anschlieszligen

(3) ISP-Programmer an die serielle Schnittstelle oder uumlber USB-Seriell-Adapter an die USB-Schnittstelle des Computers anschlieszligen

(4) Spannungsversorgung des Interface wieder herstellen

(5) AVR-Studio unter StartProgramme aufrufen und nach Abb 9 in der Registerkarte Program unter Flash die zu uumlbertragende Hexadezimal-Datei z B Elektronenbeu-gunghex auf der Festplatte auswaumlhlen und Program waumlhlen

13 Vgl ATMEL STK 500 Entwicklerkit bei Reichelt Elektronik

20

Abb 9 Uumlbertragung der Hexadezimaldatei Elekt-

ronenbeugunghex in den Mikrocontroller

(6) Spannungsversorgung des Interface unterbrechen ISP-Programmer vom Interface trennen AVR-Studio beenden und den ISP-Programmer vom Computer trennen

22 Hyperterminal Nach der Programmuumlbertragung kann das Experiment uumlber das konfigurierte Hyperterminal (rarr 454) lokal gesteuert werden Mit dem Hyperterminal koumlnnen als Text eingegebene Be-fehle oder Abfragen an den Mikrocontroller gesendet oder von diesem empfangen werden Der Computer muss wie bei der Programmuumlbertragung mit dem Interface per Null-Modem-Kabel uumlber die serielle Schnittstelle oder einen USB-Seriell-Adapter verbunden sein Das In-terface muss an die Versorgungsspannung anschlossen sein braucht aber nicht mit dem Experiment verbunden zu sein Abb 10 zeigt nach Eingabe von und von param im Hyper-terminal die Befehlsliste des Mikrocontrollers fuumlr das RCL Elektronenbeugung

21

Abb 10 Befehlsliste des Mikrocontrollers im Hyperterminal fuumlr das RCL Elektronenbeugung

Tab 4 gibt Erlaumluterungen zur Befehlsliste

BefehlAbfrage Erlaumluterung

DA x Am Eingang des DA-Wandlers wird die Zahl x (0 - 255) im Binaumlrcode

angelegt und die Ausgangsspannung des Hochspannungsnetzgeraumlts bzw die Beschleunigungsspannung der Elektronenkanone eingestellt

OnOff Hochspannungsnetzgeraumlt und Gluumlhkathode der Elektronenkanone ein-

oder ausschalten Beim Einschalten wird die Steuerspannung des Inter-face am Hochspannungsnetzgeraumlt auf asymp 0 V einstellt

Standby Ausgabe der eingestellten Standbyzeit von 300 s setSB x Standbyzeit einstellen

next Standby in Ausgabe der verbleibenden Standbyzeit (254 s) bis das Experiment

ausgeschaltet wird Eine negative Standbyzeit gibt die Zeit seit dem Ab-lauf der Standbyzeit an

Power On Delay Ausgabe der Verzoumlgerungszeit (2 s) bis das Hochspannungsnetzge-

raumltElektronenbeugungsroumlhre nach dem Ausschalten oder nach Ablauf der Standbyzeit erneut eingeschaltet werden kann

setPOD x Verzoumlgerungszeit einstellen

power on enabled in Ausgabe wie lange Hochspannungsnetzgeraumlt nicht eingeschaltet wer-

den kann Zeiten unter 0 bedeuten dass Power-On-Delay-Zeit ablaufen ist

Tab 4 Erlaumluterung der Befehle in Abb 10

23 Positionieren von Objekten In fast allen RCLs des RCL-Portals auszliger den RCLs Elektronenbeugung und Oszilloskop muumlssen Objekte rotatorisch oder translatorisch positioniert werden Eingesetzt werden Hyb-rid-Schrittmotoren als Aktoren eine Schrittmotorsteuerung von Trinamic als Erweiterungs-schaltung (TMC222-Modul) die Positionierungseinheit ausgedienter Flachbrett-Scanner und ein Referenz-Taster als Sensor

231 Hybrid-Schrittmotoren Abb 11 zeigt den vereinfachten schematischen Aufbau eines zweiphasigen Schrittmotors mit getrennten magnetischen Kreisen des Stators und einem permanent magnetisierten zweipoligen Rotor (Polpaarzahl 1)

22

Abb 11 Funktionsprinzip von Schrittmotoren Unipolare (links) und bipolare Schaltung (rechts)

von Schrittmotoren mit Bestromungstabellen fuumlr Voll- und Halbschrittbetrieb Darge-stellt ist der Schritt 0

Der Rotor verfuumlgt bei der dargestellten Polreihenfolge S-S-N-N des Stators uumlber eine stabile Stellung bei einer hypothetischen (magnetische Monopole) Polreihenfolge N-S-N-S gaumlbe es mit diesem Aufbau des Stators nur instabile Stellungen des Rotors Um den Rotor in Bewe-gung zu setzen muss die Polreihenfolge S-S-N-N im oder entgegen den Uhrzeigersinn (Rechts- oder Linksdrehung) weitergeschaltet und der Rotor vom magnetischen Schrittfeld mitgenommen werden

Die magnetische Polaritaumlt eines magnetischen Kreises laumlsst sich entweder durch zwei Spu-len konstanter elektrischer Polaritaumlt mit unterschiedlichem Wicklungssinn (herstellungstech-nisch zu aufwendig) durch eine Spule mit Mittelanzapfung und konstanter elektrischer Pola-ritaumlt der beiden Teilspulen (unipolare Schaltung) oder durch eine Spule mit wechselnder elektrischer Polaritaumlt (bipolare Schaltung) realisieren In Abb 11 sind dazu die elektrischen Beschaltungen und die Bestromungstabellen fuumlr eine Rechtsdrehung des Rotors dargestellt Fuumlr eine Linksdrehung des Rotors muss die Schrittfolge in umgekehrter Reihenfolge durch-laufen werden

Es wird zwischen Vollschrittbetrieb (graue Zeilen der Tabellen) mit Schrittwinkel 90deg bzw Schrittzahl 4 und Halbschrittbetrieb (alle Zeilen der Tabellen) mit Schrittwinkel 45deg bzw Schrittzahl 8 unterschieden Beim Vollschrittbetrieb werden immer beide magnetische Kreise bestromt und die N-S-Polachse des Rotors nimmt nur Stellungen zwischen den Statorpolen

23

an Beim Halbschrittbetrieb wird zwischen den Vollschritten nur einer der magnetischen Krei-se bestromt und die N-S-Polachse des Rotors kann zusaumltzlich 4 Stellungen in Richtung der Statorpole einnehmen Der Hybrid-Schrittmotor ist die am haumlufigsten vertretene Bauform von Schrittmotoren Abb 12 zeigt den Aufbau eines Hybrid-Schrittmotors

Abb 12 Aufbau eines Hybrid-Schrittmotors fuumlr unipolare und

bipolare Schaltung Daten Schrittwinkel 18deg max Drehmoment 155 Ncm

Der Stator besteht aus zwei Straumlngen mit je 4 in Reihe geschalteten Spulen Der Wick-lungssinn der Spulen ist in beiden Straumlngen so dass sich die Polfolge N-S-N-S uumlber den Umfang ergibt Beide Straumlnge zusammen ergeben unabhaumlngig von der Stromrichtung ei-ne Polfolge N-N-S-S-N-N-S-S uumlber den Umfang Ein zweipoliger Rotor (Polpaarzahl 1) kann im Vollschrittbetrieb 4 Stellungen annehmen Der Rotor des Hybridschrittmotors be-steht aber aus axial magnetisierten Permanentmagneten deren Polpaarzahl durch axial versetzte weichmagnetische Zahnscheiben auf 50 erhoumlht wurde Dadurch erhoumlht sich die Schrittzahl auf 4 sdot 50 = 200 und der Schrittwinkel verkleinert sich auf 360deg200 = 18deg Um stabile Rotorstellungen zu erhalten muumlssen die Statorsegmente ebenfalls gezahnt ausge-fuumlhrt werden

Ein solcher Hybrid-Schrittmotor vereint die Vorteile des Reluktanz- und des permanenter-regten Schrittmotors Ein kleiner Schrittwinkel wird durch das von Reluktanzschrittmotoren bekannte Prinzip der Erzeugung einer Vielzahl von Polen des Rotors durch Zahnscheiben erzielt Ein hohes Drehmoment wird durch das von permanenterregten Schrittmotoren be-kannte Prinzip der Ausfuumlhrung des Rotors als Permanentmagnet erzielt Aufgrund der bi-filaren Wicklung besteht jede Statorwicklung aus zwei Teilspulen und der Schrittmotor kann in unipolarer (alle 6 Anschluumlsse verwendet) und bipolarer Schaltung (nur 4 An-schluumlsse verwendet gemeinsamer Anschluss der Teilspulen bleibt unverwendet) wie in Abb 12 dargestellt verwendet werden

24

Schrittmotoren erlauben nicht nur das Bewegen sondern innerhalb der Leistungsgrenzen (keine Schrittverluste) auch ein genaues Positionieren von Objekten Bei bekannter Schrittzahl auf einer gemessenen Strecke oder Schrittzahl fuumlr den Vollwinkel koumlnnen aus-gehend von einer Referenzstellung Objekte translatorisch oder rotatorisch positioniert werden

232 Schrittmotorsteuerung und Positionierungsmechanik Im Folgenden wird die bei allen RCLs mit Schrittmotoren eingesetzte Schrittmotorsteuerung die Mechanik zur translatorischen Positionierung von Objekten und die Funktionsweise eines Referenztasters beschrieben

Schrittmotorsteuerung Abb 13 zeigt das Blockschaltbild und das im Selbstbau herstellbare TMC222-Modul (rarr 4221 rarr 4222) mit dem IC TMC222 von Trinamic zur Steuerung bipolarer 2-phasiger Hybrid-Schrittmotoren

Abb 13 Blockschaltbild (links) und Platine des TMC222-Moduls (rechts) mit IC TMC 222 auf

der Loumltseite der Platine

Der IC TMC222 enthaumllt ein I2C-Interface zum Anschluss an den I2C-Bus des Mikrocon-trollers (Ports PC0 und PC1) Die 10 kΩ-Pull-up-Widerstaumlnde heben die Takt- (SCL clock) und Datenleitung (SDA data) auf ein Potential von 5 V Der IC TMC222 enthaumllt ei-nen Motortreiber fuumlr Spulenstroumlme bis zu 800 mA und einen Motor-Controller zur Steue-rung der Spulenstroumlme Ein Vorteil des TMC-Moduls ist der relativ geringe Programmier-aufwand fuumlr den Mikrocontroller (rarr 4223) da der IC TMC222 nach Uumlbergabe der Steu-erungsparameter (Drehrichtung Drehzahl hellip) vom Mikrocontroller die Ansteuerung des Schrittmotors uumlbernimmt Der IC TMC222 unterstuumltzt das Beschleunigen und Abbremsen des Schrittmotors enthaumllt einen Schrittpositionszaumlhler und unterstuumltzt Mikrostepping (va-riable Spulenstroumlme zur elektronischen Verkleinerung des Schrittwinkels und groumlszligerer Laufruhe)

25

Falls in RCLs Gleichstrommotoren mit houmlheren Drehzahlen als Schrittmotoren benoumltigt werden kann eine andere Erweiterungsschaltung (rarr 424) eingesetzt werden

Positionierungsmechanik und Referenz-Taster Die Mechanik zur rotatorischen Positionierung von Objekten kann meist kostenguumlnstig selbst oder durch Personal in einer Werkstatt angefertigt werden Abb 14 zeigt eine kos-tenguumlnstige Loumlsung zur translatorischen Positionierung von Objekten

Abb 14 Positionierungseinheit eines Flachbrett-

Scanners Schrittmotor (1) Getriebe (2) Li-nearfuumlhrung (3) Antriebsriemen (4) und er-gaumlnzter Referenz-Taster (5)

Falls der geometrische Aufbau und die geforderte Positionierungsgenauigkeit des RCLs es zulassen kann die Schrittmotor-Positionierungs-Einheit ausgedienter Flachbrett-Scanner zur translatorischen Positionierung von Objekten verwendet werden In Einzelfaumll-len wie dem RCL Weltpendel kann die Positionierungsmechanik auch selbst angefertigt werden Der Referenz-Taster in Abb 14 wird eingesetzt um abzufragen ob ein vom Schrittmotor bewegtes Objekt die Position des Tasters erreicht hat und um diese Position zu referenzieren Ohne eine solche Referenzierung kann die Positionierung eines Objekts langfristig ungenau werden So kann z B beim RCL Weltpendel das Auftreffen der Kugel auf den Magneten zum Uumlberspringen von Schrittmotorstellungen fuumlhren Der Zustand des Referenz-Tasters in Abb 15 wird z B uumlber den Port PA0 des Mikrocontrollers abgefragt

Abb 15 Referenz-Taster zum referenzieren der

Position des bewegten Objekts

26

Zu Problemen koumlnnen undefinierte Zustaumlnde der Eingaumlnge des Mikrocontrollers fuumlhren wie sie beim Prellen dem zeitlich begrenzten schwingen eines Tasters beim Oumlffnen oder Schlieszligen entstehen Abhilfe schafft ein passend dimensionierter parallel zum Taster ge-schalteter Kondensator Bei geoumlffnetem Taster ist der Kondensator aufgeladen Beim Schlieszligen haumllt der Kondensator die Spannung uumlber die Schwingphase trotz kurzzeitig wieder geoumlffnetem Schalter noch aufrecht Analoges gilt fuumlr den Uumlbergang vom geschlos-senen zum geoumlffneten Taster

3 Ferngesteuertes RCL 31 RCL-Server Fuumlr den Betrieb eines RCLs wird ein RCL-Server benoumltigt (larr 11) Vorausgesetzt wird dass bei einem neuen Computer alle notwendigen Treiber (Ethernet Video Audio hellip) zum Be-trieb der Hardware des Computers und Windows XP Professional mit Service Pack 3 instal-liert sind Ein Benutzerkonto braucht nicht angelegt zu werden

Der RCL-Server benoumltigt einen Internetzugang mit statischer IP-Adresse und Uploaddatenra-te von mindestens 200 kbits (DSL 2000) fuumlr die fluumlssige Wiedergabe von Bewegungen in Webcambildern Die statische IP-Adresse wird von der Institution am Standort des RCLs vergeben oder kann von Privatpersonen bei einem Provider beantragt werden Mit folgenden Schritten wird der RCL-Server eingerichtet

Internetzugang einrichten (rarr 451) und im Browser testen

Checken ob die Windows Firewall aktiviert ist

Virenschutzproramm Avira Antivir Personal herunterladen (larr Tab 1) installieren und ak-tualisieren

Uumlber Windows Update alle Updates von Windows XP Professional installieren

Fernwartungssoftware TeamViewer 6 Vollversion (larr Tab 1) herunterladen und auf dem RCL-Server und dem eigenen Computer installieren (rarr 455)

Webeditor Notepad++ herunterladen installieren und aktualisieren (larr Tab 1)

Videoserver WebcamXP 5 herunterladen und installieren (rarr 453)

Paket XAMPP herunterladen und installieren (rarr 452) Verknuumlpfungen mit den Dateien xampphtdocsapache_startbat und xampphtdocsapache_stopbat auf dem Desktop oder in der Schnellstartleiste erstellen und Webserver mit erstgenannter Verknuumlpfung starten Webserver durch Eingabe von 127001 oder localhost ins Adressfeld des Brow-sers testen Bei erfolgreichem Test werden die im Ordner xampphtdocs abgelegten Webseiten von XAMPP dargestellt Statische IP-Adresse des RCL-Servers im Browser eines anderen Computers mit Internetzugang eingegeben Bei erfolgreichem Test werden die Webseiten von XAMPP dargestellt In der Datei xamppphpphpini unter Resource Limits die max_execution_time mit dem Windows-Editor von 60 auf 300 erhoumlhen und die

27

Datei speichern damit PHP bei Befehlen mit laumlngerer Ausfuumlhrungsdauer keine Fehler-meldung liefert

Ordner xampphtdocs mit den Webseiten von XAMPP in xampphtdocs_xampp um-benennen und fuumlr spaumltere Testzwecke nicht loumlschen RCL-Ordner htdocs herunterladen (larr Tab 1) extrahieren und in das Verzeichnis xampp verschieben

Abb 16 zeigt die Struktur des RCL-Ordners htdocs

Abb 16 Struktur des RCL-Ordners htdocs RCL-spezifisch anzupassende Dateien sind grau

hinterlegt

Der geoumlffnete Ordner Labor enthaumllt alle PHP- und HTML-Dateien bzw Programmierungen fuumlr die Funktionalitaumlt des Bedienfelds der Laborseite (larr 11 Abb 3) An das RCL anzupas-sen sind die portalsprachenunabhaumlngigen Dateien configphp und experimentphp sowie fuumlr jede Portalsprache die Dateien defaultconf und experimenttpl in den Ordnern eng fra ger und ita

Datei configphp Zeit bis zum automatischen Logout beim Experimentieren mit dem RCL eintragen

Datei experimentphp PHP-Basisprogrammierung um die RCL-spezifische PHP-Programmierung erweitern (rarr 432)

Datei defaultconf Name des RCLs (z B Elektronenbeugung) in jeder Portalsprache ein-getragen

Datei experimenttpl HTML-Basisprogrammierung um RCL-spezifische Ein- und Ausga-befelder erweitern (rarr 433)

28

32 Laborseite 321 Steuerung des RCLs uumlber das Bedienfeld Das Bedienfeld der Laborseite (larr 11 Abb 3) wird von der Dateien indexphp und experi-menttpl erzeugt Befehle wie das Anklicken von Buttons Eingaben und Auswahl aus Listen werden in ein HTML-Formular mit Formularfeldern in der Datei experimenttpl geschrieben Die Daten werden von der PHP-Datei experimentphp ausgewertet und uumlber die serielle Schnittstelle dem Mikrocontroller-Programm zur Steuerung des Experiments uumlbergeben Die Dateien experimentphp und experimenttpl wurden getrennt angelegt um Code und Design zu trennen und nur das Design in der Datei experimenttpl an die Portalsprache anpasst werden muss

Tab 5 enthaumllt Ausschnitte der HTML-Datei experimenttpl (rarr 433) der Datei experi-mentphp (rarr 432) und des Mikrocontroller-Programms (rarr 431) fuumlr das RCL Elektronen-beugung

29

Code mit Erlaumluterung

expe

rimen

ttpl

1821 Tag ltformgtltformgt definiert ein Formular 18 Attribut action legt fest dass Formulardaten in der Datei indexphp verarbeitet werden Uumlbertragen

werden eine Session-ID ($sid) um exklusiven Zugriff des jeweilgen Besuchers zu sichern und ($portal) um die vom Besucher gewaumlhlte Sprache beizubehalten post ist eine Uumlbertragungsmethode zwischen Browser und Webserver und gibt die die vom Besucher gewaumlhlte Aktion zum Ansteuern des Experiments an die Datei experimenttpl weiter

20 Erzeugt im Bedienfeld den Sendebutton (submit) mit der Aufschrift Elektronenroumlhre einschalten (valu-e)

19 Unsichtbares Feld (hidden) mit Variablennamen action und Wert RoumlhreAn Der Variablenname ac-tion stimmt nur zufaumlllig mit action in Zeile 18 uumlberein

expe

rimen

tphp

24 Die Funktion wird als Eventhaumlndler bezeichnet weil je nach uumlbergebener Aktion - siehe Zeile 19 in experi-

menttpl - die entsprechenden Anweisungen (case) ausgefuumlhrt werden 37 Fuumlr den Fall dass die Variable $action den Wert RoumlhreAn hat wird die Funktion power_on() aufgeru-

fen

59 Schreibt in die Logdatei logtxt den Text RoumlhreAn 6061 Oumlffnet den in der Datei configphp zentral gespeicherten Com-Port an den das Interface angeschlossen ist

oder gibt Fehlermeldung Can not access file system im Bedienfeld aus falls der Com-Port sich nicht oumlff-nen laumlsst

62 Sendet die Zeichenfolge On und chr(13) (entspricht der Betaumltigung der Return-Taste im Hyperterminal) an den Mikrocontroller

63 Schlieszligt serielle Schnittstelle

Que

llcod

e M

ikro

cont

rolle

r

166 Wird uumlber die serielle Schnittstelle der Befehl on empfangen und ist das Einschalten zulaumlssig (Zeiten fuumlr

PowerOnDelay und Standby abgelaufen) dann hellip 167 Hochspannungsnetzgeraumlt einschalten 168 Der DA-Wandler PCF8591 wird unter seiner Adresse PCF8591 = 01001000 angesprochen Parameterein-

stellungen mit 01000000 und Ausgangsspannung auf 0 V einstellen 169 Setzt Standby auf vorgegebene Standbyzeit zuruumlck 171 Gibt Meldung aus wie lange PowerOnDelay noch dauert

Tab 5 Uumlbertragung des Befehls Elektronenroumlhre einschalten vom Bedienfeld zum Experi-ment

30

Anhand der Erlaumluterungen der Programmcodes koumlnnen die Ablaumlufe zwischen dem Druumlcken des Buttons Elektronenroumlhre einschalten und dem Einschalten der Elektronenbeugungs-roumlhre oder der Eingabe einer Beschleunigungsspannung und dem Anlegen einer Beschleu-nigungsspannung verfolgt werden Uumlber das Bedienfeld koumlnnen nur die von der Datei expe-rimenttpl bereitgestellten Befehle on und da der insgesamt implementierten Befehle (rarr 22 Abb 10) aufgerufen werden

322 Videouumlbertragung im Webcamfeld Zur Aufnahme von Livebildern des Experiments koumlnnen USB-Webcams und IP-Kameras (Netzwerkkameras) eingesetzt werden Teurere IP-Kameras muumlssen eingesetzt werden wenn die Kamera wie z B beim RCL Roboter im Labyrinth zu weit vom Computer entfernt ist oder eine besonders lichtempfindliche Kamera aus der Uumlberwachungstechnik wie z B beim RCL Millikan-Versuch benoumltigt wird W-LAN-Kameras kommen zum Einsatz wenn Bil-der von einem beweglichen Objekt aus wie z B beim RCL Roboter im Labyrinth uumlbertra-gen werden sollen

Das Videoserverprogramm webcamXP 5 erkennt beim Aufrufen automatisch an den RCL-Server angeschlossenen USB-Webcams Vor dem Kauf einer IP-Kamera ist zu pruumlfen ob das Modell unterstuumltzt wird14 IP-Kameras muumlssen im Kontextmenuuml der Videoquelle konfigu-riert werden Abb 17 zeigt das Webcambild einer USB-Webcam vom Szintillationsschirm der Elektronenbeugungsroumlhre

Abb 17 Webcambild des Szintillationsschirms der Elektro-

nenbeugungsroumlhre einer USB-Webcam in webcamXP 5 beim RCL Elektronenbeugung

14 Vgl Moonware Studios webcamXP IP-cameras for webcamXP

31

Zum Einbinden des Webcambilds in die Laborseite des RCLs wird die laborsprachenabhaumln-gige Datei videohtm (rarr 434) in den Ordnern eng fra ger und ita verwendet Standardmauml-szligig werden zwei Webcambilder und Screenshots unterstuumltzt der Code fuumlr weitere Webcam-bilder kann durch copy and paste hinzugefuumlgt werden

Unter den Technologien Java Javaskript Flash und Windows Media fuumlr die Wiedergabe ei-nes Livestreams auf eine Webseite wurde Javaskript gewaumlhlt weil die anderen Technologien die Installation des Java Runtime Environments (JRE) des Flash- oder Windows Media Players durch den Besucher eines RCLs voraussetzen Die Wiedergabe des Livestreams mit einem Java-Applet startet zudem erst verzoumlgert nachdem das Applet geladen ist und verfuumlgt uumlber eine zu geringe Wiedergabegeschwindigkeit

33 Standard-Lernumgebung Bestandteil der Entwicklung eines RCLs ist die Erstellung einer Standard-Lernumgebung zum RCL Abb 18 zeigt exemplarisch fuumlr die deutschen Webseiten im Ordner ger das Menuuml (larr 11 Abb 3) und die Dateistruktur der Standard-Lernumgebung

Abb 18 Deutschsprachiges Menuuml und Dateistruktur der Standard-Lernumgebung

RCL-spezifisch anzupassende Dateien sind grau hinterlegt

Die englischen Dateinamen introductionhtm setuphtm hellip im Ordner ger korrespondieren mit den deutschen Menuumlpunkten Wird das RCL unter dem Menuumlpunkt RCLs des RCL-Portals aufgerufen dann ruft die Frameset-Datei indexhtm die Dateien menuumlhtm und intro-ductionhtm auf und das Menuuml wird zusammen mit der Webseite Einstieg dargestellt Die Wahl weiterer Menuumlpunkte ruft jeweils die korrespondiere Datei im Ordner auf Bei Wahl des Menuumlpunkts Labor werden mit der Frameset-Datei laboratoryhtm die Dateien videohtm fuumlr das Webcamfeld und die Datei laborindexphp fuumlr das Bedienfeld aufgerufen

32

Im Ordner docsmaterial werden alle Dokumente fuumlr die Webseite Material im Ordner docsothers die Dokumente anderer Webseiten abgelegt Im Ordner docsoriginals sind die Originale von Dokumenten wie z B Word-Dateien und der verwendeten Bilder abgelegt Grafikdateien der Webseiten Einstieg hellip Auswertung hellip Betreuung werden in gleichnami-gen Ordnern wie z B imagesanalysis abgelegt Bei sprachenunabhaumlngigen Grafikdateien wird unter dem Dateinamen abbx bei sprachenabhaumlngigen unter dem Dateinamen abbx_lan mit lan = eng fra ger und ita gespeichert Analoges gilt fuumlr die als gif-Grafiken forxgif oder forx_langif zu speichernden Formeln Originale von Bildern werden im Ordner imagesoriginals abgelegt Die Webseite zur Datei htdocsindexhtm enthaumllt zum lokalen Aufrufen der Standard-Lernumgebung Links zu den vier Index-Dateien in den Ordnern eng fra ger und ita Die Stylesheet-Datei htdocsrcl_stylecss enthaumllt die Styles der Webseiten

In der Regel werden Standard-Lernumgebungen der RCLs des RCL-Portals von verschiede-nen Personen erstellt Fehlende Gestaltungs- und Formatierungsregeln fuumlhren zu einem un-einheitlichen inattraktivem Erscheinungsbild des RCL-Portals Tab 6 gibt einen Uumlberblick der wichtigsten Gestaltungs- und Formatierungsregeln

Element Richtlinien

Gliederung

Die Webseiten Einstieg Aufbau Aufgaben Diskussion Material und Support enthalten vorgegebene Gliederungspunkte teilweise mit ausgefuumlhrten Uumlberschriften

Die umfangreicheren Webseiten Theorie und Auswertung enthalten ein Inhaltsverzeichnis mit internen Links zu Gliederungspunkten Zwischen Punkten der ersten Gliederungsebene (1 2 hellip) ist ein zwei-zeiliger Abstand (ltpgtampnbspltpgtltpgtampnbspltpgt) zwischen Punkten der zweiten (11 12 hellip) und Punkten der nur falls unbedingt notwendig dritten 111 112 hellip) Gliederungsebene ein einzeiliger Abstand zu waumlhlen Nach Abbildungen und Tabellen folgt ein einzeiliger Abstand zum nachfolgenden Text

Links Keine internen Links zwischen den Webseiten der Lernumgebung Externe Links werden prinzipiell in einem neuen Browserfenster geoumlffnet (blank)

Abbildung

Alle Abbildungen erhalten fortlaufend beginnend mit 1 nummerierte Abbildungsunterschriften der Form Abb x hellip

Abbildungen sind moumlglichst spachenunabhaumlngig d h ohne Texte in der Abbildung zu erstellen Zur Beschriftung koumlnnen z B Zahlen verwendet werden die in der Abbildungsunterschrift oder im Text er-laumlutert werden

Tabellen Tabellen werden in jeder Webseite fortlaufend beginnend mit 1 nummeriert Tabellen sind zu zentrieren Rahmenstaumlrke 1

Formeln

Formeln sind nicht als Textzeichen oder Grafik im laufenden Text einzufuumlgen sondern stets zentriert in einer eigenen Zeile als gif-Grafik

Zum Erstellen der Formel-Grafiken eignet sich z B der Formel-Editor MathType15 mit der Aufloumlsungs-Einstellung 120 dpi fuumlr InternetGif

Formeln brauchen im Rahmen des begrenzten Umfangs der Webseiten nicht nummeriert zu werden Groumlszligen-symbole

Griechische Groumlszligensymbole und mathematische Symbole sind nicht als Grafiken im laufenden Text sondern als HTML-Code einzufuumlgen Eine Zeichenreferenz findet sich bei Selfhtml16

Styles Zur Formatierung der Webseiten werden aus der Stylesheet-Datei nur die drei Styles Uumlberschrift fuumlr

die Uumlberschriften Bildunterschrift fuumlr Abbildungs- und Tabellenunterschriften und Tabellentext fuumlr Tex-te in Tabellen benoumltigt

Tab 6 Richtlinien zur Gestaltung und Formatierung der Standard-Lernumgebung

Detailliertere Informationen zum Layout der Standard-Lernumgebung koumlnnen dem RCL-Ordner und dem Erscheinungsbild der Webseiten von RCLs in Browsern entnommen wer-den

15 Vgl Design Science MathType 16 Vgl Selfhtml HTML-Zeichreferenz

33

4 ANHANG

34

41 Interface in Basisschaltung 411 Schaltplan und Bauteilliste Abb 19 zeigt den Schaltplan der Basisschaltung des Interface und Tab 7 die dazugehoumlrige Bauteilliste

Abb 19 Basisschaltung des Interface

Nr Anzahl Kurzbeschreibung des Bauteils Best-Nr bei Reichelt electronic

Einzelpreis in euro

0 1 Epoxyd-Platine (190x112 mm) mit Anteil Loumltpunktraster (Spezi-

alanfertigung) - asymp 10

1 1

Epoxyd-Fotoplatine einseitig 160x100 mm 15 mm 35 microm Epoxyd-Lochrasterplatine 160x100 mm 15 mm 35 microm

BEL 160x100-1 UP 832EP

170 420

1 1 Hohlstecker-Einbaubuchse gewinkelt Loumltfahnen 21 mm HEBW 21 018 2 1 D-SUB-Stecker 9-polig gewinkelt RM 94 D-SUB ST 09EU 029 3 1 Schottky Diode DO41 40 V 1 A SB 140 008 4 1 Draht von abgeschnittenem Beinchen aus Pos-Nr 3 - - 5 1 IC-Sockel 16-polig superflach gedreht vergoldet GS 16P 029 6 1 IC-Sockel 40-polig superflach gedreht vergoldet GS 40P 061 7 1 2x10-pol-Stiftleiste gerade RM 254 SL 2X10G 254 007 8 1 Metallschichtwiderstand 100 kΩ Metall 100k 0082 9 1 Elektrolytkondensator 10x16 mm 470 microF RM 50 mm RAD 47025 006 10 1 Elektrolytkondensator 63x11 mm 100 microF RM 25 mm RAD 10016 004 11 5 Elektrolytkondensator 5x11 mm 10 microF RM 20 mm RAD 1035 004 12 2 Keramik-Kondensator 33 pF Kerko 33p 006 13 3 Vielschicht-Keramikkondensator 100 nF 20 Z5U-25 100n 004

35

14 1 Standardquarz Grundton 110592 MHz 110592-HC49U-S 018 15 1 Spannungsregler 1 A positiv TO-220 microA 7805 028 16 1 Kuumlhlkoumlrper fuumlr Gehaumluse TO-220 99KW V FI356 066 17 1 Zylinderkopfschraube Schlitz M3 10 mm fuumlr Kuumlhlkoumlrper M3x10mm 160 18 2 Sechskantmutter M3 fuumlr Kuumlhlkoumlrper SK M3 001 19 1 Stecker-Schaltnetzteil 12 V 2250 mA MW 3IP25GS 1150 20 1 RS232-Driver DIL-16 MAX 232 CPE 041 21 1 ATmega AVR-RISC-Controller DIL-40 ATmega16-16 DIP 420 22 3 10-poliger Wannenstecker RM 254 stehend (optional) WSL 10G 009 23 1 14-poliger Wannenstecker RM 254 stehend (optional) WSL 14G 014 24 1 40-polige Stiftleiste 1-reihig gerade RM254 (optional) SL 1x40G 254 023 25 1 Kunststoffgehaumluse 1982x1124x760 mm (Serientyp 202) - asymp 10 euro 26 1 D-SUB Nullmodem-Kabel 9-pol BUBU 3 m AK 143 155 27 x DIN-Einbaubuchse 5-pol Schraubver 360deg (optional) DIO-50W EMS 185 28 x DIN-Einbaubuchse 8-polig Schraubversch 270deg (optional) DIO-80SN EMS 180 29 x Pfostenstecker 10-polig mit Verrieglung gew (optional) PSL 10W 028 30 x Klemmleiste RM 254 Oumlffnungshebel 8-polig (optional) Wago 233 220

Tab 7 Bauteilliste mit Bestellnummer und Einzelpreisen der Bauelemente bei Reichelt electronic (Stand 23102010)

Anhand der Bauteilliste in koumlnnen die elektronischen Bauelemente der Basisschaltung (larr Tab 7 Nr 0 ndash 21 optional Nr 22 - 24) bei Reichelt electronic bestellt werden Das Gehaumluse des Interface (larr Tab 7 Nr 25) sollte vom Hersteller HAGOTECH GmbH bezogen werden Weiterhin wird ein Nullmodemkabel (larr Tab 7 Nr 26) zur Verbindung des Interface mit dem Computer benoumltigt Sensoren und Aktoren des Experiments koumlnnen mit optionalen Steck-verbindern (larr Tab 7 Nr 27 - 30) und entsprechende Kabelverbindungen an das Interface angeschlossen werden Die Nummern 0 - 25 stimmen mit der angegebenen Bestuumlckungs-reihenfolge auf der Platine uumlberein Das Interface kostet in der Basisschaltung ca 50 euro

412 Bestuumlckung der Platine Abb 20 zeigt zur Bestuumlckung der Platine benoumltigte Werkzeuge

Abb 20 Werkzeuge zur Bestuumlckung der Platine des Interface

36

Loumltkolben mit feiner Spitze in Meisselform 2 mm oder Loumltstation (1) Loumltzinnabsauger zum Entfernen von Loumltzinn (2) Nasser Schwamm zum Reinigen der Spitze des Loumltkolbens (3) Loumltzinn mit Durchmesser 08 - 10 mm (4) Flachspitzzange zum Biegen von Anschluumlssen der Bauelemente (5) Seitenschneider zum Kuumlrzen der Beinchen von Bauelementen (6) Multimeter zum Pruumlfen der Funktionsfaumlhigkeit der Schaltung (7) Sekundenkleber zur Befestigung von Bauelementen Kleine Bohrmaschine z B von Dremel und 08 mm Bohrer oder duumlnne Rundfeile zum

Weiten von Loumlchern auf der Platine des Interface

Abb 21 zeigt die Platine des Interface von der Loumltseite in der Spezialanfertigung der Elekt-ronik-Werkstatt an der Technischen Universitaumlt Kaiserslautern und in der Selbstbauvariante (larr Tab 7 Nr 0) Abb 22 zeigt das Platinenlayout

Abb 21 Platine des Interface von der Loumltseite als Spezialanfertigung (links) und der Selbstbauvariante

(rechts)

Abb 22 Layout zur Herstellung des geaumltzten Teils der

Platine in der Selbstbauvariante

37

In der Selbstbauvariante kann anhand des Platinenlayouts eine selbst geaumltzte Platine fuumlr die Basisschaltung auf einer Platine im Europakartenformat hergestellt und diese in der Laumlnge gekuumlrzt werden Eine gekuumlrzte Lochrasterplatine bildet den zweiten Teil der Platine Mit den optionalen vier Wannensteckern (larr Tab 7 Nr 22 - 23) oder den vier Stiftleisten (larr Tab 7 Nr 24) an den Ports des Mikrocontrollers koumlnnen leicht elektrische Verbindungen zum Rasterteil der Platine herstellt werden Abb 23 zeigt die fertig bestuumlckte Platine mit den Nummern aus Tab 7

Abb 23 Bestuumlckte Platine des Interface mit nummerierten Bauelementen

Tab 8 beschreibt das Einloumlten der elektronischen Bauelemente anhand der Nummern aus Tab 7 und in der angegebenen Reihenfolge

Nr Bauelement Beschreibung des Einbaus

0 Spezialanfertigung und Selbst-bauvariante der Epoxydharz-

Platine

1

Stromversorgungsbuchse ndash Hohlstecker 21 mm

Wenn die Loumltbeine nicht durch die Loumlcher der Platine passen die Loumlcher mit einer runden Schluumlsselfeile aufweiten

Stromversorgungsbuchse mit Sekundenkleber vor dem Festloumlten auf der Pla-tine fixieren da diese mechanischen Belastungen durch das Einstecken und Herausziehen des 12 V -Steckers ausgesetzt ist

Wahlweise kann die 25 mm-Version der Buchse verwendet werden

2

RS232 Datenstecker

RS232 Datenstecker mit Sekundenkleber vor dem Festloumlten auf der Platine fixieren da dieser mechanischen Belastungen durch das Einstecken und Herausziehen des Null-Modem-Kabels ausgesetzt ist

Alle Beinchen und Befestigungsstifte zur houmlheren Stabilitaumlt anloumlten

3

Ein Ring an einer Seite der Diode (hier links weiszlig) zeigt die Durchlass- bzw Sperrrichtung der Diode an Die Position des Ringes entspricht der Position des Balkens im Schaltungssymbol

38

Diode ndash SB140 Auf der Platine muss der Ring auf der von der Stromversorgungsbuchse ab-

gewandten Seite liegen

4 Drahtbruumlcke

Vor dem Einloumlten des 40-poligen IC-Sockels (Nr 5) muss eine Drahtbruumlcke unter diesem eingeloumltet werden Dazu koumlnnen die abgeschnittenen Beinchen der bereits eingeloumlteten Diode (Nr 3) verwendet werden

5 6

IC-Fassungen

Die 16-polige und 40-polige IC-Fassungen besitzen eventuell eine Markie-rung fuumlr Pin1 (z B Kerbe in der Stirnseite Punkt Pfeilhellip) als Hilfe fuumlr das richtige Einstecken der ICs Die Markierungen muumlssen bei beiden Fassungen nach oben also zum naumlchstliegenden Rand der Platine zeigen

Die ICs unbedingt noch nicht einstecken

7

ISP-Stiftleiste

Die doppelreihige ISP-Stiftleiste dient der Programmierung des Mikrocontrol-lers mit dem AVR-ISP-Programmer (ISP steht fuumlr In System Programming)

ISP-Stiftleiste auf 2 x 5 Stifte kuumlrzen und mit den kurzen Beinchen einloumlten so dass auf die langen Stifte der AVR-ISP-Programmer gesteckt werden kann

8

Widerstand 100 kΩ

Den 100 kΩ-Widerstand rechts neben der ISP-Stiftleiste einloumlten

9

10

11

Elkos

Bei den verwendeten Elektrolyt-Kondensatoren ist die Polung zu beachten (langes Beinchen = Plus-Pol) Weiterhin ist auf den Kondensatoren ein wei-szliger Streifen mit Minus-Zeichen aufgedruckt Die Kondensatoren sollten eine Spannungsfestigkeit von mindestens 16 V besser 25V besitzen

Auf der Kupferseite der Platine zeigt die Form der Loumltaugen die Polung an Rundes Loumltauge = Plus quadratisches Loumltauge = Minus

Der 470 microF Kondensator wird mit dem weiszligen Streifen in Richtung Stromver-sorgungsbuchse direkt unter diese montiert

Der 100 microF Kondensator sitzt direkt unter der 16-poligen IC-Fassung Sein weiszliger Streifen (Minus-Pol) zeigt in Richtung der Stromversorgungsbuchse

Vier der 10 microF Kondensatoren werden links neben der 16-poligen IC-Fassung montiert Deren Polung ist wie folgt Unterster Kondensator Minus nach oben naumlchster Kondensator Minus nach unten die beiden oberen Kondensatoren mit Minus nach oben

Ein weiterer 10 microF Kondensator wird rechts neben die 16-polige IC-Fassung geloumltet Sein Minus-Streifen zeigt nach unten

12

13

Keramik-Kondensatoren

Die Beschriftung 104 bedeutet 10e4 pF = 100 nF Die beiden 33 pF-Kerkos (Keramik-Kondensatoren) werden direkt nebenei-

nander rechts neben die 16-polige IC-Fassung geloumltet Zwei 100 nF-Kondensatoren werden unter dem 470 microF-Elko eingeloumltet ein

weiterer mittig an der linken Seite der 40-poligen IC-Fassung

14

Quarz

Als Quarz wird ein 110592 MHz-Typ verwendet Bei dieser Frequenz ist eine fehlerfreie Kommunikation uumlber RS232 mit 9600 Baud moumlglich Fuumlr den AT-mega16 koumlnnen Quarze bis 16 MHz eingesetzt werden Details siehe Daten-blatt

Der Quarz wird direkt rechts neben die beiden 33 pF-Kerkos geloumltet Die Ori-entierung des Quarz spielt keine Rolle

15

16

17

18

Der Spannungsregler L7805 erzeugt eine stabilisierte Spannung von 5 V Es muss ein Kuumlhlkoumlrper zur Waumlrmeabfuhr vom Spannungsregler verwendet werden

Vor dem Einloumlten zwischen Spannungsregler und Kuumlhlkoumlrper etwas Waumlrme-leitpaste aufgetragen Beide Bauteile fest mit einer Schraube M3x10 und ei-ner 1 Mutter verschrauben

Dann den Spannungsregler einloumlten um 90deg abzubiegen das uumlberstehende Gewinde durch das vorgesehene Loch stecken und alles mit einer 2 Mutter auf der Platine befestigen

1 Mutter

2 Mutter

Schr

aube

L7805

Platine

KuumlhlkoumlrperWaumlrmeleitpaste

Beinchen

Loumlten

39

Spannungsregler L7805 Kuumlhl-koumlrper und Montage

19

Steckernetzteil

Funktionskontrolle vor dem Einsetzen des Mikrocontrollers Polung der Elektrolyt-Kondensatoren (Elkos) pruumlfen Sind alle Beinchen angeloumltet Hat das Loumltzinn an den Beinchen und der Pla-

tine guten Kontakt Sind eventuell zwei benachbarte Beinchen unbeabsichtigt durch Loumltzinn verbunden Alle Loumltverbindungen nochmals genau z B mit ei-ner Lupe pruumlfen

Probeweise das Stecker-Netzteil an die Buchse anschlieszligen Am 100 nF-Kondensator links mittig der 40-poligen IC-Fassung muumlssen 5 V anliegen

Versorgungsspannung unbedingt wieder von der Platine trennen

20

21

ICs MAX232 und ATmega16

Die Nuten auf den ICs am linken Rand muumlssen nach oben zeigen d h Pin1 ist bei beiden ICs in der Abbildung links unten und auf der Platine oben links

Manchmal passen die Beinchen der ICs nicht in die Fassung weil die Fas-sung scheinbar zu schmal ist Dann den IC seitlich mit einer Beinchen-Reihe flach auf den Tisch legen den IC-Koumlrper links und rechts greifen und Bein-chen durch leichten Druck biegen Einzelne verbogene Beinchen vorsichtig mit einer kleinen Flachzange richten

22

23

Wannenstecker 10- und 14-polig

Wannenstecker an den vorgesehe-nen Stellen mit der Nut gegen Ver-polung in Richtung des naumlherliegen-den Platinenrands einloumlten

Die Abbildung rechts zeigt die Pin-Belegung der Wannenstecker

24

Stiftleiste 8-polig 40-pol Stiftleiste in 4 jeweils 8-polige Stuumlcke zerteilen und einloumlten

25

Kunststoffgehaumluse

In der Selbstbauvariante der Platine (Nr 0) vor dem Einsetzten der Platine in das Gehaumluse passend positionierte Kunststoffstege am Gehaumluseboden fest-kleben

Tab 8 Bestuumlckung der Platine des Interface mit Bauelementen

42 Erweiterungsschaltungen 421 Uumlbersicht In Tab 3 sind von RCLs des RCL-Portals Sensoren und Aktoren mit den dazugehoumlrigen Er-weiterungsschaltungen zusammengestellt Da alle RCLs obligatorisch uumlber mindestens eine Webcam verfuumlgen sind diese unter den Sensoren nicht aufgefuumlhrt Die wenigen Erweite-rungsschaltungen fuumlr Sensoren sind unter Sensoren in Klammern aufgelistet Unter Aktoren werden auszliger elektro-mechanischen Wandlern auch gesteuerte Geraumlte oder Bauelemente verstanden Anzeigeinstrumente sind unter Aktoren nur aufgefuumlhrt wenn sie direkt vom In-terface gesteuert werden Mit gekennzeichnete Erweiterungsschaltungen befinden sich au-szligerhalb des Interface

40

RCL Sensoren Aktoren Erweiterungsschaltungen fuumlr Aktoren

Beugung und Interferenz I Referenz-Taster

Schrittmotor (Rotation) Schrittmotorsteuerung Laser-Modul Geschaltete Spannungsversorgung

Beugung und Interferenz II

4 Referenz-Taster Lichtsensor

4 Schrittmotoren (Translation) 4 Schrittmotorsteuerungen 5 Laser-Module Geschaltete Spannungsversorgung LED fuumlr Position des

Lichtsensors Geschaltete Spannungsversorgung

LED fuumlr Linealbeleuchtung Geschaltete Spannungsversorgung

Elektronen-beugung

Hochspannungsnetzgeraumlt Geschaltete Spannungsversorgung Hochspannungsnetzgeraumlt Steuerung der Hochspannung

Fotoeffekt 2 Referenz-Taster Photozelle

2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen

Quecksilberdampflampe Geschaltete Spannungsversorgung

der Drossel fuumlr Quecksilberdampf-lampe

Halbleiter-kennlinien

und Halbleiterkennli-nien - Schuumller-

projekt

Referenz-Taster

Schrittmotor (Rotation) Schrittmotorsteuerung Oszilloskop Geschaltete Spannungsversorgung

Oszilloskop Instrumentenverstaumlrker fuumlr X- und Y-Ablenkung

Multimeter Steuerung Spannungs- oder Strom-anzeige

Heiszliger Draht 4 Endtaster 4 Drehgeber Kurzschlusssensor

4 Gleichstrommotoren 4 Treiber

Zweifarbige LED Steuerung der LED-Farbe

Lichtgeschwin-digkeit

Drehimpulsgeber 2 Taster an Enden

der Eisenbahnstre-cke

2 Schrittmotoren 2 Schrittmotorsteuerungen Oszilloskop Geschaltete Spannungsversorgung

Motor der Lokomotive Steuerung des Ein- und Ausschal-tens und der Bewegungsrichtung

Maut Infrarot-Sensor Gleichstrommotor Geschaltete Spannungsquelle 2 IR-Fernbedienungen Spannungsregler 2-stellige 7-Segmentanzeige LED-Treiber

Millikan-Versuch 2 Referenz-Taster

2 Schrittmotoren 2 Schrittmotorsteuerungen Lichtquelle (LED) fuumlr Millikan-

Kondensator Geschaltete Spannungsversorgung

Airbrush-Kompressor Geschaltete Spannungsversorgung Magnetventil Geschaltete Spannungsversorgung Millikan-Kondensator Gesteuertes Hochspannungsmodul

Optische Com-putertomogra-

phie

2 Referenz-Taster 2 Lichtsensoren

Schrittmotor (Rotation) Schrittmotorsteuerung Schrittmotor (Translation) Schrittmotorsteuerung

2 Laser-Module 2 geschaltete Spannungsversor-gungen

Optische Fou-rier-

Transformation 2 Referenz-Taster

2 Schrittmotoren (Translation) 2 Schrittmotorsteuerungen

Laser-Modul Geschaltete Spannungsversorgung

Oszilloskop Oszilloskop Geschaltete Spannungsversorgung Signalgenerator Steuerung der Signalart

Radioaktivitaumlt 4 Referenz-Taster Geiger-Muumlller-

Zaumlhlrohr

2 Schrittmotoren (Translation) 2 Schrittmotorsteuerungen 2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen 4-stellige 7-Segment-Anzeige Treiber Elektromagnet Geschaltete Spannungsversorgung

Roboter im Labyrinth Infrarot-Sensor

2 Schrittmotoren 2 Schrittmotorsteuerung Infrarot-Sender Treiber

Rutherfordscher Streuversuch

2 Referenz-Taster Halbleiterdetektor

(Impulsformer)

2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen

4-stellige 7-Segment-Anzeige Treiber

Weltpendel

Referenz-Taster Lichtsensor der

Lichtschranke (Im-pulsformer)

Temperatursensor

Schrittmotor (Translation) Schrittmotorsteuerung Elektromagnet Geschaltete Spannungsversorgung

Laser der Lichtschranke Geschaltete Spannungsversorgung

Windkanal Referenz-Taster Schrittmotor (Translation) Schrittmotorsteuerung

41

Dehnungsmess-streifen (Wheat-stonesche Bruumlcke Messverstaumlrker Multimeter)

Geblaumlsemotor Geschaltete Spannungsversorgung

und Ansteuerung mit Pulsweiten-modulation

Anemometer Geschaltete Spannungsversorgung Multimeter Geschaltete Spannungsversorgung

Tab 9 Sensoren Aktoren und Erweiterungsschaltungen der RCLs des RCL-Portals

422 TMC222-Modul zur Schrittmotorsteuerung 4221 Schaltplan und Bauteilliste Abb 1 zeigt die Beschaltung des TMC222 von Trinamic auf dem TMC222-Modul

Abb 24 Beschaltung des TMC222 von Trinamic

Anhand der Bauteilliste in Tab 10 koumlnnen die elektronischen Bauelemente des TMC222-Moduls bei Reichelt electronic bestellt werden Ein TMC222-Modul kostet ungefaumlhr 10 euro

Nr Anzahl Kurzbeschreibung des Bauteils Best-Nr bei Reichelt electronic

Einzelpreis in euro

0 1 Epoxyd-Fotoplatine einseitig 75x100 mm 15 mm 35 microm BEL75X100-1 096 1 1 Integrierter TMC-Schrittmotor-Controller TMC 222 SI asymp 7 2 1 Elektrolytkondensator 8x11 mm Rm 35 mm 100 microF35 V RAD 10035 004 3 1 Tantal-Kondensator Rm 25 10 microF35 V Tantal 1035 014 4 2 Vielschicht-Keramikkondensator 220 nF 20 Z5U-25 220N 011 5 3 Vielschicht-Keramikkondensator 100 nF 20 Z5U-25 100N 004 6 2 Metallschichtwiderstand 100 kΩ Metall 100K 0082 7 1 1x36pol Stiftleiste gewinkelt Rm 254 SL 1X36W 027 8 1 1x36pol Buchsenleiste gerade Rm 254 BL 1X36G 025

Tab 10 Bauteilliste mit Bestellnummer und Einzelpreisen der Bauelemente bei Reichelt electronic (Stand 23102010)

4222 Bestuumlckung der Platine

42

Abb 25 zeigt die fertig bestuumlckte Platine mit den Nummern aus Tab 10

Abb 25 Bestuumlckte Platine des TMC222-Moduls

mit nummerierten Bauelementen

Die Platine (35 mm x 30 mm) kann anhand des Layouts in Abb 26 hergestellt werden Der IC TMC222 wird auf der Loumltseite der Platine aufgeloumltet Das TMC222-Modul kann mit der Stiftleiste (larr Tab 10 Nr 7) in eine Buchsenleiste (larr Tab 10 Nr 8) auf die Platine des In-terface gesteckt werden

Abb 26 Platine des TMC222-Moduls von der Loumltseite (links) und Layout

4223 Quellcode des Mikrocontroller-Programms Im Folgenden ist ein mit Bascom (larr 12 Tab 1 Entwicklungsumgebungen) erstelltes Bei-spiel-Programm zur Ansteuerung des Schrittmotormoduls TMC222 durch den Mikrocontroller ATmega16 angegeben $regfile = m16DEFdat $crystal = 11059200 $baud = 9600 Definitionen Config Scl = Portc0 Taktleitung Config Sda = Portc1 Datenleitung Const Adress = ampB11000000 I2C Adresse des TMC222 Const GetFullstatus1 = ampB10000001 Kommando des TMC222 Const Resetpos = ampB10000110 Kommando des TMC222 Const Motorparameter = ampB10001001 Kommando des TMC222 Const Setposition = ampB10001011 Dim Puffer(10) As Byte

43

Programm I2csend Adress GetFullstatus1 GetFullstatus1 (Initialisierung des TMC222) I2creceive Adress 7 Ack Daten in Puffer auslesen Puffer(1) = Motorparameter puffer auffuumlllen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB11110011 1111irun 0011ihold Puffer(5) = ampB01110001 0111vmax 0001vmin Puffer(6) = ampB00010000 000securepos(bit10-8) 1shaft 0000acceleration Puffer(7) = 0 securepos(bit7-0) Puffer(8) = ampB00001100 000nicht belegt 0accshape 11stepmode 00nicht belegt I2csend Adress Puffer(1) 8 I2csend Adress Resetpos aktuelle Position auf 0 setzen Puffer(1) = Setposition Motor bewegen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB01111111 position(bit 15-8) Puffer(5) = ampB11111111 position(bit 7-0)acute I2csend Adress Puffer(1) 5 End

423 Geschaltete Spannungsquellen und Verbraucher Die Ausgaumlnge des Mikrocontrollers duumlrfen nur mit Stroumlmen kleiner als ungefaumlhr 20 mA belas-tet werden Verbraucher mit einer Stromlast groumlszliger als 20 mA koumlnnen daher nicht direkt an den Mikrocontroller angeschlossen werden Abb 27 zeigt links eine Schaltung zum Schalten eines Verbrauchers wie z B des Relais und rechts eine Schaltung mit dem IC ULN2803A zum Schalten mehrerer Verbraucher wie z B Gluumlhlampen

Abb 27 Erweiterungsschaltungen zum Schalten eines (links) oder

mehrerer Verbraucher (rechts)

Zu beachten ist dass der Transistor BC337 maximal 800 mA schalten kann und fuumlr groumlszligere Stroumlme andere Transistoren verwendet werden muumlssen

424 Steuerung von Gleichstrommotoren

44

Sollen Gleichstrommotoren zum Bewegen von Objekten mit dem Mikrocontroller gesteuert werden dann eignet sich dazu der in Abb 28 dargestellte beschaltete IC L293D

Abb 28 Beschaltung des L293D zum

Steuern zweier Gleichstrom-motoren

Mit Pin 1 = Pin 9 = 1 (High) koumlnnen zwei Gleichstrommotoren M1 und M2 (Versorgungs-spannung UM lt 36 V Spulendauerstrom IM lt 600 mA) unabhaumlngig voneinander ein- und ausgeschaltet sowie in der Drehrichtung uumlber die Ports PA0 und PA1 fuumlr M1 und PA2 und PA3 fuumlr M2 gesteuert werden Z B gilt mit PA0 = PA1 = 0 (M1 ausgeschaltet) PA0 = 1 und PA1 = 0 (M1 dreht sich) PA0 = 0 und PA1 = 1 (M1 dreht sich in Gegenrichtung)

45

43 Quellcodes zum RCL Elektronenbeugung 431 Mikrocontroller-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

46

47

48

49

432 PHP-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

50

51

433 Bedienfeld der Laborseite

Tab 11 erlaumlutert die Funktion der Bloumlcke im Quellcode

Zeilen Funktion 1 Datei defaultconf einbinden 2 Datei headtpl einbinden

5 - 11 Ausgabe der verbleibenden Experimentierzeit 18 - 21 Button zum Einschalten der Elektronenbeugungsroumlhre 28 - 30 Eingabefeld fuumlr die Beschleunigungsspannung

37 Ruumlckmeldung zur eingegebenen Beschleunigungsspannung 42 Datei foottpl einbinden

Tab 11 Funktion der Programmbloumlcke in der Datei experi-menttpl

52

434 Webcamfeld der Laborseite

In Tab 12 ist die Funktion der Programmbloumlcke und die Anpassungen der Vorlage an das RCL Elektronenbeugung beschrieben

Zeilen Funktion Anpassung RCL Elektronenbeugung

5 Titelangabe erscheint als Tabulatorbeschriftung in Browsern

Name des RCLs eintragen

11 - 15 16 - 20

Zwei Javascripts zum getrennten Aufrufen zweier Po-pup-Fenster mit dargestelltem Webcambildern 1 und 2

Javascript 1 die IP-Adresse eintragen Javascript 2 auskommentiert weil nicht benoumltigt

24 - 40 42 - 60

Zwei Javascripts zum Aktualisieren der Webcambilder 1 und 2

Javascript 2 auskommentiert weil nicht benoumltigt

67 - 71 79 - 83

Aufrufen des ersten Webcambilds der Webcams 1 und 2 beim Aufrufen der Datei

Webcambild 2 auskommentiert weil nicht benoumltigt

72 - 78 84 - 90

Buttons zum Aufrufen der Screenshots der Webcam-bilder 1 und 2

Button 2 auskommentiert weil nicht benoumltigt

91 - 95 Zeile der Tabelle zum Eintragen von Informationen die sich auf die Webcambilder oder den Versuch beziehen

Text in Zeile der Tabelle geschrieben

Tab 12 Funktionen der Codeabschnitte in der Datei videohtm und Anpassung der Vor-lage an das RCL Elektronenbeugung

53

44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung Im Folgenden wird die Installation und Konfiguration des AVR-Studios 418 und der Bascom 11198 Demoversion beschrieben Alle Anleitungen sind zeilenweise von links nach rechts zu lesen

441 AVR-Studio 418 4411 Installation Auf der Webseite von ATMEL Register AVR Studio 418 (build 684) anklicken und Registrie-rungsformular ausfuumlllen Danach die Datei AvrStudio418Setup herunterladen Durch Dop-pelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen Next waumlhlen

I accept hellip und Next waumlhlen Installationsordner und Next waumlhlen

54

Installupgrade hellip und Next waumlhlen Install waumlhlen Die Installation beginnt

Finish waumlhlen

4412 Konfiguration AVR Studio 418 in Windows XP Professional unter StartProgramme aufrufen

Startfenster mit Cancel schlieszligen Unter ToolsProgram AVR Auto Connect waumlhlen

55

Im eingeblendeten Fenster auf der Registerkarte Main als Device ATmega16 und als Programming Mode ISP mo-de waumlhlen

Optional kann Signatur gelesen werden

In der Registerkarte Fuses alle Haumlkchen und Auswahlfel-der wie angegeben waumlhlen

Dann Program waumlhlen

442 BASCOM 11198 Demoversion 4421 Installation Auf der Webseite von Bascom unter Bascom AVR Demo die Zip-Datei setupdemoexe her-untergeladen Durch Doppelklick auf den Dateinamen die Installation starten

Next waumlhlen I accept the agreement und Next waumlhlen

56

Next waumlhlen Installationsordner eingeben und Next waumlhlen

Eintrag im Start-Menuuml eingeben und Next waumlhlen Next waumlhlen

Yes restart the computer now und Finish waumlhlen

57

4422 Konfiguration Bascom AVR in Windows XP Professional unter StartProgramme zum Einstellen der Para-meter des Mikrocontrollers und des Terminals aufrufen

OptionsCompilerChip waumlhlen Einstellungen wie im Bild vornehmen und OK waumlhlen

Auf der Registerkarte Communications Einstellungen wie im Bild vornehmen und OK waumlhlen

Unter OptionsCommunication Einstellungen wie im Bild

vornehmen und OK waumlhlen FileNew waumlhlen Unter ToolsTerminal emulator das Terminal aufrufen und

eingeben Die Befehlsliste des RCLs Elektronenbeu-gung wird angezeigt

45 Installation und Konfiguration von Programmen auf dem RCL-Server Im Folgenden wird der Download die Installation und die Konfiguration von Programmen auf dem RCL-Server unter Windows XP Professional beschrieben Alle Anleitungen sind zeilen-weise von links nach rechts zu lesen Die Installation der Programme sollte in der angegebe-nen Reihenfolge erfolgen

58

451 Einrichten des Internet-Zugangs LAN-Verbindung unter StartSystemsteuerungNetzwerkverbindungen aufrufen

Internetprotokoll (TCPIP) und Eigenschaften waumlhlen Folgende IP-Adresse verwenden waumlhlen IP-Adressen ein-

geben und OK waumlhlen

452 Paket XAMPP 174 Unter apache friends - xampp fuumlr windows und XAMPP Windows 174 Installer anklicken und Datei xampp-win32-174-VC6-installerexe speichern Durch Doppelklick auf die Datei die Installation starten

Sprache und Ok waumlhlen Ok waumlhlen

59

Weiter waumlhlen Zielverzeichnis mit Durchsuchen waumlhlen oder eingeben

Apache nicht als Dienst installieren Fertig stellen waumlhlen

Ja waumlhlen Zum Starten des Apache Webservers das Control Panel

unter StartProgrammeXAMPP 173 for Windows mit Start starten Anstelle von Start erscheint Running

Zum Beenden des Apache Webservers Stop waumlhlen Zum Beenden des Control Panels Exit waumlhlen

60

453 Videoserver webcamXP 5 Private Auf der Webseite von Moonware Studios unter webcamXP 55xx die Datei wlite550 herun-terladen Durch Doppelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen I Agree waumlhlen

Next waumlhlen Auszliger webcamXP 5 brauchen keine weiteren Komponen-

ten installiert zu werden

Den vorgeschlagenen Ordner und Install waumlhlen Finish waumlhlen

61

WebcamXP unter StartProgramme aufrufen Zugesandte

Lizenz-Daten in das eingeblendete Fenster eingeben und Register waumlhlen

Beim Starten des Programms stellt webcamXP automa-tisch eine Verbindung zu den am Computer angeschlosse-nen Webcams her

Nach dem Start ist Uumlberwachen gewaumlhlt Durch Rechts-klick mit der Maus auf das Videofenster wird zu jeder Vi-deoquelle ein Kontextmenuuml angezeigt Wird kein Videobild dargestellt das Kontextmenuuml aufrufen Art der Videoquelle waumlhlen (hier USB) und unter den erkannten Videoquellen (hier USB-Videogeraumlt) die gewuumlnschte waumlhlen

Das Videoformat muss fuumlr eine passende Darstellung auf

der Laborseite auf 320 x 240 eingestellt sein Ist das nicht der Fall im Kontextmenuuml unter Video Format einstellen

In gleicher Weise kann eine zweite Videoquelle hinzugefuumlgt werden

In der Registerkarte Web Broadcast kann unter

Broadcast (HTTP) der Videoserver mit Ausschalten ge-stoppt und mit Aktivieren gestartet werden

Zur Zielwahl des Webservers (131246237167 - Internet D16W3X3J - Computer 127001 - Local Host) Videoser-ver stoppen und einstellen Videoserver wieder starten

62

454 Terminalprogramm Hyperterminal Hyperterminal in Windows XP Professional unter StartProgrammeZubehoumlrKommunikation aufrufen

Name der neuen Verbindung - z B Interface - eingeben

und OK waumlhlen Die Verbindung zwischen Computer und Interface wurde

uumlber einen USB-Seriell-Adapter hergestellt Dann erschei-nen zwei zusaumltzliche Eintraumlge (Motorola Comp Modem und COM5) in der Liste Prinzipiell muss eine COMx-Verbindung gewaumlhlt werden

Eigenschaften von COM 5 wie im Bild einstellen und OK

waumlhlen DateiEigenschaften aufrufen und ASCII-Konfiguration

waumlhlen

63

Haken bei Eingegebene Zeichen lokal ausgeben (lokales

Echo) setzen um eingegebenen Zeichen im Hyperterminal zu sehen

Bei funktionsfaumlhiger Verbindung erscheint nach Eingabe von Return die Befehlsliste des Interface

Durch Aufrufen von DateiSpeichern die erstellte Verbin-

dung z B auf dem Desktop speichern Dadurch braucht die Verbindung nicht immer wieder von neuem konfiguriert wer-den

Nach Aufrufen von DateiBeenden die bestehende Verbin-dung mit Ja beenden

64

Wurde ein falscher COM-Port gewaumlhlt reagiert das Inter-

face auf die Eingabe Return nicht Hyperterminal dann beenden

Der COM-Port kann dann nicht unter DateiEigenschaften im Hyperterminal aber unter Eigenschaften des Kontext-menuumls der Datei Interfaceht in der Registerkarte Verbin-den mit geaumlndert werden Dann OK waumlhlen und erneut Verbindung testen

65

455 Fernwartungssoftware TeamViewer 6 Host Auf der Webseite von Teamviewer GmbH unter Fuumlr unbeaufsichtigte Server TeamViewer Vollversion die Datei TeamViewer_Setup-wq herunterladen Das Programm muss auf dem RCL-Server und dem Computer der auf den RCL-Server zugreifen soll installiert werden Durch Doppelklick auf die Datei die Installation starten

Ausfuumlhren waumlhlen Weiter waumlhlen

Fuumlr die private nicht kommerzielle Nutzung ist Teamviewer kostenlos

privat nicht-kommerziell und Weiter waumlhlen

Beide Haumlkchen setzen und Weiter waumlhlen

66

Ja un Weiter waumlhlen Weiter

Computername und Kennwort fuumlr den Zugriff auf den RCL-Server oder den eigenen Computer vergeben Kenn wort notie-ren

Ein Teamviewerkonto ist nicht erforderlich Kann auch spaumlter noch eingerichtet werden

ID fuumlr den Computer auf dem das Programm installiert wird fuumlr Zugriff notieren

Das Programm wird gestartet Standardmaumlszligig vorein-gestellt ist der Start des Programms beim Start des Be-trienssystems

67

46 Selbstbau eines elementaren RCLs 461 Hard- und Software Auch ohne gleich ein vielleicht teures physikalisches Experiment zu steuern laumlsst sich mit wenigen Bauelementen ein elementares RCL realisieren Von einer Webseite im Internet sol-len eine Leuchtdiode (LED) ein- oder ausgeschaltet sowie der Zustand der Leuchtdiode und eines Tasters abgefragt werden An Hard- und Software werden benoumltigt

1 Low-Current-LED 5 mm 2 mA 1 Widerstand 18 kΩ 1 Taster und optional zwei 10-polige Wannenstecker mit ungefaumlhr 10 cm passendem Flachbandkabel und Buchsen

Interface in Basisschaltung Null-Modem-Kabel 12 V DC Steckernetzteil (larr 1)

Installierte Bascom-Demo-Version (larr 42)

AVR ISP-Programmer mit 10-poligem Programmierkabel

Installiertes und konfiguriertes AVR Studio 418 (larr 41)

Installiertes Paket XAMPP (larr 52)

Texteditor wie z B Notepad in Windows XP Professional

Konfigurierte Hyperterminalverbindung (larr 54)

462 Bestuumlckung der Platine Abb 29 zeigt zur Orientierung fuumlr das Einloumlten der Bauelemente die fertig bestuumlckte Platine des Interface

Abb 29 Mit elementarem RCL bestuumlckte Platine

des Interface

LED mit Vorwiderstand und der Taster sind rechts neben dem Mikrocontroller im Lochraster-bereich aufgebaut und uumlber Wannenstecker und Flachbandkabel mit dem Port A des Mikro-controllers verbunden (die drei Bauteile rechts neben dem ATmega16 werden nicht benouml-tigt) Tab 13 erlaumlutert die Schritte zur Bestuumlckung der Platine des Interface

68

Nr Schaltung Erlaumluterung

1

Die Leuchtdiode (LED) mit dem Pluspol (langes Beinchen) an PortA0 (PIN40 oben rechts) des Mikrocontrollers anloumlten

An das kurze Beinchen einen 18kΩ Widerstand loumlten dessen anderes Ende mit der Masse (GND) verbinden

2

Den Taster mit PortA1 (PIN39 = 2 Beinchen von oben rechts) und Masse (GND) verbinden

3

Draufsicht

Belegung des 10-poligen Wannensteckers 1 GND (Masse) im Foto oben links 2 +5 V 3 PortA0 4 PortA1 10 PortA7 im Foto unten rechts

Tab 13 Schritte zum Aufbau des elementaren RCLs

463 Lokal gesteuertes RCL Nachfolgend ist der Basic-Programmcode des Mikrocontrollers zur Steuerung und Abfrage der LED und des Tasters angegeben 01 $regfile = m16DEFdat Microcontroller ATmega16 02 $crystal = 11059200 110592MHz Quarz 03 $baud = 9600 Baudrate 04 05 ---[ Variables ]--------------------------------------------------------------- 06 Dim Rs232kommando As String 10 erst Befehlspuffer dann Kommando 07 Dim Parameter As String 10 Parameter 08 Dim Str_pos As Byte Position von Leerzeichen zur Trennung von Kommando und Pa-rameter 09 10 ---[ Initialisierung ]--------------------------------------------------------- 11 Ddra0 = 1 PortA0 als Ausgang fuumlr LED 12 Porta0 = 0 LED aus 13 Ddra1 = 0 PortA1 als Eingang fuumlr Taster 14 Porta1 = 1 Pull-Up aktivieren 15 16 ---[ Main program loop ]------------------------------------------------------- 17 Do Start der Endlos-Schleife 18 19 If Ischarwaiting() = 1 Then Zeichen uumlber RS232 empfangen 20 Input Rs232kommando neues Kommando lesen 21 Parameter = Parameter initialisieren 22 Str_pos = Instr(rs232kommando ) Leerzeichen im Kommando suchen 23 If Str_pos gt 0 Then falls Leerzeichen dann in Kommando+Parameter zerlegen 24 Incr Str_pos Str_pos soll jetzt auf 1Zeichen des Parameters zeigen 25 Parameter = Mid(rs232kommando Str_pos ) Parameter = Teilstring nach Leerzeichen 26 Parameter = Ucase(parameter) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 27 Str_pos = Str_pos - 2 Str_pos soll jetzt auf letztes Zeichen des Kommandos zeigen 28 Rs232kommando = Left(rs232kommando Str_pos)Kommando = Teilstring vor Leerzeichen 29 Rs232kommando = Ucase(rs232kommando) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 30 End If 31 32 Select Case Rs232kommando Eventhandler Interpretation der Kommandos 33 Case Print Hilfe Hilfeseite anzeigen 34 Print LED on - LED einschalten 35 Print LED off - LED ausschalten 36 Print LED - zeigt Status der LED an 37 Print SW - zeigt Status des Schalters an 38

1K8

LED rotmicroC PortA0(PIN40)

Taster

microC PortA1(PIN39)

1

3

2

69

39 Case LED If Parameter = ON Then LED schalten 40 Porta0 = 1 41 End If 42 If Parameter = OFF Then 43 Porta0 = 0 44 End If 45 46 Case LED If Porta0 = 0 Then Status der LED ausgeben 47 Print LED aus 48 Else 49 Print LED an 50 End If 51 52 Case SW If Pina1 = 1 Then Status des Schalters ausgeben 53 Print Taster offen 54 Else 55 Print Taster geschlossen 56 End If 57 58 Case Else Print gt Rs232kommando lt ungueltiger Befehl - weitere Infos mit Info bei unguumlltigen Eingaben 59 End Select 60 61 End If 62 63 Loop Endlos-Schleife Springe zu Do 64 65 End wird nie erreicht

Der erste Teil des Programms (Zeilen 1 - 15) enthaumllt die Systemparameter Variablen und Initialisierung der Ein- und Ausgaumlnge Der zweite Teil enthaumllt ab Zeile 17 das Hauptpro-gramm in dem Benutzereingaben uumlber die serielle Schnittstelle empfangen interpretiert und in entsprechende Anweisungen umgesetzt werden Tab 14 erlaumlutert den Programmcode de-taillierter

Zeilen Erlaumluterung

1 - 3 Diese Angaben teilen dem Compiler (Bascom) mit welcher Prozessor eingesetzt wird wie schnell dieser getaktet (Quarz) ist und mit welcher Uumlbertragungsgeschwindigkeit die Kommunikation uumlber die serielle Schnittstelle (RS232) mit dem PC erfolgen soll

6 - 8 Es werden drei Variablen genutzt Die Eingabe uumlber die serielle Schnittstelle wird in rs232kommando gespeichert Es wird ein Text der Form Kommando ltLeerzeichengt Parameter erwartet so dass die Variable Parameter den-selbigen aufnimmt Die Variable str_pos wird fuumlr die Trennung von Kommando und Parameter benoumltigt

11 - 14

Mit dem Befehl ddrPX (ddr = data direction) wird festgelegt ob ein Beinchen als Ausgang (=1) oder als Eingang (=0) arbeiten soll Der ATmega16 besitzt 32 Ein-Ausgaumlnge die in vier Ports (P=AD) zu je 8 Pins (X=07) unterteilt sind ddrA0 = 1 legt also das 1 Beinchen (Pin 0) von PortA als Ausgang (=1) fest Mit dem Befehl PortA0 =1 kann dieser Pin dann durch Zuweisen von 1 oder 0 an- bzw ausgeschaltet werden Im Datenblatt erfahren Sie welches der 40 Beinchen des Mikrocontrollers wie bezeichnet wird (Pin-Belegung) Wird ein Beinchen als Eingang verwendet (ddrA1 = 0) koumlnnen Sie optional einen so genannten Pull-Up-Widerstand aktivieren (PortA1=1) oder deaktivieren (PortA1=0) Auch hierzu sollten Sie sich unbedingt mit dem Datenblatt vertraut machen

17 63 Das Hauptprogramm besteht aus einer Endlosschleife d h der Mikrocontroller verrichtet ununterbrochen seinen Job so lange er mit Strom versorgt wird

19 - 30 Falls ein Zeichen uumlber die serielle Schnittstelle empfangen wurde wird dieses und alle folgenden gelesen Anschlie-szligend wird gepruumlft ob der empfangene Text von der Form Kommando ltLeerzeichengt Parameter ist so dass er ge-gebenenfalls in ein Kommando und einen Parameter zerlegt werden kann

32 - 59 Dieser Abschnitt wird mit Event-Handler bezeichnet Hier wird auf die Kommandos (Events) reagiert und die ent-sprechenden Schritte ausgefuumlhrt zB schalten LED je nach Wert der Variablen Parameter an- bzw ausschalten

46 52

In beiden Zeilen wird ein Wert eines Ports abgefragt Unterschiedlich ist dass in Zeile 46 der Status eines Ausgangs abgefragt wird (porta0) und in Zeile 52 der Zustand eines Eingangs (pina0) Die Anweisung IF porta0 = 0 THEN pruumlft (hier ist = ein Vergleich und KEINE Zuweisung) ob zuletzt die LED ausgeschaltet (Zuweisung porta0 = 0) wurde Die Anweisung IF pina1= 1 THEN liest den Status eines Eingangs Hier kann festgestellt werden ob der Eingang uumlber den internen Pull-UP-Widerstand auf +5V liegt (pina1 liefert 1) oder ob der Schalter den Eingang mit Masse (0V) verbindet (pina1 liefert 0)

Tab 14 Erlaumluterung des Mikrocontroller-Programmcodes fuumlr elementares RCL

70

In Bascom AVR eine neue Datei erzeugen (FileNew) den Programmcode ohne Kommenta-re eingeben und mit ProgramCompile (F7) eine Hexadezimaldatei erzeugen Die Hexadezi-maldatei mit dem AVR-Studio und dem AVR-ISP-Programmer in den Mikrocontroller schrei-ben (larr 222 Programmuumlbertragung) Nach dem Verbinden von Computer und Interface per Null-Modem-Kabel kann durch Eingabe von in das konfigurierte Hyperterminal die Befehls-liste in Abb 30 aufgerufen werden

Abb 30 Aufgerufene Befehlsliste im Hyperterminal

Durch Eingabe von LED on oder LED off kann die LED ein- und ausgeschaltet LED zeigt den Status der LED und sw den Status des Tasters an Alternativ zum Hyperterminal kann auch das Terminal in BASCOM unter ToolsTerminal Emulator verwendet werden (larr 422)

464 Ferngesteuertes RCL Zum Ansteuern des Interfaces und zum Bedienen des Versuchsaufbaus uumlber das Internet wird eine Webseite benoumltigt die dem Benutzer alle Bedienelemente des Experiments zur Verfuumlgung stellt

Der Benutzer benoumltigt anklickbare Buttons im Webbrowser

Der Webserver muss die Information welcher Button gedruumlckt wurde empfangen und ein entsprechendes Kommando uumlber die serielle Schnittstelle an das Interface senden

Beide Schritte sind im nachfolgenden PHPHTML-Quellcode zusammengefasst 01 ltDOCTYPE HTML PUBLIC -W3CDTD HTML 401 TransitionalEN httpwwww3orgTRhtml4loosedtdgt 02 lthtmlgt 03 ltheadgt 04 ltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1gt 05 lttitlegtelementares RCLlttitlegt 06 ltheadgt 07 08 ltbodygt 09 ltphp 10 if (isset($_POST[Kommando])) wurde bereits Kommando gesendet 11 if( ( $handle = fopen( COM1 w+ ) ) ) Schnittstelle oumlffnen 12

71

13 throw new Exception( Can not access serial port 2 ) ohne Erfolg 14 15 fwrite( $handle $_POST[Kommando] chr( 13 ) ) Befehl an Interface senden 16 switch ( $_POST[Kommando] ) Antwort von Interface auswerten 17 case LED $tmp = fgets( $handle ) Echo von Interface ignorieren 18 $antwort = fgets( $handle ) Antwort des Interfaces 19 echo Antwort $antwort Ausgabe auf Webseite 20 break switch verlassen 21 22 case SW $tmp = fgets( $handle ) Echo von Interface ignorieren 23 $antwort = fgets( $handle ) Antwort des Interfaces 24 echo Antwort $antwort Ausgabe auf Webseite 25 break switch verlassen 26 27 28 29 fclose( $handle ) Schnittstelle schlieszligen 30 31 else 32 `mode com1 BAUD=9600 PARITY=N data=8 stop=1 xon=off` Schnittstellenparameter setzen 33 34 35 gt 36 37 lth3gtBefehl sendenlth3gt 38 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 39 ltinput type=hidden name=Kommando value=LED ON gt 40 ltinput type=submit value=LED anschalten gt 41 ltformgt 42 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 43 ltinput type=hidden name=Kommando value=LED OFF gt 44 ltinput type=submit value=LED ausschalten gt 45 ltformgt 46 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 47 ltinput type=hidden name=Kommando value=LED gt 48 ltinput type=submit value=LED abfragen gt 49 ltformgt 50 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 51 ltinput type=hidden name=Kommando value=SW gt 52 ltinput type=submit value=Taster abfragen gt 53 ltformgt 54 ltbodygt 55 lthtmlgt Den Quellcode in den Texteditor kopieren und im Ordner htdocs von XAMPP z B unter rclphp speichern HTML-Dateien mit PHP-Code (Zeilen 9-35) muumlssen mit der Erweiterung php gespeichert werden damit der Apache Webserver zwischen HTML-Seiten mit und ohne PHP-Code unterscheiden kann Den installierten Apache Webserver starten (larr 452) und im Adressfeld des Webbrowsers die IP-Adresse http127001rclphp aufrufen Das Bedi-enfeld des elementaren RCLs in Abb 31 wird im Browserfenster angezeigt

72

Abb 31 Laborseite des elementaren RCLs

Im Bedienfeld kann die LED an- und ausgeschaltet sowie der Status von LED und Taster abgefragt werden

  • 0 Warum ein Tutorial zur RCL-Technik
  • 1 Technische Konzeption
    • 11 Einfuumlhrung
    • 12 Wahl der RCL-Technik
      • 2 Lokal gesteuertes RCL
        • 21 Interface
          • 211 Mikrocontroller
          • 212 Basisschaltung und Erweiterungsschaltungen
          • 213 Programmierung des Mikrocontrollers
            • 22 Hyperterminal
            • 23 Positionieren von Objekten
              • 231 Hybrid-Schrittmotoren
              • 232 Schrittmotorsteuerung und Positionierungsmechanik
                  • 3 Ferngesteuertes RCL
                    • 31 RCL-Server
                    • 32 Laborseite
                      • 321 Steuerung des RCLs uumlber das Bedienfeld
                      • 322 Videouumlbertragung im Webcamfeld
                        • 33 Standard-Lernumgebung
                          • 4 ANHANG
                            • 41 Interface in Basisschaltung
                              • 411 Schaltplan und Bauteilliste
                              • 412 Bestuumlckung der Platine
                                • 42 Erweiterungsschaltungen
                                  • 421 Uumlbersicht
                                  • 422 TMC222-Modul zur Schrittmotorsteuerung
                                    • 4221 Schaltplan und Bauteilliste
                                    • 4222 Bestuumlckung der Platine
                                    • 4223 Quellcode des Mikrocontroller-Programms
                                      • 423 Geschaltete Spannungsquellen und Verbraucher
                                      • 424 Steuerung von Gleichstrommotoren
                                        • 43 Quellcodes zum RCL Elektronenbeugung
                                          • 431 Mikrocontroller-Programmierung
                                          • 432 PHP-Programmierung
                                          • 433 Bedienfeld der Laborseite
                                          • 434 Webcamfeld der Laborseite
                                            • 44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung
                                              • 441 AVR-Studio 418
                                                • 4411 Installation
                                                • 4412 Konfiguration
                                                  • 442 BASCOM 11198 Demoversion
                                                    • 4421 Installation
                                                    • 4422 Konfiguration
                                                        • 45 Installation und Konfiguration von Programmen auf dem RCL-Server
                                                          • 451 Einrichten des Internet-Zugangs
                                                          • 452 Paket XAMPP 174
                                                          • 453 Videoserver webcamXP 5 Private
                                                          • 454 Terminalprogramm Hyperterminal
                                                          • 455 Fernwartungssoftware TeamViewer 6 Host
                                                            • 46 Selbstbau eines elementaren RCLs
                                                              • 461 Hard- und Software
                                                              • 462 Bestuumlckung der Platine
                                                              • 463 Lokal gesteuertes RCL
                                                              • 464 Ferngesteuertes RCL

17

213 Programmierung des Mikrocontrollers Im Folgenden wird die Programmstruktur des Mikrocontroller-Programms und die Uumlbertra-gung des Programmcodes in den Mikrocontroller beschrieben

Programmstruktur Der Mikrocontroller ist mit einem Programm (Firmware) ausgestattet um die Aufgaben des Interfaces abzuarbeiten Hierzu zaumlhlen im Wesentlichen Programmteile zur Kommu-nikation mit dem RCL-Server und zur Steuerung des Experiments da das Interface eine Schnittstelle zwischen Experiment und RCL-Server darstellt Weitere Programmteile sind beispielsweise zur Initialisierung des Versuchsaufbaus und der Steuerparameter sowie zur Konfiguration des Interfaces realisiert Abb 7 zeigt ein Flussdiagramm der Programm-teile zur Kommunikation mit dem RCL-Server und zur Steuerung des Experiments

Abb 7 Flussdiagramm der Programmierung des Mikrocontrollers

Der Programmteil zur Kommunikation mit dem RCL-Server besteht im Wesentlichen aus einer Schleife die unablaumlssig auf Steuerzeichen des RCL-Servers wartet diese gegebe-nenfalls empfaumlngt und auswertet Soll mittels eines empfangenen Steuerzeichens der Versuchsaufbau angesteuert werden wird vom Kommunikations-Programmteil eine ent-sprechende Anweisung fuumlr den Steuerungs-Programmteil generiert In der Schleife wer-den auch Antworten wie z B Messergebnisse des Steuerungs-Programmteils entgegen-genommen und an den RCL-Server ausgegeben Der Kommunikations-Programmteil kann Kommandos mit und ohne Parameter entgegen-nehmen und verarbeiten So lassen sich einfache Befehle wie Start und Stopp eines Mo-tors aber auch speziellere Anweisungen wie Messe uumlber den Bereich von a nach b mit einer Schrittweite c ausfuumlhren Auch Messergebnisse oder Statusinformationen in Form einzelner Daten wie Zahlen oder Listen koumlnnen vom Kommunikations-Programmteil an den RCL-Server uumlbertragen werden Ferner uumlbernimmt der Kommunikations-Programmteil auch den Austausch von Konfigurationsdaten fuumlr das Interface beispiels-

18

weise Motorparameter oder Zeitvorgaben fuumlr eine Standby-Funktion Schlieszliglich gibt der Kommunikations-Programmteil auch Fehlermeldungen an den RCL-Server aus etwa bei einem Fehlerzustand im Experiment oder bei fehlerhaften Anweisungen des Besuchers bzw des RCL-Servers Im Programmteil zur Steuerung des Experiments erfolgt die Ansteuerung von Aktoren und das Auslesen von Sensoren mittels elektronischer Aus- und Eingaumlnge (Ports) des Mikro-controllers Gegebenenfalls sind zwischen den Ports des Mikrocontrollers und dem Expe-riment Erweiterungsschaltungen erforderlich (larr 212 Erweiterungsschaltungen) Der Steuerungs-Programmteil ist als Interrupt-Routine implementiert Interne Zeitgeber des Mikrocontrollers rufen den Programmteil zyklisch z B alle 1 oder 10 Millisekunden auf wobei die zuvor beschriebene Schleife des Kommunikations-Programmteils kurzzeitig fuumlr die Abarbeitung des Steuerungs-Programmteils unterbrochen wird Hierdurch wird die Steuerung als Real-Time-Prozess12 ausgefuumlhrt und es koumlnnen insbesondere zeitkritische Steueraufgaben mit einer Aufloumlsung von ungefaumlhr 1 - 10 ms zuverlaumlssig erledigt werden Ferner ist im Mikrocontroller und dem Programm ein sogenannter Watchdog installiert der das Programm bei einem Programmabsturz automatisch neu startet Der Watchdog als elektronische Baugruppe im Mikrocontroller fuumlhrt einen Neustart des Mikrocontrollers (Reset) durch sofern er nicht mehr uumlber das Programm in vorgegebenen Zeitintervallen angesteuert wird Je nach RCL gibt es noch weitere Interrupt-Routinen die unabhaumlngig vom Zeittakt des Mikrocontrollers auf externe Ereignisse wie z B Ausgangsspannungsaumlnderungen eines Sensors reagieren Damit kann besonders schnell auf Erfordernisse des Experiments re-agiert oder es koumlnnen Zeitmessungen mit einer Genauigkeit von ungefaumlhr 10-6 s durchge-fuumlhrt werden Im Anhang (rarr 431) ist der Pascal-Quellcode fuumlr den Mikrocontroller des RCLs Elektronenbeugung verfuumlgbar

Programmuumlbertragung Nach der Kompilierung des Assembler- Basic- C+- C++- oder Pascal-Programms liegt eine Hexadezimaldatei vor die vom Computer in den Mikrocontroller uumlbertragen werden muss (Flashen des Programms) Zur Programmuumlbertragung muss das AVR-Studio instal-liert und konfiguriert sein (rarr 441) Abb 8 zeigt wie die Programmuumlbertragung durchge-fuumlhrt wird

12 Real-Time bedeutet hier dass die maximale Dauer eines Vorgangs vorhersehbar und gewaumlhrleistet ist dass eine Steuer-

aufgabe nach einer vorhersehbaren Zeit abgeschlossen ist

19

Abb 8 Programmuumlbertragung zwischen Computer und Mikrocontroller im Inter-

face des RCLs Elektronenbeugung uumlber USB-Seriell-Adapter und ISP-Programmer

Das Interface braucht nicht mit dem Experiment verbunden zu sein Auch Erweiterungs-schaltungen innerhalb oder auszligerhalb des Interface muumlssen nicht mit dem Mikrocontroller verbunden sein Das Interface ermoumlglicht uumlber die ISP-Schnittstelle die Programmierung mit einem preisguumlnstigen ISP-Programmer ohne ein teureres Experimentierboard13 Zur Uumlbertragung des Programms muss in folgenden Schritten vorgegangen werden

(1) Spannungsversorgung des Interface zur Sicherheit unterbrechen weil beim Verbinden mehrpoliger Steckerverbindungen es zu Kurzschluumlssen kommen kann

(2) 10-poligen ISP-Stecker des ISP-Programmers an die ISP-Schnittstelle des Interface anschlieszligen

(3) ISP-Programmer an die serielle Schnittstelle oder uumlber USB-Seriell-Adapter an die USB-Schnittstelle des Computers anschlieszligen

(4) Spannungsversorgung des Interface wieder herstellen

(5) AVR-Studio unter StartProgramme aufrufen und nach Abb 9 in der Registerkarte Program unter Flash die zu uumlbertragende Hexadezimal-Datei z B Elektronenbeu-gunghex auf der Festplatte auswaumlhlen und Program waumlhlen

13 Vgl ATMEL STK 500 Entwicklerkit bei Reichelt Elektronik

20

Abb 9 Uumlbertragung der Hexadezimaldatei Elekt-

ronenbeugunghex in den Mikrocontroller

(6) Spannungsversorgung des Interface unterbrechen ISP-Programmer vom Interface trennen AVR-Studio beenden und den ISP-Programmer vom Computer trennen

22 Hyperterminal Nach der Programmuumlbertragung kann das Experiment uumlber das konfigurierte Hyperterminal (rarr 454) lokal gesteuert werden Mit dem Hyperterminal koumlnnen als Text eingegebene Be-fehle oder Abfragen an den Mikrocontroller gesendet oder von diesem empfangen werden Der Computer muss wie bei der Programmuumlbertragung mit dem Interface per Null-Modem-Kabel uumlber die serielle Schnittstelle oder einen USB-Seriell-Adapter verbunden sein Das In-terface muss an die Versorgungsspannung anschlossen sein braucht aber nicht mit dem Experiment verbunden zu sein Abb 10 zeigt nach Eingabe von und von param im Hyper-terminal die Befehlsliste des Mikrocontrollers fuumlr das RCL Elektronenbeugung

21

Abb 10 Befehlsliste des Mikrocontrollers im Hyperterminal fuumlr das RCL Elektronenbeugung

Tab 4 gibt Erlaumluterungen zur Befehlsliste

BefehlAbfrage Erlaumluterung

DA x Am Eingang des DA-Wandlers wird die Zahl x (0 - 255) im Binaumlrcode

angelegt und die Ausgangsspannung des Hochspannungsnetzgeraumlts bzw die Beschleunigungsspannung der Elektronenkanone eingestellt

OnOff Hochspannungsnetzgeraumlt und Gluumlhkathode der Elektronenkanone ein-

oder ausschalten Beim Einschalten wird die Steuerspannung des Inter-face am Hochspannungsnetzgeraumlt auf asymp 0 V einstellt

Standby Ausgabe der eingestellten Standbyzeit von 300 s setSB x Standbyzeit einstellen

next Standby in Ausgabe der verbleibenden Standbyzeit (254 s) bis das Experiment

ausgeschaltet wird Eine negative Standbyzeit gibt die Zeit seit dem Ab-lauf der Standbyzeit an

Power On Delay Ausgabe der Verzoumlgerungszeit (2 s) bis das Hochspannungsnetzge-

raumltElektronenbeugungsroumlhre nach dem Ausschalten oder nach Ablauf der Standbyzeit erneut eingeschaltet werden kann

setPOD x Verzoumlgerungszeit einstellen

power on enabled in Ausgabe wie lange Hochspannungsnetzgeraumlt nicht eingeschaltet wer-

den kann Zeiten unter 0 bedeuten dass Power-On-Delay-Zeit ablaufen ist

Tab 4 Erlaumluterung der Befehle in Abb 10

23 Positionieren von Objekten In fast allen RCLs des RCL-Portals auszliger den RCLs Elektronenbeugung und Oszilloskop muumlssen Objekte rotatorisch oder translatorisch positioniert werden Eingesetzt werden Hyb-rid-Schrittmotoren als Aktoren eine Schrittmotorsteuerung von Trinamic als Erweiterungs-schaltung (TMC222-Modul) die Positionierungseinheit ausgedienter Flachbrett-Scanner und ein Referenz-Taster als Sensor

231 Hybrid-Schrittmotoren Abb 11 zeigt den vereinfachten schematischen Aufbau eines zweiphasigen Schrittmotors mit getrennten magnetischen Kreisen des Stators und einem permanent magnetisierten zweipoligen Rotor (Polpaarzahl 1)

22

Abb 11 Funktionsprinzip von Schrittmotoren Unipolare (links) und bipolare Schaltung (rechts)

von Schrittmotoren mit Bestromungstabellen fuumlr Voll- und Halbschrittbetrieb Darge-stellt ist der Schritt 0

Der Rotor verfuumlgt bei der dargestellten Polreihenfolge S-S-N-N des Stators uumlber eine stabile Stellung bei einer hypothetischen (magnetische Monopole) Polreihenfolge N-S-N-S gaumlbe es mit diesem Aufbau des Stators nur instabile Stellungen des Rotors Um den Rotor in Bewe-gung zu setzen muss die Polreihenfolge S-S-N-N im oder entgegen den Uhrzeigersinn (Rechts- oder Linksdrehung) weitergeschaltet und der Rotor vom magnetischen Schrittfeld mitgenommen werden

Die magnetische Polaritaumlt eines magnetischen Kreises laumlsst sich entweder durch zwei Spu-len konstanter elektrischer Polaritaumlt mit unterschiedlichem Wicklungssinn (herstellungstech-nisch zu aufwendig) durch eine Spule mit Mittelanzapfung und konstanter elektrischer Pola-ritaumlt der beiden Teilspulen (unipolare Schaltung) oder durch eine Spule mit wechselnder elektrischer Polaritaumlt (bipolare Schaltung) realisieren In Abb 11 sind dazu die elektrischen Beschaltungen und die Bestromungstabellen fuumlr eine Rechtsdrehung des Rotors dargestellt Fuumlr eine Linksdrehung des Rotors muss die Schrittfolge in umgekehrter Reihenfolge durch-laufen werden

Es wird zwischen Vollschrittbetrieb (graue Zeilen der Tabellen) mit Schrittwinkel 90deg bzw Schrittzahl 4 und Halbschrittbetrieb (alle Zeilen der Tabellen) mit Schrittwinkel 45deg bzw Schrittzahl 8 unterschieden Beim Vollschrittbetrieb werden immer beide magnetische Kreise bestromt und die N-S-Polachse des Rotors nimmt nur Stellungen zwischen den Statorpolen

23

an Beim Halbschrittbetrieb wird zwischen den Vollschritten nur einer der magnetischen Krei-se bestromt und die N-S-Polachse des Rotors kann zusaumltzlich 4 Stellungen in Richtung der Statorpole einnehmen Der Hybrid-Schrittmotor ist die am haumlufigsten vertretene Bauform von Schrittmotoren Abb 12 zeigt den Aufbau eines Hybrid-Schrittmotors

Abb 12 Aufbau eines Hybrid-Schrittmotors fuumlr unipolare und

bipolare Schaltung Daten Schrittwinkel 18deg max Drehmoment 155 Ncm

Der Stator besteht aus zwei Straumlngen mit je 4 in Reihe geschalteten Spulen Der Wick-lungssinn der Spulen ist in beiden Straumlngen so dass sich die Polfolge N-S-N-S uumlber den Umfang ergibt Beide Straumlnge zusammen ergeben unabhaumlngig von der Stromrichtung ei-ne Polfolge N-N-S-S-N-N-S-S uumlber den Umfang Ein zweipoliger Rotor (Polpaarzahl 1) kann im Vollschrittbetrieb 4 Stellungen annehmen Der Rotor des Hybridschrittmotors be-steht aber aus axial magnetisierten Permanentmagneten deren Polpaarzahl durch axial versetzte weichmagnetische Zahnscheiben auf 50 erhoumlht wurde Dadurch erhoumlht sich die Schrittzahl auf 4 sdot 50 = 200 und der Schrittwinkel verkleinert sich auf 360deg200 = 18deg Um stabile Rotorstellungen zu erhalten muumlssen die Statorsegmente ebenfalls gezahnt ausge-fuumlhrt werden

Ein solcher Hybrid-Schrittmotor vereint die Vorteile des Reluktanz- und des permanenter-regten Schrittmotors Ein kleiner Schrittwinkel wird durch das von Reluktanzschrittmotoren bekannte Prinzip der Erzeugung einer Vielzahl von Polen des Rotors durch Zahnscheiben erzielt Ein hohes Drehmoment wird durch das von permanenterregten Schrittmotoren be-kannte Prinzip der Ausfuumlhrung des Rotors als Permanentmagnet erzielt Aufgrund der bi-filaren Wicklung besteht jede Statorwicklung aus zwei Teilspulen und der Schrittmotor kann in unipolarer (alle 6 Anschluumlsse verwendet) und bipolarer Schaltung (nur 4 An-schluumlsse verwendet gemeinsamer Anschluss der Teilspulen bleibt unverwendet) wie in Abb 12 dargestellt verwendet werden

24

Schrittmotoren erlauben nicht nur das Bewegen sondern innerhalb der Leistungsgrenzen (keine Schrittverluste) auch ein genaues Positionieren von Objekten Bei bekannter Schrittzahl auf einer gemessenen Strecke oder Schrittzahl fuumlr den Vollwinkel koumlnnen aus-gehend von einer Referenzstellung Objekte translatorisch oder rotatorisch positioniert werden

232 Schrittmotorsteuerung und Positionierungsmechanik Im Folgenden wird die bei allen RCLs mit Schrittmotoren eingesetzte Schrittmotorsteuerung die Mechanik zur translatorischen Positionierung von Objekten und die Funktionsweise eines Referenztasters beschrieben

Schrittmotorsteuerung Abb 13 zeigt das Blockschaltbild und das im Selbstbau herstellbare TMC222-Modul (rarr 4221 rarr 4222) mit dem IC TMC222 von Trinamic zur Steuerung bipolarer 2-phasiger Hybrid-Schrittmotoren

Abb 13 Blockschaltbild (links) und Platine des TMC222-Moduls (rechts) mit IC TMC 222 auf

der Loumltseite der Platine

Der IC TMC222 enthaumllt ein I2C-Interface zum Anschluss an den I2C-Bus des Mikrocon-trollers (Ports PC0 und PC1) Die 10 kΩ-Pull-up-Widerstaumlnde heben die Takt- (SCL clock) und Datenleitung (SDA data) auf ein Potential von 5 V Der IC TMC222 enthaumllt ei-nen Motortreiber fuumlr Spulenstroumlme bis zu 800 mA und einen Motor-Controller zur Steue-rung der Spulenstroumlme Ein Vorteil des TMC-Moduls ist der relativ geringe Programmier-aufwand fuumlr den Mikrocontroller (rarr 4223) da der IC TMC222 nach Uumlbergabe der Steu-erungsparameter (Drehrichtung Drehzahl hellip) vom Mikrocontroller die Ansteuerung des Schrittmotors uumlbernimmt Der IC TMC222 unterstuumltzt das Beschleunigen und Abbremsen des Schrittmotors enthaumllt einen Schrittpositionszaumlhler und unterstuumltzt Mikrostepping (va-riable Spulenstroumlme zur elektronischen Verkleinerung des Schrittwinkels und groumlszligerer Laufruhe)

25

Falls in RCLs Gleichstrommotoren mit houmlheren Drehzahlen als Schrittmotoren benoumltigt werden kann eine andere Erweiterungsschaltung (rarr 424) eingesetzt werden

Positionierungsmechanik und Referenz-Taster Die Mechanik zur rotatorischen Positionierung von Objekten kann meist kostenguumlnstig selbst oder durch Personal in einer Werkstatt angefertigt werden Abb 14 zeigt eine kos-tenguumlnstige Loumlsung zur translatorischen Positionierung von Objekten

Abb 14 Positionierungseinheit eines Flachbrett-

Scanners Schrittmotor (1) Getriebe (2) Li-nearfuumlhrung (3) Antriebsriemen (4) und er-gaumlnzter Referenz-Taster (5)

Falls der geometrische Aufbau und die geforderte Positionierungsgenauigkeit des RCLs es zulassen kann die Schrittmotor-Positionierungs-Einheit ausgedienter Flachbrett-Scanner zur translatorischen Positionierung von Objekten verwendet werden In Einzelfaumll-len wie dem RCL Weltpendel kann die Positionierungsmechanik auch selbst angefertigt werden Der Referenz-Taster in Abb 14 wird eingesetzt um abzufragen ob ein vom Schrittmotor bewegtes Objekt die Position des Tasters erreicht hat und um diese Position zu referenzieren Ohne eine solche Referenzierung kann die Positionierung eines Objekts langfristig ungenau werden So kann z B beim RCL Weltpendel das Auftreffen der Kugel auf den Magneten zum Uumlberspringen von Schrittmotorstellungen fuumlhren Der Zustand des Referenz-Tasters in Abb 15 wird z B uumlber den Port PA0 des Mikrocontrollers abgefragt

Abb 15 Referenz-Taster zum referenzieren der

Position des bewegten Objekts

26

Zu Problemen koumlnnen undefinierte Zustaumlnde der Eingaumlnge des Mikrocontrollers fuumlhren wie sie beim Prellen dem zeitlich begrenzten schwingen eines Tasters beim Oumlffnen oder Schlieszligen entstehen Abhilfe schafft ein passend dimensionierter parallel zum Taster ge-schalteter Kondensator Bei geoumlffnetem Taster ist der Kondensator aufgeladen Beim Schlieszligen haumllt der Kondensator die Spannung uumlber die Schwingphase trotz kurzzeitig wieder geoumlffnetem Schalter noch aufrecht Analoges gilt fuumlr den Uumlbergang vom geschlos-senen zum geoumlffneten Taster

3 Ferngesteuertes RCL 31 RCL-Server Fuumlr den Betrieb eines RCLs wird ein RCL-Server benoumltigt (larr 11) Vorausgesetzt wird dass bei einem neuen Computer alle notwendigen Treiber (Ethernet Video Audio hellip) zum Be-trieb der Hardware des Computers und Windows XP Professional mit Service Pack 3 instal-liert sind Ein Benutzerkonto braucht nicht angelegt zu werden

Der RCL-Server benoumltigt einen Internetzugang mit statischer IP-Adresse und Uploaddatenra-te von mindestens 200 kbits (DSL 2000) fuumlr die fluumlssige Wiedergabe von Bewegungen in Webcambildern Die statische IP-Adresse wird von der Institution am Standort des RCLs vergeben oder kann von Privatpersonen bei einem Provider beantragt werden Mit folgenden Schritten wird der RCL-Server eingerichtet

Internetzugang einrichten (rarr 451) und im Browser testen

Checken ob die Windows Firewall aktiviert ist

Virenschutzproramm Avira Antivir Personal herunterladen (larr Tab 1) installieren und ak-tualisieren

Uumlber Windows Update alle Updates von Windows XP Professional installieren

Fernwartungssoftware TeamViewer 6 Vollversion (larr Tab 1) herunterladen und auf dem RCL-Server und dem eigenen Computer installieren (rarr 455)

Webeditor Notepad++ herunterladen installieren und aktualisieren (larr Tab 1)

Videoserver WebcamXP 5 herunterladen und installieren (rarr 453)

Paket XAMPP herunterladen und installieren (rarr 452) Verknuumlpfungen mit den Dateien xampphtdocsapache_startbat und xampphtdocsapache_stopbat auf dem Desktop oder in der Schnellstartleiste erstellen und Webserver mit erstgenannter Verknuumlpfung starten Webserver durch Eingabe von 127001 oder localhost ins Adressfeld des Brow-sers testen Bei erfolgreichem Test werden die im Ordner xampphtdocs abgelegten Webseiten von XAMPP dargestellt Statische IP-Adresse des RCL-Servers im Browser eines anderen Computers mit Internetzugang eingegeben Bei erfolgreichem Test werden die Webseiten von XAMPP dargestellt In der Datei xamppphpphpini unter Resource Limits die max_execution_time mit dem Windows-Editor von 60 auf 300 erhoumlhen und die

27

Datei speichern damit PHP bei Befehlen mit laumlngerer Ausfuumlhrungsdauer keine Fehler-meldung liefert

Ordner xampphtdocs mit den Webseiten von XAMPP in xampphtdocs_xampp um-benennen und fuumlr spaumltere Testzwecke nicht loumlschen RCL-Ordner htdocs herunterladen (larr Tab 1) extrahieren und in das Verzeichnis xampp verschieben

Abb 16 zeigt die Struktur des RCL-Ordners htdocs

Abb 16 Struktur des RCL-Ordners htdocs RCL-spezifisch anzupassende Dateien sind grau

hinterlegt

Der geoumlffnete Ordner Labor enthaumllt alle PHP- und HTML-Dateien bzw Programmierungen fuumlr die Funktionalitaumlt des Bedienfelds der Laborseite (larr 11 Abb 3) An das RCL anzupas-sen sind die portalsprachenunabhaumlngigen Dateien configphp und experimentphp sowie fuumlr jede Portalsprache die Dateien defaultconf und experimenttpl in den Ordnern eng fra ger und ita

Datei configphp Zeit bis zum automatischen Logout beim Experimentieren mit dem RCL eintragen

Datei experimentphp PHP-Basisprogrammierung um die RCL-spezifische PHP-Programmierung erweitern (rarr 432)

Datei defaultconf Name des RCLs (z B Elektronenbeugung) in jeder Portalsprache ein-getragen

Datei experimenttpl HTML-Basisprogrammierung um RCL-spezifische Ein- und Ausga-befelder erweitern (rarr 433)

28

32 Laborseite 321 Steuerung des RCLs uumlber das Bedienfeld Das Bedienfeld der Laborseite (larr 11 Abb 3) wird von der Dateien indexphp und experi-menttpl erzeugt Befehle wie das Anklicken von Buttons Eingaben und Auswahl aus Listen werden in ein HTML-Formular mit Formularfeldern in der Datei experimenttpl geschrieben Die Daten werden von der PHP-Datei experimentphp ausgewertet und uumlber die serielle Schnittstelle dem Mikrocontroller-Programm zur Steuerung des Experiments uumlbergeben Die Dateien experimentphp und experimenttpl wurden getrennt angelegt um Code und Design zu trennen und nur das Design in der Datei experimenttpl an die Portalsprache anpasst werden muss

Tab 5 enthaumllt Ausschnitte der HTML-Datei experimenttpl (rarr 433) der Datei experi-mentphp (rarr 432) und des Mikrocontroller-Programms (rarr 431) fuumlr das RCL Elektronen-beugung

29

Code mit Erlaumluterung

expe

rimen

ttpl

1821 Tag ltformgtltformgt definiert ein Formular 18 Attribut action legt fest dass Formulardaten in der Datei indexphp verarbeitet werden Uumlbertragen

werden eine Session-ID ($sid) um exklusiven Zugriff des jeweilgen Besuchers zu sichern und ($portal) um die vom Besucher gewaumlhlte Sprache beizubehalten post ist eine Uumlbertragungsmethode zwischen Browser und Webserver und gibt die die vom Besucher gewaumlhlte Aktion zum Ansteuern des Experiments an die Datei experimenttpl weiter

20 Erzeugt im Bedienfeld den Sendebutton (submit) mit der Aufschrift Elektronenroumlhre einschalten (valu-e)

19 Unsichtbares Feld (hidden) mit Variablennamen action und Wert RoumlhreAn Der Variablenname ac-tion stimmt nur zufaumlllig mit action in Zeile 18 uumlberein

expe

rimen

tphp

24 Die Funktion wird als Eventhaumlndler bezeichnet weil je nach uumlbergebener Aktion - siehe Zeile 19 in experi-

menttpl - die entsprechenden Anweisungen (case) ausgefuumlhrt werden 37 Fuumlr den Fall dass die Variable $action den Wert RoumlhreAn hat wird die Funktion power_on() aufgeru-

fen

59 Schreibt in die Logdatei logtxt den Text RoumlhreAn 6061 Oumlffnet den in der Datei configphp zentral gespeicherten Com-Port an den das Interface angeschlossen ist

oder gibt Fehlermeldung Can not access file system im Bedienfeld aus falls der Com-Port sich nicht oumlff-nen laumlsst

62 Sendet die Zeichenfolge On und chr(13) (entspricht der Betaumltigung der Return-Taste im Hyperterminal) an den Mikrocontroller

63 Schlieszligt serielle Schnittstelle

Que

llcod

e M

ikro

cont

rolle

r

166 Wird uumlber die serielle Schnittstelle der Befehl on empfangen und ist das Einschalten zulaumlssig (Zeiten fuumlr

PowerOnDelay und Standby abgelaufen) dann hellip 167 Hochspannungsnetzgeraumlt einschalten 168 Der DA-Wandler PCF8591 wird unter seiner Adresse PCF8591 = 01001000 angesprochen Parameterein-

stellungen mit 01000000 und Ausgangsspannung auf 0 V einstellen 169 Setzt Standby auf vorgegebene Standbyzeit zuruumlck 171 Gibt Meldung aus wie lange PowerOnDelay noch dauert

Tab 5 Uumlbertragung des Befehls Elektronenroumlhre einschalten vom Bedienfeld zum Experi-ment

30

Anhand der Erlaumluterungen der Programmcodes koumlnnen die Ablaumlufe zwischen dem Druumlcken des Buttons Elektronenroumlhre einschalten und dem Einschalten der Elektronenbeugungs-roumlhre oder der Eingabe einer Beschleunigungsspannung und dem Anlegen einer Beschleu-nigungsspannung verfolgt werden Uumlber das Bedienfeld koumlnnen nur die von der Datei expe-rimenttpl bereitgestellten Befehle on und da der insgesamt implementierten Befehle (rarr 22 Abb 10) aufgerufen werden

322 Videouumlbertragung im Webcamfeld Zur Aufnahme von Livebildern des Experiments koumlnnen USB-Webcams und IP-Kameras (Netzwerkkameras) eingesetzt werden Teurere IP-Kameras muumlssen eingesetzt werden wenn die Kamera wie z B beim RCL Roboter im Labyrinth zu weit vom Computer entfernt ist oder eine besonders lichtempfindliche Kamera aus der Uumlberwachungstechnik wie z B beim RCL Millikan-Versuch benoumltigt wird W-LAN-Kameras kommen zum Einsatz wenn Bil-der von einem beweglichen Objekt aus wie z B beim RCL Roboter im Labyrinth uumlbertra-gen werden sollen

Das Videoserverprogramm webcamXP 5 erkennt beim Aufrufen automatisch an den RCL-Server angeschlossenen USB-Webcams Vor dem Kauf einer IP-Kamera ist zu pruumlfen ob das Modell unterstuumltzt wird14 IP-Kameras muumlssen im Kontextmenuuml der Videoquelle konfigu-riert werden Abb 17 zeigt das Webcambild einer USB-Webcam vom Szintillationsschirm der Elektronenbeugungsroumlhre

Abb 17 Webcambild des Szintillationsschirms der Elektro-

nenbeugungsroumlhre einer USB-Webcam in webcamXP 5 beim RCL Elektronenbeugung

14 Vgl Moonware Studios webcamXP IP-cameras for webcamXP

31

Zum Einbinden des Webcambilds in die Laborseite des RCLs wird die laborsprachenabhaumln-gige Datei videohtm (rarr 434) in den Ordnern eng fra ger und ita verwendet Standardmauml-szligig werden zwei Webcambilder und Screenshots unterstuumltzt der Code fuumlr weitere Webcam-bilder kann durch copy and paste hinzugefuumlgt werden

Unter den Technologien Java Javaskript Flash und Windows Media fuumlr die Wiedergabe ei-nes Livestreams auf eine Webseite wurde Javaskript gewaumlhlt weil die anderen Technologien die Installation des Java Runtime Environments (JRE) des Flash- oder Windows Media Players durch den Besucher eines RCLs voraussetzen Die Wiedergabe des Livestreams mit einem Java-Applet startet zudem erst verzoumlgert nachdem das Applet geladen ist und verfuumlgt uumlber eine zu geringe Wiedergabegeschwindigkeit

33 Standard-Lernumgebung Bestandteil der Entwicklung eines RCLs ist die Erstellung einer Standard-Lernumgebung zum RCL Abb 18 zeigt exemplarisch fuumlr die deutschen Webseiten im Ordner ger das Menuuml (larr 11 Abb 3) und die Dateistruktur der Standard-Lernumgebung

Abb 18 Deutschsprachiges Menuuml und Dateistruktur der Standard-Lernumgebung

RCL-spezifisch anzupassende Dateien sind grau hinterlegt

Die englischen Dateinamen introductionhtm setuphtm hellip im Ordner ger korrespondieren mit den deutschen Menuumlpunkten Wird das RCL unter dem Menuumlpunkt RCLs des RCL-Portals aufgerufen dann ruft die Frameset-Datei indexhtm die Dateien menuumlhtm und intro-ductionhtm auf und das Menuuml wird zusammen mit der Webseite Einstieg dargestellt Die Wahl weiterer Menuumlpunkte ruft jeweils die korrespondiere Datei im Ordner auf Bei Wahl des Menuumlpunkts Labor werden mit der Frameset-Datei laboratoryhtm die Dateien videohtm fuumlr das Webcamfeld und die Datei laborindexphp fuumlr das Bedienfeld aufgerufen

32

Im Ordner docsmaterial werden alle Dokumente fuumlr die Webseite Material im Ordner docsothers die Dokumente anderer Webseiten abgelegt Im Ordner docsoriginals sind die Originale von Dokumenten wie z B Word-Dateien und der verwendeten Bilder abgelegt Grafikdateien der Webseiten Einstieg hellip Auswertung hellip Betreuung werden in gleichnami-gen Ordnern wie z B imagesanalysis abgelegt Bei sprachenunabhaumlngigen Grafikdateien wird unter dem Dateinamen abbx bei sprachenabhaumlngigen unter dem Dateinamen abbx_lan mit lan = eng fra ger und ita gespeichert Analoges gilt fuumlr die als gif-Grafiken forxgif oder forx_langif zu speichernden Formeln Originale von Bildern werden im Ordner imagesoriginals abgelegt Die Webseite zur Datei htdocsindexhtm enthaumllt zum lokalen Aufrufen der Standard-Lernumgebung Links zu den vier Index-Dateien in den Ordnern eng fra ger und ita Die Stylesheet-Datei htdocsrcl_stylecss enthaumllt die Styles der Webseiten

In der Regel werden Standard-Lernumgebungen der RCLs des RCL-Portals von verschiede-nen Personen erstellt Fehlende Gestaltungs- und Formatierungsregeln fuumlhren zu einem un-einheitlichen inattraktivem Erscheinungsbild des RCL-Portals Tab 6 gibt einen Uumlberblick der wichtigsten Gestaltungs- und Formatierungsregeln

Element Richtlinien

Gliederung

Die Webseiten Einstieg Aufbau Aufgaben Diskussion Material und Support enthalten vorgegebene Gliederungspunkte teilweise mit ausgefuumlhrten Uumlberschriften

Die umfangreicheren Webseiten Theorie und Auswertung enthalten ein Inhaltsverzeichnis mit internen Links zu Gliederungspunkten Zwischen Punkten der ersten Gliederungsebene (1 2 hellip) ist ein zwei-zeiliger Abstand (ltpgtampnbspltpgtltpgtampnbspltpgt) zwischen Punkten der zweiten (11 12 hellip) und Punkten der nur falls unbedingt notwendig dritten 111 112 hellip) Gliederungsebene ein einzeiliger Abstand zu waumlhlen Nach Abbildungen und Tabellen folgt ein einzeiliger Abstand zum nachfolgenden Text

Links Keine internen Links zwischen den Webseiten der Lernumgebung Externe Links werden prinzipiell in einem neuen Browserfenster geoumlffnet (blank)

Abbildung

Alle Abbildungen erhalten fortlaufend beginnend mit 1 nummerierte Abbildungsunterschriften der Form Abb x hellip

Abbildungen sind moumlglichst spachenunabhaumlngig d h ohne Texte in der Abbildung zu erstellen Zur Beschriftung koumlnnen z B Zahlen verwendet werden die in der Abbildungsunterschrift oder im Text er-laumlutert werden

Tabellen Tabellen werden in jeder Webseite fortlaufend beginnend mit 1 nummeriert Tabellen sind zu zentrieren Rahmenstaumlrke 1

Formeln

Formeln sind nicht als Textzeichen oder Grafik im laufenden Text einzufuumlgen sondern stets zentriert in einer eigenen Zeile als gif-Grafik

Zum Erstellen der Formel-Grafiken eignet sich z B der Formel-Editor MathType15 mit der Aufloumlsungs-Einstellung 120 dpi fuumlr InternetGif

Formeln brauchen im Rahmen des begrenzten Umfangs der Webseiten nicht nummeriert zu werden Groumlszligen-symbole

Griechische Groumlszligensymbole und mathematische Symbole sind nicht als Grafiken im laufenden Text sondern als HTML-Code einzufuumlgen Eine Zeichenreferenz findet sich bei Selfhtml16

Styles Zur Formatierung der Webseiten werden aus der Stylesheet-Datei nur die drei Styles Uumlberschrift fuumlr

die Uumlberschriften Bildunterschrift fuumlr Abbildungs- und Tabellenunterschriften und Tabellentext fuumlr Tex-te in Tabellen benoumltigt

Tab 6 Richtlinien zur Gestaltung und Formatierung der Standard-Lernumgebung

Detailliertere Informationen zum Layout der Standard-Lernumgebung koumlnnen dem RCL-Ordner und dem Erscheinungsbild der Webseiten von RCLs in Browsern entnommen wer-den

15 Vgl Design Science MathType 16 Vgl Selfhtml HTML-Zeichreferenz

33

4 ANHANG

34

41 Interface in Basisschaltung 411 Schaltplan und Bauteilliste Abb 19 zeigt den Schaltplan der Basisschaltung des Interface und Tab 7 die dazugehoumlrige Bauteilliste

Abb 19 Basisschaltung des Interface

Nr Anzahl Kurzbeschreibung des Bauteils Best-Nr bei Reichelt electronic

Einzelpreis in euro

0 1 Epoxyd-Platine (190x112 mm) mit Anteil Loumltpunktraster (Spezi-

alanfertigung) - asymp 10

1 1

Epoxyd-Fotoplatine einseitig 160x100 mm 15 mm 35 microm Epoxyd-Lochrasterplatine 160x100 mm 15 mm 35 microm

BEL 160x100-1 UP 832EP

170 420

1 1 Hohlstecker-Einbaubuchse gewinkelt Loumltfahnen 21 mm HEBW 21 018 2 1 D-SUB-Stecker 9-polig gewinkelt RM 94 D-SUB ST 09EU 029 3 1 Schottky Diode DO41 40 V 1 A SB 140 008 4 1 Draht von abgeschnittenem Beinchen aus Pos-Nr 3 - - 5 1 IC-Sockel 16-polig superflach gedreht vergoldet GS 16P 029 6 1 IC-Sockel 40-polig superflach gedreht vergoldet GS 40P 061 7 1 2x10-pol-Stiftleiste gerade RM 254 SL 2X10G 254 007 8 1 Metallschichtwiderstand 100 kΩ Metall 100k 0082 9 1 Elektrolytkondensator 10x16 mm 470 microF RM 50 mm RAD 47025 006 10 1 Elektrolytkondensator 63x11 mm 100 microF RM 25 mm RAD 10016 004 11 5 Elektrolytkondensator 5x11 mm 10 microF RM 20 mm RAD 1035 004 12 2 Keramik-Kondensator 33 pF Kerko 33p 006 13 3 Vielschicht-Keramikkondensator 100 nF 20 Z5U-25 100n 004

35

14 1 Standardquarz Grundton 110592 MHz 110592-HC49U-S 018 15 1 Spannungsregler 1 A positiv TO-220 microA 7805 028 16 1 Kuumlhlkoumlrper fuumlr Gehaumluse TO-220 99KW V FI356 066 17 1 Zylinderkopfschraube Schlitz M3 10 mm fuumlr Kuumlhlkoumlrper M3x10mm 160 18 2 Sechskantmutter M3 fuumlr Kuumlhlkoumlrper SK M3 001 19 1 Stecker-Schaltnetzteil 12 V 2250 mA MW 3IP25GS 1150 20 1 RS232-Driver DIL-16 MAX 232 CPE 041 21 1 ATmega AVR-RISC-Controller DIL-40 ATmega16-16 DIP 420 22 3 10-poliger Wannenstecker RM 254 stehend (optional) WSL 10G 009 23 1 14-poliger Wannenstecker RM 254 stehend (optional) WSL 14G 014 24 1 40-polige Stiftleiste 1-reihig gerade RM254 (optional) SL 1x40G 254 023 25 1 Kunststoffgehaumluse 1982x1124x760 mm (Serientyp 202) - asymp 10 euro 26 1 D-SUB Nullmodem-Kabel 9-pol BUBU 3 m AK 143 155 27 x DIN-Einbaubuchse 5-pol Schraubver 360deg (optional) DIO-50W EMS 185 28 x DIN-Einbaubuchse 8-polig Schraubversch 270deg (optional) DIO-80SN EMS 180 29 x Pfostenstecker 10-polig mit Verrieglung gew (optional) PSL 10W 028 30 x Klemmleiste RM 254 Oumlffnungshebel 8-polig (optional) Wago 233 220

Tab 7 Bauteilliste mit Bestellnummer und Einzelpreisen der Bauelemente bei Reichelt electronic (Stand 23102010)

Anhand der Bauteilliste in koumlnnen die elektronischen Bauelemente der Basisschaltung (larr Tab 7 Nr 0 ndash 21 optional Nr 22 - 24) bei Reichelt electronic bestellt werden Das Gehaumluse des Interface (larr Tab 7 Nr 25) sollte vom Hersteller HAGOTECH GmbH bezogen werden Weiterhin wird ein Nullmodemkabel (larr Tab 7 Nr 26) zur Verbindung des Interface mit dem Computer benoumltigt Sensoren und Aktoren des Experiments koumlnnen mit optionalen Steck-verbindern (larr Tab 7 Nr 27 - 30) und entsprechende Kabelverbindungen an das Interface angeschlossen werden Die Nummern 0 - 25 stimmen mit der angegebenen Bestuumlckungs-reihenfolge auf der Platine uumlberein Das Interface kostet in der Basisschaltung ca 50 euro

412 Bestuumlckung der Platine Abb 20 zeigt zur Bestuumlckung der Platine benoumltigte Werkzeuge

Abb 20 Werkzeuge zur Bestuumlckung der Platine des Interface

36

Loumltkolben mit feiner Spitze in Meisselform 2 mm oder Loumltstation (1) Loumltzinnabsauger zum Entfernen von Loumltzinn (2) Nasser Schwamm zum Reinigen der Spitze des Loumltkolbens (3) Loumltzinn mit Durchmesser 08 - 10 mm (4) Flachspitzzange zum Biegen von Anschluumlssen der Bauelemente (5) Seitenschneider zum Kuumlrzen der Beinchen von Bauelementen (6) Multimeter zum Pruumlfen der Funktionsfaumlhigkeit der Schaltung (7) Sekundenkleber zur Befestigung von Bauelementen Kleine Bohrmaschine z B von Dremel und 08 mm Bohrer oder duumlnne Rundfeile zum

Weiten von Loumlchern auf der Platine des Interface

Abb 21 zeigt die Platine des Interface von der Loumltseite in der Spezialanfertigung der Elekt-ronik-Werkstatt an der Technischen Universitaumlt Kaiserslautern und in der Selbstbauvariante (larr Tab 7 Nr 0) Abb 22 zeigt das Platinenlayout

Abb 21 Platine des Interface von der Loumltseite als Spezialanfertigung (links) und der Selbstbauvariante

(rechts)

Abb 22 Layout zur Herstellung des geaumltzten Teils der

Platine in der Selbstbauvariante

37

In der Selbstbauvariante kann anhand des Platinenlayouts eine selbst geaumltzte Platine fuumlr die Basisschaltung auf einer Platine im Europakartenformat hergestellt und diese in der Laumlnge gekuumlrzt werden Eine gekuumlrzte Lochrasterplatine bildet den zweiten Teil der Platine Mit den optionalen vier Wannensteckern (larr Tab 7 Nr 22 - 23) oder den vier Stiftleisten (larr Tab 7 Nr 24) an den Ports des Mikrocontrollers koumlnnen leicht elektrische Verbindungen zum Rasterteil der Platine herstellt werden Abb 23 zeigt die fertig bestuumlckte Platine mit den Nummern aus Tab 7

Abb 23 Bestuumlckte Platine des Interface mit nummerierten Bauelementen

Tab 8 beschreibt das Einloumlten der elektronischen Bauelemente anhand der Nummern aus Tab 7 und in der angegebenen Reihenfolge

Nr Bauelement Beschreibung des Einbaus

0 Spezialanfertigung und Selbst-bauvariante der Epoxydharz-

Platine

1

Stromversorgungsbuchse ndash Hohlstecker 21 mm

Wenn die Loumltbeine nicht durch die Loumlcher der Platine passen die Loumlcher mit einer runden Schluumlsselfeile aufweiten

Stromversorgungsbuchse mit Sekundenkleber vor dem Festloumlten auf der Pla-tine fixieren da diese mechanischen Belastungen durch das Einstecken und Herausziehen des 12 V -Steckers ausgesetzt ist

Wahlweise kann die 25 mm-Version der Buchse verwendet werden

2

RS232 Datenstecker

RS232 Datenstecker mit Sekundenkleber vor dem Festloumlten auf der Platine fixieren da dieser mechanischen Belastungen durch das Einstecken und Herausziehen des Null-Modem-Kabels ausgesetzt ist

Alle Beinchen und Befestigungsstifte zur houmlheren Stabilitaumlt anloumlten

3

Ein Ring an einer Seite der Diode (hier links weiszlig) zeigt die Durchlass- bzw Sperrrichtung der Diode an Die Position des Ringes entspricht der Position des Balkens im Schaltungssymbol

38

Diode ndash SB140 Auf der Platine muss der Ring auf der von der Stromversorgungsbuchse ab-

gewandten Seite liegen

4 Drahtbruumlcke

Vor dem Einloumlten des 40-poligen IC-Sockels (Nr 5) muss eine Drahtbruumlcke unter diesem eingeloumltet werden Dazu koumlnnen die abgeschnittenen Beinchen der bereits eingeloumlteten Diode (Nr 3) verwendet werden

5 6

IC-Fassungen

Die 16-polige und 40-polige IC-Fassungen besitzen eventuell eine Markie-rung fuumlr Pin1 (z B Kerbe in der Stirnseite Punkt Pfeilhellip) als Hilfe fuumlr das richtige Einstecken der ICs Die Markierungen muumlssen bei beiden Fassungen nach oben also zum naumlchstliegenden Rand der Platine zeigen

Die ICs unbedingt noch nicht einstecken

7

ISP-Stiftleiste

Die doppelreihige ISP-Stiftleiste dient der Programmierung des Mikrocontrol-lers mit dem AVR-ISP-Programmer (ISP steht fuumlr In System Programming)

ISP-Stiftleiste auf 2 x 5 Stifte kuumlrzen und mit den kurzen Beinchen einloumlten so dass auf die langen Stifte der AVR-ISP-Programmer gesteckt werden kann

8

Widerstand 100 kΩ

Den 100 kΩ-Widerstand rechts neben der ISP-Stiftleiste einloumlten

9

10

11

Elkos

Bei den verwendeten Elektrolyt-Kondensatoren ist die Polung zu beachten (langes Beinchen = Plus-Pol) Weiterhin ist auf den Kondensatoren ein wei-szliger Streifen mit Minus-Zeichen aufgedruckt Die Kondensatoren sollten eine Spannungsfestigkeit von mindestens 16 V besser 25V besitzen

Auf der Kupferseite der Platine zeigt die Form der Loumltaugen die Polung an Rundes Loumltauge = Plus quadratisches Loumltauge = Minus

Der 470 microF Kondensator wird mit dem weiszligen Streifen in Richtung Stromver-sorgungsbuchse direkt unter diese montiert

Der 100 microF Kondensator sitzt direkt unter der 16-poligen IC-Fassung Sein weiszliger Streifen (Minus-Pol) zeigt in Richtung der Stromversorgungsbuchse

Vier der 10 microF Kondensatoren werden links neben der 16-poligen IC-Fassung montiert Deren Polung ist wie folgt Unterster Kondensator Minus nach oben naumlchster Kondensator Minus nach unten die beiden oberen Kondensatoren mit Minus nach oben

Ein weiterer 10 microF Kondensator wird rechts neben die 16-polige IC-Fassung geloumltet Sein Minus-Streifen zeigt nach unten

12

13

Keramik-Kondensatoren

Die Beschriftung 104 bedeutet 10e4 pF = 100 nF Die beiden 33 pF-Kerkos (Keramik-Kondensatoren) werden direkt nebenei-

nander rechts neben die 16-polige IC-Fassung geloumltet Zwei 100 nF-Kondensatoren werden unter dem 470 microF-Elko eingeloumltet ein

weiterer mittig an der linken Seite der 40-poligen IC-Fassung

14

Quarz

Als Quarz wird ein 110592 MHz-Typ verwendet Bei dieser Frequenz ist eine fehlerfreie Kommunikation uumlber RS232 mit 9600 Baud moumlglich Fuumlr den AT-mega16 koumlnnen Quarze bis 16 MHz eingesetzt werden Details siehe Daten-blatt

Der Quarz wird direkt rechts neben die beiden 33 pF-Kerkos geloumltet Die Ori-entierung des Quarz spielt keine Rolle

15

16

17

18

Der Spannungsregler L7805 erzeugt eine stabilisierte Spannung von 5 V Es muss ein Kuumlhlkoumlrper zur Waumlrmeabfuhr vom Spannungsregler verwendet werden

Vor dem Einloumlten zwischen Spannungsregler und Kuumlhlkoumlrper etwas Waumlrme-leitpaste aufgetragen Beide Bauteile fest mit einer Schraube M3x10 und ei-ner 1 Mutter verschrauben

Dann den Spannungsregler einloumlten um 90deg abzubiegen das uumlberstehende Gewinde durch das vorgesehene Loch stecken und alles mit einer 2 Mutter auf der Platine befestigen

1 Mutter

2 Mutter

Schr

aube

L7805

Platine

KuumlhlkoumlrperWaumlrmeleitpaste

Beinchen

Loumlten

39

Spannungsregler L7805 Kuumlhl-koumlrper und Montage

19

Steckernetzteil

Funktionskontrolle vor dem Einsetzen des Mikrocontrollers Polung der Elektrolyt-Kondensatoren (Elkos) pruumlfen Sind alle Beinchen angeloumltet Hat das Loumltzinn an den Beinchen und der Pla-

tine guten Kontakt Sind eventuell zwei benachbarte Beinchen unbeabsichtigt durch Loumltzinn verbunden Alle Loumltverbindungen nochmals genau z B mit ei-ner Lupe pruumlfen

Probeweise das Stecker-Netzteil an die Buchse anschlieszligen Am 100 nF-Kondensator links mittig der 40-poligen IC-Fassung muumlssen 5 V anliegen

Versorgungsspannung unbedingt wieder von der Platine trennen

20

21

ICs MAX232 und ATmega16

Die Nuten auf den ICs am linken Rand muumlssen nach oben zeigen d h Pin1 ist bei beiden ICs in der Abbildung links unten und auf der Platine oben links

Manchmal passen die Beinchen der ICs nicht in die Fassung weil die Fas-sung scheinbar zu schmal ist Dann den IC seitlich mit einer Beinchen-Reihe flach auf den Tisch legen den IC-Koumlrper links und rechts greifen und Bein-chen durch leichten Druck biegen Einzelne verbogene Beinchen vorsichtig mit einer kleinen Flachzange richten

22

23

Wannenstecker 10- und 14-polig

Wannenstecker an den vorgesehe-nen Stellen mit der Nut gegen Ver-polung in Richtung des naumlherliegen-den Platinenrands einloumlten

Die Abbildung rechts zeigt die Pin-Belegung der Wannenstecker

24

Stiftleiste 8-polig 40-pol Stiftleiste in 4 jeweils 8-polige Stuumlcke zerteilen und einloumlten

25

Kunststoffgehaumluse

In der Selbstbauvariante der Platine (Nr 0) vor dem Einsetzten der Platine in das Gehaumluse passend positionierte Kunststoffstege am Gehaumluseboden fest-kleben

Tab 8 Bestuumlckung der Platine des Interface mit Bauelementen

42 Erweiterungsschaltungen 421 Uumlbersicht In Tab 3 sind von RCLs des RCL-Portals Sensoren und Aktoren mit den dazugehoumlrigen Er-weiterungsschaltungen zusammengestellt Da alle RCLs obligatorisch uumlber mindestens eine Webcam verfuumlgen sind diese unter den Sensoren nicht aufgefuumlhrt Die wenigen Erweite-rungsschaltungen fuumlr Sensoren sind unter Sensoren in Klammern aufgelistet Unter Aktoren werden auszliger elektro-mechanischen Wandlern auch gesteuerte Geraumlte oder Bauelemente verstanden Anzeigeinstrumente sind unter Aktoren nur aufgefuumlhrt wenn sie direkt vom In-terface gesteuert werden Mit gekennzeichnete Erweiterungsschaltungen befinden sich au-szligerhalb des Interface

40

RCL Sensoren Aktoren Erweiterungsschaltungen fuumlr Aktoren

Beugung und Interferenz I Referenz-Taster

Schrittmotor (Rotation) Schrittmotorsteuerung Laser-Modul Geschaltete Spannungsversorgung

Beugung und Interferenz II

4 Referenz-Taster Lichtsensor

4 Schrittmotoren (Translation) 4 Schrittmotorsteuerungen 5 Laser-Module Geschaltete Spannungsversorgung LED fuumlr Position des

Lichtsensors Geschaltete Spannungsversorgung

LED fuumlr Linealbeleuchtung Geschaltete Spannungsversorgung

Elektronen-beugung

Hochspannungsnetzgeraumlt Geschaltete Spannungsversorgung Hochspannungsnetzgeraumlt Steuerung der Hochspannung

Fotoeffekt 2 Referenz-Taster Photozelle

2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen

Quecksilberdampflampe Geschaltete Spannungsversorgung

der Drossel fuumlr Quecksilberdampf-lampe

Halbleiter-kennlinien

und Halbleiterkennli-nien - Schuumller-

projekt

Referenz-Taster

Schrittmotor (Rotation) Schrittmotorsteuerung Oszilloskop Geschaltete Spannungsversorgung

Oszilloskop Instrumentenverstaumlrker fuumlr X- und Y-Ablenkung

Multimeter Steuerung Spannungs- oder Strom-anzeige

Heiszliger Draht 4 Endtaster 4 Drehgeber Kurzschlusssensor

4 Gleichstrommotoren 4 Treiber

Zweifarbige LED Steuerung der LED-Farbe

Lichtgeschwin-digkeit

Drehimpulsgeber 2 Taster an Enden

der Eisenbahnstre-cke

2 Schrittmotoren 2 Schrittmotorsteuerungen Oszilloskop Geschaltete Spannungsversorgung

Motor der Lokomotive Steuerung des Ein- und Ausschal-tens und der Bewegungsrichtung

Maut Infrarot-Sensor Gleichstrommotor Geschaltete Spannungsquelle 2 IR-Fernbedienungen Spannungsregler 2-stellige 7-Segmentanzeige LED-Treiber

Millikan-Versuch 2 Referenz-Taster

2 Schrittmotoren 2 Schrittmotorsteuerungen Lichtquelle (LED) fuumlr Millikan-

Kondensator Geschaltete Spannungsversorgung

Airbrush-Kompressor Geschaltete Spannungsversorgung Magnetventil Geschaltete Spannungsversorgung Millikan-Kondensator Gesteuertes Hochspannungsmodul

Optische Com-putertomogra-

phie

2 Referenz-Taster 2 Lichtsensoren

Schrittmotor (Rotation) Schrittmotorsteuerung Schrittmotor (Translation) Schrittmotorsteuerung

2 Laser-Module 2 geschaltete Spannungsversor-gungen

Optische Fou-rier-

Transformation 2 Referenz-Taster

2 Schrittmotoren (Translation) 2 Schrittmotorsteuerungen

Laser-Modul Geschaltete Spannungsversorgung

Oszilloskop Oszilloskop Geschaltete Spannungsversorgung Signalgenerator Steuerung der Signalart

Radioaktivitaumlt 4 Referenz-Taster Geiger-Muumlller-

Zaumlhlrohr

2 Schrittmotoren (Translation) 2 Schrittmotorsteuerungen 2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen 4-stellige 7-Segment-Anzeige Treiber Elektromagnet Geschaltete Spannungsversorgung

Roboter im Labyrinth Infrarot-Sensor

2 Schrittmotoren 2 Schrittmotorsteuerung Infrarot-Sender Treiber

Rutherfordscher Streuversuch

2 Referenz-Taster Halbleiterdetektor

(Impulsformer)

2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen

4-stellige 7-Segment-Anzeige Treiber

Weltpendel

Referenz-Taster Lichtsensor der

Lichtschranke (Im-pulsformer)

Temperatursensor

Schrittmotor (Translation) Schrittmotorsteuerung Elektromagnet Geschaltete Spannungsversorgung

Laser der Lichtschranke Geschaltete Spannungsversorgung

Windkanal Referenz-Taster Schrittmotor (Translation) Schrittmotorsteuerung

41

Dehnungsmess-streifen (Wheat-stonesche Bruumlcke Messverstaumlrker Multimeter)

Geblaumlsemotor Geschaltete Spannungsversorgung

und Ansteuerung mit Pulsweiten-modulation

Anemometer Geschaltete Spannungsversorgung Multimeter Geschaltete Spannungsversorgung

Tab 9 Sensoren Aktoren und Erweiterungsschaltungen der RCLs des RCL-Portals

422 TMC222-Modul zur Schrittmotorsteuerung 4221 Schaltplan und Bauteilliste Abb 1 zeigt die Beschaltung des TMC222 von Trinamic auf dem TMC222-Modul

Abb 24 Beschaltung des TMC222 von Trinamic

Anhand der Bauteilliste in Tab 10 koumlnnen die elektronischen Bauelemente des TMC222-Moduls bei Reichelt electronic bestellt werden Ein TMC222-Modul kostet ungefaumlhr 10 euro

Nr Anzahl Kurzbeschreibung des Bauteils Best-Nr bei Reichelt electronic

Einzelpreis in euro

0 1 Epoxyd-Fotoplatine einseitig 75x100 mm 15 mm 35 microm BEL75X100-1 096 1 1 Integrierter TMC-Schrittmotor-Controller TMC 222 SI asymp 7 2 1 Elektrolytkondensator 8x11 mm Rm 35 mm 100 microF35 V RAD 10035 004 3 1 Tantal-Kondensator Rm 25 10 microF35 V Tantal 1035 014 4 2 Vielschicht-Keramikkondensator 220 nF 20 Z5U-25 220N 011 5 3 Vielschicht-Keramikkondensator 100 nF 20 Z5U-25 100N 004 6 2 Metallschichtwiderstand 100 kΩ Metall 100K 0082 7 1 1x36pol Stiftleiste gewinkelt Rm 254 SL 1X36W 027 8 1 1x36pol Buchsenleiste gerade Rm 254 BL 1X36G 025

Tab 10 Bauteilliste mit Bestellnummer und Einzelpreisen der Bauelemente bei Reichelt electronic (Stand 23102010)

4222 Bestuumlckung der Platine

42

Abb 25 zeigt die fertig bestuumlckte Platine mit den Nummern aus Tab 10

Abb 25 Bestuumlckte Platine des TMC222-Moduls

mit nummerierten Bauelementen

Die Platine (35 mm x 30 mm) kann anhand des Layouts in Abb 26 hergestellt werden Der IC TMC222 wird auf der Loumltseite der Platine aufgeloumltet Das TMC222-Modul kann mit der Stiftleiste (larr Tab 10 Nr 7) in eine Buchsenleiste (larr Tab 10 Nr 8) auf die Platine des In-terface gesteckt werden

Abb 26 Platine des TMC222-Moduls von der Loumltseite (links) und Layout

4223 Quellcode des Mikrocontroller-Programms Im Folgenden ist ein mit Bascom (larr 12 Tab 1 Entwicklungsumgebungen) erstelltes Bei-spiel-Programm zur Ansteuerung des Schrittmotormoduls TMC222 durch den Mikrocontroller ATmega16 angegeben $regfile = m16DEFdat $crystal = 11059200 $baud = 9600 Definitionen Config Scl = Portc0 Taktleitung Config Sda = Portc1 Datenleitung Const Adress = ampB11000000 I2C Adresse des TMC222 Const GetFullstatus1 = ampB10000001 Kommando des TMC222 Const Resetpos = ampB10000110 Kommando des TMC222 Const Motorparameter = ampB10001001 Kommando des TMC222 Const Setposition = ampB10001011 Dim Puffer(10) As Byte

43

Programm I2csend Adress GetFullstatus1 GetFullstatus1 (Initialisierung des TMC222) I2creceive Adress 7 Ack Daten in Puffer auslesen Puffer(1) = Motorparameter puffer auffuumlllen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB11110011 1111irun 0011ihold Puffer(5) = ampB01110001 0111vmax 0001vmin Puffer(6) = ampB00010000 000securepos(bit10-8) 1shaft 0000acceleration Puffer(7) = 0 securepos(bit7-0) Puffer(8) = ampB00001100 000nicht belegt 0accshape 11stepmode 00nicht belegt I2csend Adress Puffer(1) 8 I2csend Adress Resetpos aktuelle Position auf 0 setzen Puffer(1) = Setposition Motor bewegen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB01111111 position(bit 15-8) Puffer(5) = ampB11111111 position(bit 7-0)acute I2csend Adress Puffer(1) 5 End

423 Geschaltete Spannungsquellen und Verbraucher Die Ausgaumlnge des Mikrocontrollers duumlrfen nur mit Stroumlmen kleiner als ungefaumlhr 20 mA belas-tet werden Verbraucher mit einer Stromlast groumlszliger als 20 mA koumlnnen daher nicht direkt an den Mikrocontroller angeschlossen werden Abb 27 zeigt links eine Schaltung zum Schalten eines Verbrauchers wie z B des Relais und rechts eine Schaltung mit dem IC ULN2803A zum Schalten mehrerer Verbraucher wie z B Gluumlhlampen

Abb 27 Erweiterungsschaltungen zum Schalten eines (links) oder

mehrerer Verbraucher (rechts)

Zu beachten ist dass der Transistor BC337 maximal 800 mA schalten kann und fuumlr groumlszligere Stroumlme andere Transistoren verwendet werden muumlssen

424 Steuerung von Gleichstrommotoren

44

Sollen Gleichstrommotoren zum Bewegen von Objekten mit dem Mikrocontroller gesteuert werden dann eignet sich dazu der in Abb 28 dargestellte beschaltete IC L293D

Abb 28 Beschaltung des L293D zum

Steuern zweier Gleichstrom-motoren

Mit Pin 1 = Pin 9 = 1 (High) koumlnnen zwei Gleichstrommotoren M1 und M2 (Versorgungs-spannung UM lt 36 V Spulendauerstrom IM lt 600 mA) unabhaumlngig voneinander ein- und ausgeschaltet sowie in der Drehrichtung uumlber die Ports PA0 und PA1 fuumlr M1 und PA2 und PA3 fuumlr M2 gesteuert werden Z B gilt mit PA0 = PA1 = 0 (M1 ausgeschaltet) PA0 = 1 und PA1 = 0 (M1 dreht sich) PA0 = 0 und PA1 = 1 (M1 dreht sich in Gegenrichtung)

45

43 Quellcodes zum RCL Elektronenbeugung 431 Mikrocontroller-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

46

47

48

49

432 PHP-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

50

51

433 Bedienfeld der Laborseite

Tab 11 erlaumlutert die Funktion der Bloumlcke im Quellcode

Zeilen Funktion 1 Datei defaultconf einbinden 2 Datei headtpl einbinden

5 - 11 Ausgabe der verbleibenden Experimentierzeit 18 - 21 Button zum Einschalten der Elektronenbeugungsroumlhre 28 - 30 Eingabefeld fuumlr die Beschleunigungsspannung

37 Ruumlckmeldung zur eingegebenen Beschleunigungsspannung 42 Datei foottpl einbinden

Tab 11 Funktion der Programmbloumlcke in der Datei experi-menttpl

52

434 Webcamfeld der Laborseite

In Tab 12 ist die Funktion der Programmbloumlcke und die Anpassungen der Vorlage an das RCL Elektronenbeugung beschrieben

Zeilen Funktion Anpassung RCL Elektronenbeugung

5 Titelangabe erscheint als Tabulatorbeschriftung in Browsern

Name des RCLs eintragen

11 - 15 16 - 20

Zwei Javascripts zum getrennten Aufrufen zweier Po-pup-Fenster mit dargestelltem Webcambildern 1 und 2

Javascript 1 die IP-Adresse eintragen Javascript 2 auskommentiert weil nicht benoumltigt

24 - 40 42 - 60

Zwei Javascripts zum Aktualisieren der Webcambilder 1 und 2

Javascript 2 auskommentiert weil nicht benoumltigt

67 - 71 79 - 83

Aufrufen des ersten Webcambilds der Webcams 1 und 2 beim Aufrufen der Datei

Webcambild 2 auskommentiert weil nicht benoumltigt

72 - 78 84 - 90

Buttons zum Aufrufen der Screenshots der Webcam-bilder 1 und 2

Button 2 auskommentiert weil nicht benoumltigt

91 - 95 Zeile der Tabelle zum Eintragen von Informationen die sich auf die Webcambilder oder den Versuch beziehen

Text in Zeile der Tabelle geschrieben

Tab 12 Funktionen der Codeabschnitte in der Datei videohtm und Anpassung der Vor-lage an das RCL Elektronenbeugung

53

44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung Im Folgenden wird die Installation und Konfiguration des AVR-Studios 418 und der Bascom 11198 Demoversion beschrieben Alle Anleitungen sind zeilenweise von links nach rechts zu lesen

441 AVR-Studio 418 4411 Installation Auf der Webseite von ATMEL Register AVR Studio 418 (build 684) anklicken und Registrie-rungsformular ausfuumlllen Danach die Datei AvrStudio418Setup herunterladen Durch Dop-pelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen Next waumlhlen

I accept hellip und Next waumlhlen Installationsordner und Next waumlhlen

54

Installupgrade hellip und Next waumlhlen Install waumlhlen Die Installation beginnt

Finish waumlhlen

4412 Konfiguration AVR Studio 418 in Windows XP Professional unter StartProgramme aufrufen

Startfenster mit Cancel schlieszligen Unter ToolsProgram AVR Auto Connect waumlhlen

55

Im eingeblendeten Fenster auf der Registerkarte Main als Device ATmega16 und als Programming Mode ISP mo-de waumlhlen

Optional kann Signatur gelesen werden

In der Registerkarte Fuses alle Haumlkchen und Auswahlfel-der wie angegeben waumlhlen

Dann Program waumlhlen

442 BASCOM 11198 Demoversion 4421 Installation Auf der Webseite von Bascom unter Bascom AVR Demo die Zip-Datei setupdemoexe her-untergeladen Durch Doppelklick auf den Dateinamen die Installation starten

Next waumlhlen I accept the agreement und Next waumlhlen

56

Next waumlhlen Installationsordner eingeben und Next waumlhlen

Eintrag im Start-Menuuml eingeben und Next waumlhlen Next waumlhlen

Yes restart the computer now und Finish waumlhlen

57

4422 Konfiguration Bascom AVR in Windows XP Professional unter StartProgramme zum Einstellen der Para-meter des Mikrocontrollers und des Terminals aufrufen

OptionsCompilerChip waumlhlen Einstellungen wie im Bild vornehmen und OK waumlhlen

Auf der Registerkarte Communications Einstellungen wie im Bild vornehmen und OK waumlhlen

Unter OptionsCommunication Einstellungen wie im Bild

vornehmen und OK waumlhlen FileNew waumlhlen Unter ToolsTerminal emulator das Terminal aufrufen und

eingeben Die Befehlsliste des RCLs Elektronenbeu-gung wird angezeigt

45 Installation und Konfiguration von Programmen auf dem RCL-Server Im Folgenden wird der Download die Installation und die Konfiguration von Programmen auf dem RCL-Server unter Windows XP Professional beschrieben Alle Anleitungen sind zeilen-weise von links nach rechts zu lesen Die Installation der Programme sollte in der angegebe-nen Reihenfolge erfolgen

58

451 Einrichten des Internet-Zugangs LAN-Verbindung unter StartSystemsteuerungNetzwerkverbindungen aufrufen

Internetprotokoll (TCPIP) und Eigenschaften waumlhlen Folgende IP-Adresse verwenden waumlhlen IP-Adressen ein-

geben und OK waumlhlen

452 Paket XAMPP 174 Unter apache friends - xampp fuumlr windows und XAMPP Windows 174 Installer anklicken und Datei xampp-win32-174-VC6-installerexe speichern Durch Doppelklick auf die Datei die Installation starten

Sprache und Ok waumlhlen Ok waumlhlen

59

Weiter waumlhlen Zielverzeichnis mit Durchsuchen waumlhlen oder eingeben

Apache nicht als Dienst installieren Fertig stellen waumlhlen

Ja waumlhlen Zum Starten des Apache Webservers das Control Panel

unter StartProgrammeXAMPP 173 for Windows mit Start starten Anstelle von Start erscheint Running

Zum Beenden des Apache Webservers Stop waumlhlen Zum Beenden des Control Panels Exit waumlhlen

60

453 Videoserver webcamXP 5 Private Auf der Webseite von Moonware Studios unter webcamXP 55xx die Datei wlite550 herun-terladen Durch Doppelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen I Agree waumlhlen

Next waumlhlen Auszliger webcamXP 5 brauchen keine weiteren Komponen-

ten installiert zu werden

Den vorgeschlagenen Ordner und Install waumlhlen Finish waumlhlen

61

WebcamXP unter StartProgramme aufrufen Zugesandte

Lizenz-Daten in das eingeblendete Fenster eingeben und Register waumlhlen

Beim Starten des Programms stellt webcamXP automa-tisch eine Verbindung zu den am Computer angeschlosse-nen Webcams her

Nach dem Start ist Uumlberwachen gewaumlhlt Durch Rechts-klick mit der Maus auf das Videofenster wird zu jeder Vi-deoquelle ein Kontextmenuuml angezeigt Wird kein Videobild dargestellt das Kontextmenuuml aufrufen Art der Videoquelle waumlhlen (hier USB) und unter den erkannten Videoquellen (hier USB-Videogeraumlt) die gewuumlnschte waumlhlen

Das Videoformat muss fuumlr eine passende Darstellung auf

der Laborseite auf 320 x 240 eingestellt sein Ist das nicht der Fall im Kontextmenuuml unter Video Format einstellen

In gleicher Weise kann eine zweite Videoquelle hinzugefuumlgt werden

In der Registerkarte Web Broadcast kann unter

Broadcast (HTTP) der Videoserver mit Ausschalten ge-stoppt und mit Aktivieren gestartet werden

Zur Zielwahl des Webservers (131246237167 - Internet D16W3X3J - Computer 127001 - Local Host) Videoser-ver stoppen und einstellen Videoserver wieder starten

62

454 Terminalprogramm Hyperterminal Hyperterminal in Windows XP Professional unter StartProgrammeZubehoumlrKommunikation aufrufen

Name der neuen Verbindung - z B Interface - eingeben

und OK waumlhlen Die Verbindung zwischen Computer und Interface wurde

uumlber einen USB-Seriell-Adapter hergestellt Dann erschei-nen zwei zusaumltzliche Eintraumlge (Motorola Comp Modem und COM5) in der Liste Prinzipiell muss eine COMx-Verbindung gewaumlhlt werden

Eigenschaften von COM 5 wie im Bild einstellen und OK

waumlhlen DateiEigenschaften aufrufen und ASCII-Konfiguration

waumlhlen

63

Haken bei Eingegebene Zeichen lokal ausgeben (lokales

Echo) setzen um eingegebenen Zeichen im Hyperterminal zu sehen

Bei funktionsfaumlhiger Verbindung erscheint nach Eingabe von Return die Befehlsliste des Interface

Durch Aufrufen von DateiSpeichern die erstellte Verbin-

dung z B auf dem Desktop speichern Dadurch braucht die Verbindung nicht immer wieder von neuem konfiguriert wer-den

Nach Aufrufen von DateiBeenden die bestehende Verbin-dung mit Ja beenden

64

Wurde ein falscher COM-Port gewaumlhlt reagiert das Inter-

face auf die Eingabe Return nicht Hyperterminal dann beenden

Der COM-Port kann dann nicht unter DateiEigenschaften im Hyperterminal aber unter Eigenschaften des Kontext-menuumls der Datei Interfaceht in der Registerkarte Verbin-den mit geaumlndert werden Dann OK waumlhlen und erneut Verbindung testen

65

455 Fernwartungssoftware TeamViewer 6 Host Auf der Webseite von Teamviewer GmbH unter Fuumlr unbeaufsichtigte Server TeamViewer Vollversion die Datei TeamViewer_Setup-wq herunterladen Das Programm muss auf dem RCL-Server und dem Computer der auf den RCL-Server zugreifen soll installiert werden Durch Doppelklick auf die Datei die Installation starten

Ausfuumlhren waumlhlen Weiter waumlhlen

Fuumlr die private nicht kommerzielle Nutzung ist Teamviewer kostenlos

privat nicht-kommerziell und Weiter waumlhlen

Beide Haumlkchen setzen und Weiter waumlhlen

66

Ja un Weiter waumlhlen Weiter

Computername und Kennwort fuumlr den Zugriff auf den RCL-Server oder den eigenen Computer vergeben Kenn wort notie-ren

Ein Teamviewerkonto ist nicht erforderlich Kann auch spaumlter noch eingerichtet werden

ID fuumlr den Computer auf dem das Programm installiert wird fuumlr Zugriff notieren

Das Programm wird gestartet Standardmaumlszligig vorein-gestellt ist der Start des Programms beim Start des Be-trienssystems

67

46 Selbstbau eines elementaren RCLs 461 Hard- und Software Auch ohne gleich ein vielleicht teures physikalisches Experiment zu steuern laumlsst sich mit wenigen Bauelementen ein elementares RCL realisieren Von einer Webseite im Internet sol-len eine Leuchtdiode (LED) ein- oder ausgeschaltet sowie der Zustand der Leuchtdiode und eines Tasters abgefragt werden An Hard- und Software werden benoumltigt

1 Low-Current-LED 5 mm 2 mA 1 Widerstand 18 kΩ 1 Taster und optional zwei 10-polige Wannenstecker mit ungefaumlhr 10 cm passendem Flachbandkabel und Buchsen

Interface in Basisschaltung Null-Modem-Kabel 12 V DC Steckernetzteil (larr 1)

Installierte Bascom-Demo-Version (larr 42)

AVR ISP-Programmer mit 10-poligem Programmierkabel

Installiertes und konfiguriertes AVR Studio 418 (larr 41)

Installiertes Paket XAMPP (larr 52)

Texteditor wie z B Notepad in Windows XP Professional

Konfigurierte Hyperterminalverbindung (larr 54)

462 Bestuumlckung der Platine Abb 29 zeigt zur Orientierung fuumlr das Einloumlten der Bauelemente die fertig bestuumlckte Platine des Interface

Abb 29 Mit elementarem RCL bestuumlckte Platine

des Interface

LED mit Vorwiderstand und der Taster sind rechts neben dem Mikrocontroller im Lochraster-bereich aufgebaut und uumlber Wannenstecker und Flachbandkabel mit dem Port A des Mikro-controllers verbunden (die drei Bauteile rechts neben dem ATmega16 werden nicht benouml-tigt) Tab 13 erlaumlutert die Schritte zur Bestuumlckung der Platine des Interface

68

Nr Schaltung Erlaumluterung

1

Die Leuchtdiode (LED) mit dem Pluspol (langes Beinchen) an PortA0 (PIN40 oben rechts) des Mikrocontrollers anloumlten

An das kurze Beinchen einen 18kΩ Widerstand loumlten dessen anderes Ende mit der Masse (GND) verbinden

2

Den Taster mit PortA1 (PIN39 = 2 Beinchen von oben rechts) und Masse (GND) verbinden

3

Draufsicht

Belegung des 10-poligen Wannensteckers 1 GND (Masse) im Foto oben links 2 +5 V 3 PortA0 4 PortA1 10 PortA7 im Foto unten rechts

Tab 13 Schritte zum Aufbau des elementaren RCLs

463 Lokal gesteuertes RCL Nachfolgend ist der Basic-Programmcode des Mikrocontrollers zur Steuerung und Abfrage der LED und des Tasters angegeben 01 $regfile = m16DEFdat Microcontroller ATmega16 02 $crystal = 11059200 110592MHz Quarz 03 $baud = 9600 Baudrate 04 05 ---[ Variables ]--------------------------------------------------------------- 06 Dim Rs232kommando As String 10 erst Befehlspuffer dann Kommando 07 Dim Parameter As String 10 Parameter 08 Dim Str_pos As Byte Position von Leerzeichen zur Trennung von Kommando und Pa-rameter 09 10 ---[ Initialisierung ]--------------------------------------------------------- 11 Ddra0 = 1 PortA0 als Ausgang fuumlr LED 12 Porta0 = 0 LED aus 13 Ddra1 = 0 PortA1 als Eingang fuumlr Taster 14 Porta1 = 1 Pull-Up aktivieren 15 16 ---[ Main program loop ]------------------------------------------------------- 17 Do Start der Endlos-Schleife 18 19 If Ischarwaiting() = 1 Then Zeichen uumlber RS232 empfangen 20 Input Rs232kommando neues Kommando lesen 21 Parameter = Parameter initialisieren 22 Str_pos = Instr(rs232kommando ) Leerzeichen im Kommando suchen 23 If Str_pos gt 0 Then falls Leerzeichen dann in Kommando+Parameter zerlegen 24 Incr Str_pos Str_pos soll jetzt auf 1Zeichen des Parameters zeigen 25 Parameter = Mid(rs232kommando Str_pos ) Parameter = Teilstring nach Leerzeichen 26 Parameter = Ucase(parameter) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 27 Str_pos = Str_pos - 2 Str_pos soll jetzt auf letztes Zeichen des Kommandos zeigen 28 Rs232kommando = Left(rs232kommando Str_pos)Kommando = Teilstring vor Leerzeichen 29 Rs232kommando = Ucase(rs232kommando) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 30 End If 31 32 Select Case Rs232kommando Eventhandler Interpretation der Kommandos 33 Case Print Hilfe Hilfeseite anzeigen 34 Print LED on - LED einschalten 35 Print LED off - LED ausschalten 36 Print LED - zeigt Status der LED an 37 Print SW - zeigt Status des Schalters an 38

1K8

LED rotmicroC PortA0(PIN40)

Taster

microC PortA1(PIN39)

1

3

2

69

39 Case LED If Parameter = ON Then LED schalten 40 Porta0 = 1 41 End If 42 If Parameter = OFF Then 43 Porta0 = 0 44 End If 45 46 Case LED If Porta0 = 0 Then Status der LED ausgeben 47 Print LED aus 48 Else 49 Print LED an 50 End If 51 52 Case SW If Pina1 = 1 Then Status des Schalters ausgeben 53 Print Taster offen 54 Else 55 Print Taster geschlossen 56 End If 57 58 Case Else Print gt Rs232kommando lt ungueltiger Befehl - weitere Infos mit Info bei unguumlltigen Eingaben 59 End Select 60 61 End If 62 63 Loop Endlos-Schleife Springe zu Do 64 65 End wird nie erreicht

Der erste Teil des Programms (Zeilen 1 - 15) enthaumllt die Systemparameter Variablen und Initialisierung der Ein- und Ausgaumlnge Der zweite Teil enthaumllt ab Zeile 17 das Hauptpro-gramm in dem Benutzereingaben uumlber die serielle Schnittstelle empfangen interpretiert und in entsprechende Anweisungen umgesetzt werden Tab 14 erlaumlutert den Programmcode de-taillierter

Zeilen Erlaumluterung

1 - 3 Diese Angaben teilen dem Compiler (Bascom) mit welcher Prozessor eingesetzt wird wie schnell dieser getaktet (Quarz) ist und mit welcher Uumlbertragungsgeschwindigkeit die Kommunikation uumlber die serielle Schnittstelle (RS232) mit dem PC erfolgen soll

6 - 8 Es werden drei Variablen genutzt Die Eingabe uumlber die serielle Schnittstelle wird in rs232kommando gespeichert Es wird ein Text der Form Kommando ltLeerzeichengt Parameter erwartet so dass die Variable Parameter den-selbigen aufnimmt Die Variable str_pos wird fuumlr die Trennung von Kommando und Parameter benoumltigt

11 - 14

Mit dem Befehl ddrPX (ddr = data direction) wird festgelegt ob ein Beinchen als Ausgang (=1) oder als Eingang (=0) arbeiten soll Der ATmega16 besitzt 32 Ein-Ausgaumlnge die in vier Ports (P=AD) zu je 8 Pins (X=07) unterteilt sind ddrA0 = 1 legt also das 1 Beinchen (Pin 0) von PortA als Ausgang (=1) fest Mit dem Befehl PortA0 =1 kann dieser Pin dann durch Zuweisen von 1 oder 0 an- bzw ausgeschaltet werden Im Datenblatt erfahren Sie welches der 40 Beinchen des Mikrocontrollers wie bezeichnet wird (Pin-Belegung) Wird ein Beinchen als Eingang verwendet (ddrA1 = 0) koumlnnen Sie optional einen so genannten Pull-Up-Widerstand aktivieren (PortA1=1) oder deaktivieren (PortA1=0) Auch hierzu sollten Sie sich unbedingt mit dem Datenblatt vertraut machen

17 63 Das Hauptprogramm besteht aus einer Endlosschleife d h der Mikrocontroller verrichtet ununterbrochen seinen Job so lange er mit Strom versorgt wird

19 - 30 Falls ein Zeichen uumlber die serielle Schnittstelle empfangen wurde wird dieses und alle folgenden gelesen Anschlie-szligend wird gepruumlft ob der empfangene Text von der Form Kommando ltLeerzeichengt Parameter ist so dass er ge-gebenenfalls in ein Kommando und einen Parameter zerlegt werden kann

32 - 59 Dieser Abschnitt wird mit Event-Handler bezeichnet Hier wird auf die Kommandos (Events) reagiert und die ent-sprechenden Schritte ausgefuumlhrt zB schalten LED je nach Wert der Variablen Parameter an- bzw ausschalten

46 52

In beiden Zeilen wird ein Wert eines Ports abgefragt Unterschiedlich ist dass in Zeile 46 der Status eines Ausgangs abgefragt wird (porta0) und in Zeile 52 der Zustand eines Eingangs (pina0) Die Anweisung IF porta0 = 0 THEN pruumlft (hier ist = ein Vergleich und KEINE Zuweisung) ob zuletzt die LED ausgeschaltet (Zuweisung porta0 = 0) wurde Die Anweisung IF pina1= 1 THEN liest den Status eines Eingangs Hier kann festgestellt werden ob der Eingang uumlber den internen Pull-UP-Widerstand auf +5V liegt (pina1 liefert 1) oder ob der Schalter den Eingang mit Masse (0V) verbindet (pina1 liefert 0)

Tab 14 Erlaumluterung des Mikrocontroller-Programmcodes fuumlr elementares RCL

70

In Bascom AVR eine neue Datei erzeugen (FileNew) den Programmcode ohne Kommenta-re eingeben und mit ProgramCompile (F7) eine Hexadezimaldatei erzeugen Die Hexadezi-maldatei mit dem AVR-Studio und dem AVR-ISP-Programmer in den Mikrocontroller schrei-ben (larr 222 Programmuumlbertragung) Nach dem Verbinden von Computer und Interface per Null-Modem-Kabel kann durch Eingabe von in das konfigurierte Hyperterminal die Befehls-liste in Abb 30 aufgerufen werden

Abb 30 Aufgerufene Befehlsliste im Hyperterminal

Durch Eingabe von LED on oder LED off kann die LED ein- und ausgeschaltet LED zeigt den Status der LED und sw den Status des Tasters an Alternativ zum Hyperterminal kann auch das Terminal in BASCOM unter ToolsTerminal Emulator verwendet werden (larr 422)

464 Ferngesteuertes RCL Zum Ansteuern des Interfaces und zum Bedienen des Versuchsaufbaus uumlber das Internet wird eine Webseite benoumltigt die dem Benutzer alle Bedienelemente des Experiments zur Verfuumlgung stellt

Der Benutzer benoumltigt anklickbare Buttons im Webbrowser

Der Webserver muss die Information welcher Button gedruumlckt wurde empfangen und ein entsprechendes Kommando uumlber die serielle Schnittstelle an das Interface senden

Beide Schritte sind im nachfolgenden PHPHTML-Quellcode zusammengefasst 01 ltDOCTYPE HTML PUBLIC -W3CDTD HTML 401 TransitionalEN httpwwww3orgTRhtml4loosedtdgt 02 lthtmlgt 03 ltheadgt 04 ltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1gt 05 lttitlegtelementares RCLlttitlegt 06 ltheadgt 07 08 ltbodygt 09 ltphp 10 if (isset($_POST[Kommando])) wurde bereits Kommando gesendet 11 if( ( $handle = fopen( COM1 w+ ) ) ) Schnittstelle oumlffnen 12

71

13 throw new Exception( Can not access serial port 2 ) ohne Erfolg 14 15 fwrite( $handle $_POST[Kommando] chr( 13 ) ) Befehl an Interface senden 16 switch ( $_POST[Kommando] ) Antwort von Interface auswerten 17 case LED $tmp = fgets( $handle ) Echo von Interface ignorieren 18 $antwort = fgets( $handle ) Antwort des Interfaces 19 echo Antwort $antwort Ausgabe auf Webseite 20 break switch verlassen 21 22 case SW $tmp = fgets( $handle ) Echo von Interface ignorieren 23 $antwort = fgets( $handle ) Antwort des Interfaces 24 echo Antwort $antwort Ausgabe auf Webseite 25 break switch verlassen 26 27 28 29 fclose( $handle ) Schnittstelle schlieszligen 30 31 else 32 `mode com1 BAUD=9600 PARITY=N data=8 stop=1 xon=off` Schnittstellenparameter setzen 33 34 35 gt 36 37 lth3gtBefehl sendenlth3gt 38 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 39 ltinput type=hidden name=Kommando value=LED ON gt 40 ltinput type=submit value=LED anschalten gt 41 ltformgt 42 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 43 ltinput type=hidden name=Kommando value=LED OFF gt 44 ltinput type=submit value=LED ausschalten gt 45 ltformgt 46 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 47 ltinput type=hidden name=Kommando value=LED gt 48 ltinput type=submit value=LED abfragen gt 49 ltformgt 50 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 51 ltinput type=hidden name=Kommando value=SW gt 52 ltinput type=submit value=Taster abfragen gt 53 ltformgt 54 ltbodygt 55 lthtmlgt Den Quellcode in den Texteditor kopieren und im Ordner htdocs von XAMPP z B unter rclphp speichern HTML-Dateien mit PHP-Code (Zeilen 9-35) muumlssen mit der Erweiterung php gespeichert werden damit der Apache Webserver zwischen HTML-Seiten mit und ohne PHP-Code unterscheiden kann Den installierten Apache Webserver starten (larr 452) und im Adressfeld des Webbrowsers die IP-Adresse http127001rclphp aufrufen Das Bedi-enfeld des elementaren RCLs in Abb 31 wird im Browserfenster angezeigt

72

Abb 31 Laborseite des elementaren RCLs

Im Bedienfeld kann die LED an- und ausgeschaltet sowie der Status von LED und Taster abgefragt werden

  • 0 Warum ein Tutorial zur RCL-Technik
  • 1 Technische Konzeption
    • 11 Einfuumlhrung
    • 12 Wahl der RCL-Technik
      • 2 Lokal gesteuertes RCL
        • 21 Interface
          • 211 Mikrocontroller
          • 212 Basisschaltung und Erweiterungsschaltungen
          • 213 Programmierung des Mikrocontrollers
            • 22 Hyperterminal
            • 23 Positionieren von Objekten
              • 231 Hybrid-Schrittmotoren
              • 232 Schrittmotorsteuerung und Positionierungsmechanik
                  • 3 Ferngesteuertes RCL
                    • 31 RCL-Server
                    • 32 Laborseite
                      • 321 Steuerung des RCLs uumlber das Bedienfeld
                      • 322 Videouumlbertragung im Webcamfeld
                        • 33 Standard-Lernumgebung
                          • 4 ANHANG
                            • 41 Interface in Basisschaltung
                              • 411 Schaltplan und Bauteilliste
                              • 412 Bestuumlckung der Platine
                                • 42 Erweiterungsschaltungen
                                  • 421 Uumlbersicht
                                  • 422 TMC222-Modul zur Schrittmotorsteuerung
                                    • 4221 Schaltplan und Bauteilliste
                                    • 4222 Bestuumlckung der Platine
                                    • 4223 Quellcode des Mikrocontroller-Programms
                                      • 423 Geschaltete Spannungsquellen und Verbraucher
                                      • 424 Steuerung von Gleichstrommotoren
                                        • 43 Quellcodes zum RCL Elektronenbeugung
                                          • 431 Mikrocontroller-Programmierung
                                          • 432 PHP-Programmierung
                                          • 433 Bedienfeld der Laborseite
                                          • 434 Webcamfeld der Laborseite
                                            • 44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung
                                              • 441 AVR-Studio 418
                                                • 4411 Installation
                                                • 4412 Konfiguration
                                                  • 442 BASCOM 11198 Demoversion
                                                    • 4421 Installation
                                                    • 4422 Konfiguration
                                                        • 45 Installation und Konfiguration von Programmen auf dem RCL-Server
                                                          • 451 Einrichten des Internet-Zugangs
                                                          • 452 Paket XAMPP 174
                                                          • 453 Videoserver webcamXP 5 Private
                                                          • 454 Terminalprogramm Hyperterminal
                                                          • 455 Fernwartungssoftware TeamViewer 6 Host
                                                            • 46 Selbstbau eines elementaren RCLs
                                                              • 461 Hard- und Software
                                                              • 462 Bestuumlckung der Platine
                                                              • 463 Lokal gesteuertes RCL
                                                              • 464 Ferngesteuertes RCL

18

weise Motorparameter oder Zeitvorgaben fuumlr eine Standby-Funktion Schlieszliglich gibt der Kommunikations-Programmteil auch Fehlermeldungen an den RCL-Server aus etwa bei einem Fehlerzustand im Experiment oder bei fehlerhaften Anweisungen des Besuchers bzw des RCL-Servers Im Programmteil zur Steuerung des Experiments erfolgt die Ansteuerung von Aktoren und das Auslesen von Sensoren mittels elektronischer Aus- und Eingaumlnge (Ports) des Mikro-controllers Gegebenenfalls sind zwischen den Ports des Mikrocontrollers und dem Expe-riment Erweiterungsschaltungen erforderlich (larr 212 Erweiterungsschaltungen) Der Steuerungs-Programmteil ist als Interrupt-Routine implementiert Interne Zeitgeber des Mikrocontrollers rufen den Programmteil zyklisch z B alle 1 oder 10 Millisekunden auf wobei die zuvor beschriebene Schleife des Kommunikations-Programmteils kurzzeitig fuumlr die Abarbeitung des Steuerungs-Programmteils unterbrochen wird Hierdurch wird die Steuerung als Real-Time-Prozess12 ausgefuumlhrt und es koumlnnen insbesondere zeitkritische Steueraufgaben mit einer Aufloumlsung von ungefaumlhr 1 - 10 ms zuverlaumlssig erledigt werden Ferner ist im Mikrocontroller und dem Programm ein sogenannter Watchdog installiert der das Programm bei einem Programmabsturz automatisch neu startet Der Watchdog als elektronische Baugruppe im Mikrocontroller fuumlhrt einen Neustart des Mikrocontrollers (Reset) durch sofern er nicht mehr uumlber das Programm in vorgegebenen Zeitintervallen angesteuert wird Je nach RCL gibt es noch weitere Interrupt-Routinen die unabhaumlngig vom Zeittakt des Mikrocontrollers auf externe Ereignisse wie z B Ausgangsspannungsaumlnderungen eines Sensors reagieren Damit kann besonders schnell auf Erfordernisse des Experiments re-agiert oder es koumlnnen Zeitmessungen mit einer Genauigkeit von ungefaumlhr 10-6 s durchge-fuumlhrt werden Im Anhang (rarr 431) ist der Pascal-Quellcode fuumlr den Mikrocontroller des RCLs Elektronenbeugung verfuumlgbar

Programmuumlbertragung Nach der Kompilierung des Assembler- Basic- C+- C++- oder Pascal-Programms liegt eine Hexadezimaldatei vor die vom Computer in den Mikrocontroller uumlbertragen werden muss (Flashen des Programms) Zur Programmuumlbertragung muss das AVR-Studio instal-liert und konfiguriert sein (rarr 441) Abb 8 zeigt wie die Programmuumlbertragung durchge-fuumlhrt wird

12 Real-Time bedeutet hier dass die maximale Dauer eines Vorgangs vorhersehbar und gewaumlhrleistet ist dass eine Steuer-

aufgabe nach einer vorhersehbaren Zeit abgeschlossen ist

19

Abb 8 Programmuumlbertragung zwischen Computer und Mikrocontroller im Inter-

face des RCLs Elektronenbeugung uumlber USB-Seriell-Adapter und ISP-Programmer

Das Interface braucht nicht mit dem Experiment verbunden zu sein Auch Erweiterungs-schaltungen innerhalb oder auszligerhalb des Interface muumlssen nicht mit dem Mikrocontroller verbunden sein Das Interface ermoumlglicht uumlber die ISP-Schnittstelle die Programmierung mit einem preisguumlnstigen ISP-Programmer ohne ein teureres Experimentierboard13 Zur Uumlbertragung des Programms muss in folgenden Schritten vorgegangen werden

(1) Spannungsversorgung des Interface zur Sicherheit unterbrechen weil beim Verbinden mehrpoliger Steckerverbindungen es zu Kurzschluumlssen kommen kann

(2) 10-poligen ISP-Stecker des ISP-Programmers an die ISP-Schnittstelle des Interface anschlieszligen

(3) ISP-Programmer an die serielle Schnittstelle oder uumlber USB-Seriell-Adapter an die USB-Schnittstelle des Computers anschlieszligen

(4) Spannungsversorgung des Interface wieder herstellen

(5) AVR-Studio unter StartProgramme aufrufen und nach Abb 9 in der Registerkarte Program unter Flash die zu uumlbertragende Hexadezimal-Datei z B Elektronenbeu-gunghex auf der Festplatte auswaumlhlen und Program waumlhlen

13 Vgl ATMEL STK 500 Entwicklerkit bei Reichelt Elektronik

20

Abb 9 Uumlbertragung der Hexadezimaldatei Elekt-

ronenbeugunghex in den Mikrocontroller

(6) Spannungsversorgung des Interface unterbrechen ISP-Programmer vom Interface trennen AVR-Studio beenden und den ISP-Programmer vom Computer trennen

22 Hyperterminal Nach der Programmuumlbertragung kann das Experiment uumlber das konfigurierte Hyperterminal (rarr 454) lokal gesteuert werden Mit dem Hyperterminal koumlnnen als Text eingegebene Be-fehle oder Abfragen an den Mikrocontroller gesendet oder von diesem empfangen werden Der Computer muss wie bei der Programmuumlbertragung mit dem Interface per Null-Modem-Kabel uumlber die serielle Schnittstelle oder einen USB-Seriell-Adapter verbunden sein Das In-terface muss an die Versorgungsspannung anschlossen sein braucht aber nicht mit dem Experiment verbunden zu sein Abb 10 zeigt nach Eingabe von und von param im Hyper-terminal die Befehlsliste des Mikrocontrollers fuumlr das RCL Elektronenbeugung

21

Abb 10 Befehlsliste des Mikrocontrollers im Hyperterminal fuumlr das RCL Elektronenbeugung

Tab 4 gibt Erlaumluterungen zur Befehlsliste

BefehlAbfrage Erlaumluterung

DA x Am Eingang des DA-Wandlers wird die Zahl x (0 - 255) im Binaumlrcode

angelegt und die Ausgangsspannung des Hochspannungsnetzgeraumlts bzw die Beschleunigungsspannung der Elektronenkanone eingestellt

OnOff Hochspannungsnetzgeraumlt und Gluumlhkathode der Elektronenkanone ein-

oder ausschalten Beim Einschalten wird die Steuerspannung des Inter-face am Hochspannungsnetzgeraumlt auf asymp 0 V einstellt

Standby Ausgabe der eingestellten Standbyzeit von 300 s setSB x Standbyzeit einstellen

next Standby in Ausgabe der verbleibenden Standbyzeit (254 s) bis das Experiment

ausgeschaltet wird Eine negative Standbyzeit gibt die Zeit seit dem Ab-lauf der Standbyzeit an

Power On Delay Ausgabe der Verzoumlgerungszeit (2 s) bis das Hochspannungsnetzge-

raumltElektronenbeugungsroumlhre nach dem Ausschalten oder nach Ablauf der Standbyzeit erneut eingeschaltet werden kann

setPOD x Verzoumlgerungszeit einstellen

power on enabled in Ausgabe wie lange Hochspannungsnetzgeraumlt nicht eingeschaltet wer-

den kann Zeiten unter 0 bedeuten dass Power-On-Delay-Zeit ablaufen ist

Tab 4 Erlaumluterung der Befehle in Abb 10

23 Positionieren von Objekten In fast allen RCLs des RCL-Portals auszliger den RCLs Elektronenbeugung und Oszilloskop muumlssen Objekte rotatorisch oder translatorisch positioniert werden Eingesetzt werden Hyb-rid-Schrittmotoren als Aktoren eine Schrittmotorsteuerung von Trinamic als Erweiterungs-schaltung (TMC222-Modul) die Positionierungseinheit ausgedienter Flachbrett-Scanner und ein Referenz-Taster als Sensor

231 Hybrid-Schrittmotoren Abb 11 zeigt den vereinfachten schematischen Aufbau eines zweiphasigen Schrittmotors mit getrennten magnetischen Kreisen des Stators und einem permanent magnetisierten zweipoligen Rotor (Polpaarzahl 1)

22

Abb 11 Funktionsprinzip von Schrittmotoren Unipolare (links) und bipolare Schaltung (rechts)

von Schrittmotoren mit Bestromungstabellen fuumlr Voll- und Halbschrittbetrieb Darge-stellt ist der Schritt 0

Der Rotor verfuumlgt bei der dargestellten Polreihenfolge S-S-N-N des Stators uumlber eine stabile Stellung bei einer hypothetischen (magnetische Monopole) Polreihenfolge N-S-N-S gaumlbe es mit diesem Aufbau des Stators nur instabile Stellungen des Rotors Um den Rotor in Bewe-gung zu setzen muss die Polreihenfolge S-S-N-N im oder entgegen den Uhrzeigersinn (Rechts- oder Linksdrehung) weitergeschaltet und der Rotor vom magnetischen Schrittfeld mitgenommen werden

Die magnetische Polaritaumlt eines magnetischen Kreises laumlsst sich entweder durch zwei Spu-len konstanter elektrischer Polaritaumlt mit unterschiedlichem Wicklungssinn (herstellungstech-nisch zu aufwendig) durch eine Spule mit Mittelanzapfung und konstanter elektrischer Pola-ritaumlt der beiden Teilspulen (unipolare Schaltung) oder durch eine Spule mit wechselnder elektrischer Polaritaumlt (bipolare Schaltung) realisieren In Abb 11 sind dazu die elektrischen Beschaltungen und die Bestromungstabellen fuumlr eine Rechtsdrehung des Rotors dargestellt Fuumlr eine Linksdrehung des Rotors muss die Schrittfolge in umgekehrter Reihenfolge durch-laufen werden

Es wird zwischen Vollschrittbetrieb (graue Zeilen der Tabellen) mit Schrittwinkel 90deg bzw Schrittzahl 4 und Halbschrittbetrieb (alle Zeilen der Tabellen) mit Schrittwinkel 45deg bzw Schrittzahl 8 unterschieden Beim Vollschrittbetrieb werden immer beide magnetische Kreise bestromt und die N-S-Polachse des Rotors nimmt nur Stellungen zwischen den Statorpolen

23

an Beim Halbschrittbetrieb wird zwischen den Vollschritten nur einer der magnetischen Krei-se bestromt und die N-S-Polachse des Rotors kann zusaumltzlich 4 Stellungen in Richtung der Statorpole einnehmen Der Hybrid-Schrittmotor ist die am haumlufigsten vertretene Bauform von Schrittmotoren Abb 12 zeigt den Aufbau eines Hybrid-Schrittmotors

Abb 12 Aufbau eines Hybrid-Schrittmotors fuumlr unipolare und

bipolare Schaltung Daten Schrittwinkel 18deg max Drehmoment 155 Ncm

Der Stator besteht aus zwei Straumlngen mit je 4 in Reihe geschalteten Spulen Der Wick-lungssinn der Spulen ist in beiden Straumlngen so dass sich die Polfolge N-S-N-S uumlber den Umfang ergibt Beide Straumlnge zusammen ergeben unabhaumlngig von der Stromrichtung ei-ne Polfolge N-N-S-S-N-N-S-S uumlber den Umfang Ein zweipoliger Rotor (Polpaarzahl 1) kann im Vollschrittbetrieb 4 Stellungen annehmen Der Rotor des Hybridschrittmotors be-steht aber aus axial magnetisierten Permanentmagneten deren Polpaarzahl durch axial versetzte weichmagnetische Zahnscheiben auf 50 erhoumlht wurde Dadurch erhoumlht sich die Schrittzahl auf 4 sdot 50 = 200 und der Schrittwinkel verkleinert sich auf 360deg200 = 18deg Um stabile Rotorstellungen zu erhalten muumlssen die Statorsegmente ebenfalls gezahnt ausge-fuumlhrt werden

Ein solcher Hybrid-Schrittmotor vereint die Vorteile des Reluktanz- und des permanenter-regten Schrittmotors Ein kleiner Schrittwinkel wird durch das von Reluktanzschrittmotoren bekannte Prinzip der Erzeugung einer Vielzahl von Polen des Rotors durch Zahnscheiben erzielt Ein hohes Drehmoment wird durch das von permanenterregten Schrittmotoren be-kannte Prinzip der Ausfuumlhrung des Rotors als Permanentmagnet erzielt Aufgrund der bi-filaren Wicklung besteht jede Statorwicklung aus zwei Teilspulen und der Schrittmotor kann in unipolarer (alle 6 Anschluumlsse verwendet) und bipolarer Schaltung (nur 4 An-schluumlsse verwendet gemeinsamer Anschluss der Teilspulen bleibt unverwendet) wie in Abb 12 dargestellt verwendet werden

24

Schrittmotoren erlauben nicht nur das Bewegen sondern innerhalb der Leistungsgrenzen (keine Schrittverluste) auch ein genaues Positionieren von Objekten Bei bekannter Schrittzahl auf einer gemessenen Strecke oder Schrittzahl fuumlr den Vollwinkel koumlnnen aus-gehend von einer Referenzstellung Objekte translatorisch oder rotatorisch positioniert werden

232 Schrittmotorsteuerung und Positionierungsmechanik Im Folgenden wird die bei allen RCLs mit Schrittmotoren eingesetzte Schrittmotorsteuerung die Mechanik zur translatorischen Positionierung von Objekten und die Funktionsweise eines Referenztasters beschrieben

Schrittmotorsteuerung Abb 13 zeigt das Blockschaltbild und das im Selbstbau herstellbare TMC222-Modul (rarr 4221 rarr 4222) mit dem IC TMC222 von Trinamic zur Steuerung bipolarer 2-phasiger Hybrid-Schrittmotoren

Abb 13 Blockschaltbild (links) und Platine des TMC222-Moduls (rechts) mit IC TMC 222 auf

der Loumltseite der Platine

Der IC TMC222 enthaumllt ein I2C-Interface zum Anschluss an den I2C-Bus des Mikrocon-trollers (Ports PC0 und PC1) Die 10 kΩ-Pull-up-Widerstaumlnde heben die Takt- (SCL clock) und Datenleitung (SDA data) auf ein Potential von 5 V Der IC TMC222 enthaumllt ei-nen Motortreiber fuumlr Spulenstroumlme bis zu 800 mA und einen Motor-Controller zur Steue-rung der Spulenstroumlme Ein Vorteil des TMC-Moduls ist der relativ geringe Programmier-aufwand fuumlr den Mikrocontroller (rarr 4223) da der IC TMC222 nach Uumlbergabe der Steu-erungsparameter (Drehrichtung Drehzahl hellip) vom Mikrocontroller die Ansteuerung des Schrittmotors uumlbernimmt Der IC TMC222 unterstuumltzt das Beschleunigen und Abbremsen des Schrittmotors enthaumllt einen Schrittpositionszaumlhler und unterstuumltzt Mikrostepping (va-riable Spulenstroumlme zur elektronischen Verkleinerung des Schrittwinkels und groumlszligerer Laufruhe)

25

Falls in RCLs Gleichstrommotoren mit houmlheren Drehzahlen als Schrittmotoren benoumltigt werden kann eine andere Erweiterungsschaltung (rarr 424) eingesetzt werden

Positionierungsmechanik und Referenz-Taster Die Mechanik zur rotatorischen Positionierung von Objekten kann meist kostenguumlnstig selbst oder durch Personal in einer Werkstatt angefertigt werden Abb 14 zeigt eine kos-tenguumlnstige Loumlsung zur translatorischen Positionierung von Objekten

Abb 14 Positionierungseinheit eines Flachbrett-

Scanners Schrittmotor (1) Getriebe (2) Li-nearfuumlhrung (3) Antriebsriemen (4) und er-gaumlnzter Referenz-Taster (5)

Falls der geometrische Aufbau und die geforderte Positionierungsgenauigkeit des RCLs es zulassen kann die Schrittmotor-Positionierungs-Einheit ausgedienter Flachbrett-Scanner zur translatorischen Positionierung von Objekten verwendet werden In Einzelfaumll-len wie dem RCL Weltpendel kann die Positionierungsmechanik auch selbst angefertigt werden Der Referenz-Taster in Abb 14 wird eingesetzt um abzufragen ob ein vom Schrittmotor bewegtes Objekt die Position des Tasters erreicht hat und um diese Position zu referenzieren Ohne eine solche Referenzierung kann die Positionierung eines Objekts langfristig ungenau werden So kann z B beim RCL Weltpendel das Auftreffen der Kugel auf den Magneten zum Uumlberspringen von Schrittmotorstellungen fuumlhren Der Zustand des Referenz-Tasters in Abb 15 wird z B uumlber den Port PA0 des Mikrocontrollers abgefragt

Abb 15 Referenz-Taster zum referenzieren der

Position des bewegten Objekts

26

Zu Problemen koumlnnen undefinierte Zustaumlnde der Eingaumlnge des Mikrocontrollers fuumlhren wie sie beim Prellen dem zeitlich begrenzten schwingen eines Tasters beim Oumlffnen oder Schlieszligen entstehen Abhilfe schafft ein passend dimensionierter parallel zum Taster ge-schalteter Kondensator Bei geoumlffnetem Taster ist der Kondensator aufgeladen Beim Schlieszligen haumllt der Kondensator die Spannung uumlber die Schwingphase trotz kurzzeitig wieder geoumlffnetem Schalter noch aufrecht Analoges gilt fuumlr den Uumlbergang vom geschlos-senen zum geoumlffneten Taster

3 Ferngesteuertes RCL 31 RCL-Server Fuumlr den Betrieb eines RCLs wird ein RCL-Server benoumltigt (larr 11) Vorausgesetzt wird dass bei einem neuen Computer alle notwendigen Treiber (Ethernet Video Audio hellip) zum Be-trieb der Hardware des Computers und Windows XP Professional mit Service Pack 3 instal-liert sind Ein Benutzerkonto braucht nicht angelegt zu werden

Der RCL-Server benoumltigt einen Internetzugang mit statischer IP-Adresse und Uploaddatenra-te von mindestens 200 kbits (DSL 2000) fuumlr die fluumlssige Wiedergabe von Bewegungen in Webcambildern Die statische IP-Adresse wird von der Institution am Standort des RCLs vergeben oder kann von Privatpersonen bei einem Provider beantragt werden Mit folgenden Schritten wird der RCL-Server eingerichtet

Internetzugang einrichten (rarr 451) und im Browser testen

Checken ob die Windows Firewall aktiviert ist

Virenschutzproramm Avira Antivir Personal herunterladen (larr Tab 1) installieren und ak-tualisieren

Uumlber Windows Update alle Updates von Windows XP Professional installieren

Fernwartungssoftware TeamViewer 6 Vollversion (larr Tab 1) herunterladen und auf dem RCL-Server und dem eigenen Computer installieren (rarr 455)

Webeditor Notepad++ herunterladen installieren und aktualisieren (larr Tab 1)

Videoserver WebcamXP 5 herunterladen und installieren (rarr 453)

Paket XAMPP herunterladen und installieren (rarr 452) Verknuumlpfungen mit den Dateien xampphtdocsapache_startbat und xampphtdocsapache_stopbat auf dem Desktop oder in der Schnellstartleiste erstellen und Webserver mit erstgenannter Verknuumlpfung starten Webserver durch Eingabe von 127001 oder localhost ins Adressfeld des Brow-sers testen Bei erfolgreichem Test werden die im Ordner xampphtdocs abgelegten Webseiten von XAMPP dargestellt Statische IP-Adresse des RCL-Servers im Browser eines anderen Computers mit Internetzugang eingegeben Bei erfolgreichem Test werden die Webseiten von XAMPP dargestellt In der Datei xamppphpphpini unter Resource Limits die max_execution_time mit dem Windows-Editor von 60 auf 300 erhoumlhen und die

27

Datei speichern damit PHP bei Befehlen mit laumlngerer Ausfuumlhrungsdauer keine Fehler-meldung liefert

Ordner xampphtdocs mit den Webseiten von XAMPP in xampphtdocs_xampp um-benennen und fuumlr spaumltere Testzwecke nicht loumlschen RCL-Ordner htdocs herunterladen (larr Tab 1) extrahieren und in das Verzeichnis xampp verschieben

Abb 16 zeigt die Struktur des RCL-Ordners htdocs

Abb 16 Struktur des RCL-Ordners htdocs RCL-spezifisch anzupassende Dateien sind grau

hinterlegt

Der geoumlffnete Ordner Labor enthaumllt alle PHP- und HTML-Dateien bzw Programmierungen fuumlr die Funktionalitaumlt des Bedienfelds der Laborseite (larr 11 Abb 3) An das RCL anzupas-sen sind die portalsprachenunabhaumlngigen Dateien configphp und experimentphp sowie fuumlr jede Portalsprache die Dateien defaultconf und experimenttpl in den Ordnern eng fra ger und ita

Datei configphp Zeit bis zum automatischen Logout beim Experimentieren mit dem RCL eintragen

Datei experimentphp PHP-Basisprogrammierung um die RCL-spezifische PHP-Programmierung erweitern (rarr 432)

Datei defaultconf Name des RCLs (z B Elektronenbeugung) in jeder Portalsprache ein-getragen

Datei experimenttpl HTML-Basisprogrammierung um RCL-spezifische Ein- und Ausga-befelder erweitern (rarr 433)

28

32 Laborseite 321 Steuerung des RCLs uumlber das Bedienfeld Das Bedienfeld der Laborseite (larr 11 Abb 3) wird von der Dateien indexphp und experi-menttpl erzeugt Befehle wie das Anklicken von Buttons Eingaben und Auswahl aus Listen werden in ein HTML-Formular mit Formularfeldern in der Datei experimenttpl geschrieben Die Daten werden von der PHP-Datei experimentphp ausgewertet und uumlber die serielle Schnittstelle dem Mikrocontroller-Programm zur Steuerung des Experiments uumlbergeben Die Dateien experimentphp und experimenttpl wurden getrennt angelegt um Code und Design zu trennen und nur das Design in der Datei experimenttpl an die Portalsprache anpasst werden muss

Tab 5 enthaumllt Ausschnitte der HTML-Datei experimenttpl (rarr 433) der Datei experi-mentphp (rarr 432) und des Mikrocontroller-Programms (rarr 431) fuumlr das RCL Elektronen-beugung

29

Code mit Erlaumluterung

expe

rimen

ttpl

1821 Tag ltformgtltformgt definiert ein Formular 18 Attribut action legt fest dass Formulardaten in der Datei indexphp verarbeitet werden Uumlbertragen

werden eine Session-ID ($sid) um exklusiven Zugriff des jeweilgen Besuchers zu sichern und ($portal) um die vom Besucher gewaumlhlte Sprache beizubehalten post ist eine Uumlbertragungsmethode zwischen Browser und Webserver und gibt die die vom Besucher gewaumlhlte Aktion zum Ansteuern des Experiments an die Datei experimenttpl weiter

20 Erzeugt im Bedienfeld den Sendebutton (submit) mit der Aufschrift Elektronenroumlhre einschalten (valu-e)

19 Unsichtbares Feld (hidden) mit Variablennamen action und Wert RoumlhreAn Der Variablenname ac-tion stimmt nur zufaumlllig mit action in Zeile 18 uumlberein

expe

rimen

tphp

24 Die Funktion wird als Eventhaumlndler bezeichnet weil je nach uumlbergebener Aktion - siehe Zeile 19 in experi-

menttpl - die entsprechenden Anweisungen (case) ausgefuumlhrt werden 37 Fuumlr den Fall dass die Variable $action den Wert RoumlhreAn hat wird die Funktion power_on() aufgeru-

fen

59 Schreibt in die Logdatei logtxt den Text RoumlhreAn 6061 Oumlffnet den in der Datei configphp zentral gespeicherten Com-Port an den das Interface angeschlossen ist

oder gibt Fehlermeldung Can not access file system im Bedienfeld aus falls der Com-Port sich nicht oumlff-nen laumlsst

62 Sendet die Zeichenfolge On und chr(13) (entspricht der Betaumltigung der Return-Taste im Hyperterminal) an den Mikrocontroller

63 Schlieszligt serielle Schnittstelle

Que

llcod

e M

ikro

cont

rolle

r

166 Wird uumlber die serielle Schnittstelle der Befehl on empfangen und ist das Einschalten zulaumlssig (Zeiten fuumlr

PowerOnDelay und Standby abgelaufen) dann hellip 167 Hochspannungsnetzgeraumlt einschalten 168 Der DA-Wandler PCF8591 wird unter seiner Adresse PCF8591 = 01001000 angesprochen Parameterein-

stellungen mit 01000000 und Ausgangsspannung auf 0 V einstellen 169 Setzt Standby auf vorgegebene Standbyzeit zuruumlck 171 Gibt Meldung aus wie lange PowerOnDelay noch dauert

Tab 5 Uumlbertragung des Befehls Elektronenroumlhre einschalten vom Bedienfeld zum Experi-ment

30

Anhand der Erlaumluterungen der Programmcodes koumlnnen die Ablaumlufe zwischen dem Druumlcken des Buttons Elektronenroumlhre einschalten und dem Einschalten der Elektronenbeugungs-roumlhre oder der Eingabe einer Beschleunigungsspannung und dem Anlegen einer Beschleu-nigungsspannung verfolgt werden Uumlber das Bedienfeld koumlnnen nur die von der Datei expe-rimenttpl bereitgestellten Befehle on und da der insgesamt implementierten Befehle (rarr 22 Abb 10) aufgerufen werden

322 Videouumlbertragung im Webcamfeld Zur Aufnahme von Livebildern des Experiments koumlnnen USB-Webcams und IP-Kameras (Netzwerkkameras) eingesetzt werden Teurere IP-Kameras muumlssen eingesetzt werden wenn die Kamera wie z B beim RCL Roboter im Labyrinth zu weit vom Computer entfernt ist oder eine besonders lichtempfindliche Kamera aus der Uumlberwachungstechnik wie z B beim RCL Millikan-Versuch benoumltigt wird W-LAN-Kameras kommen zum Einsatz wenn Bil-der von einem beweglichen Objekt aus wie z B beim RCL Roboter im Labyrinth uumlbertra-gen werden sollen

Das Videoserverprogramm webcamXP 5 erkennt beim Aufrufen automatisch an den RCL-Server angeschlossenen USB-Webcams Vor dem Kauf einer IP-Kamera ist zu pruumlfen ob das Modell unterstuumltzt wird14 IP-Kameras muumlssen im Kontextmenuuml der Videoquelle konfigu-riert werden Abb 17 zeigt das Webcambild einer USB-Webcam vom Szintillationsschirm der Elektronenbeugungsroumlhre

Abb 17 Webcambild des Szintillationsschirms der Elektro-

nenbeugungsroumlhre einer USB-Webcam in webcamXP 5 beim RCL Elektronenbeugung

14 Vgl Moonware Studios webcamXP IP-cameras for webcamXP

31

Zum Einbinden des Webcambilds in die Laborseite des RCLs wird die laborsprachenabhaumln-gige Datei videohtm (rarr 434) in den Ordnern eng fra ger und ita verwendet Standardmauml-szligig werden zwei Webcambilder und Screenshots unterstuumltzt der Code fuumlr weitere Webcam-bilder kann durch copy and paste hinzugefuumlgt werden

Unter den Technologien Java Javaskript Flash und Windows Media fuumlr die Wiedergabe ei-nes Livestreams auf eine Webseite wurde Javaskript gewaumlhlt weil die anderen Technologien die Installation des Java Runtime Environments (JRE) des Flash- oder Windows Media Players durch den Besucher eines RCLs voraussetzen Die Wiedergabe des Livestreams mit einem Java-Applet startet zudem erst verzoumlgert nachdem das Applet geladen ist und verfuumlgt uumlber eine zu geringe Wiedergabegeschwindigkeit

33 Standard-Lernumgebung Bestandteil der Entwicklung eines RCLs ist die Erstellung einer Standard-Lernumgebung zum RCL Abb 18 zeigt exemplarisch fuumlr die deutschen Webseiten im Ordner ger das Menuuml (larr 11 Abb 3) und die Dateistruktur der Standard-Lernumgebung

Abb 18 Deutschsprachiges Menuuml und Dateistruktur der Standard-Lernumgebung

RCL-spezifisch anzupassende Dateien sind grau hinterlegt

Die englischen Dateinamen introductionhtm setuphtm hellip im Ordner ger korrespondieren mit den deutschen Menuumlpunkten Wird das RCL unter dem Menuumlpunkt RCLs des RCL-Portals aufgerufen dann ruft die Frameset-Datei indexhtm die Dateien menuumlhtm und intro-ductionhtm auf und das Menuuml wird zusammen mit der Webseite Einstieg dargestellt Die Wahl weiterer Menuumlpunkte ruft jeweils die korrespondiere Datei im Ordner auf Bei Wahl des Menuumlpunkts Labor werden mit der Frameset-Datei laboratoryhtm die Dateien videohtm fuumlr das Webcamfeld und die Datei laborindexphp fuumlr das Bedienfeld aufgerufen

32

Im Ordner docsmaterial werden alle Dokumente fuumlr die Webseite Material im Ordner docsothers die Dokumente anderer Webseiten abgelegt Im Ordner docsoriginals sind die Originale von Dokumenten wie z B Word-Dateien und der verwendeten Bilder abgelegt Grafikdateien der Webseiten Einstieg hellip Auswertung hellip Betreuung werden in gleichnami-gen Ordnern wie z B imagesanalysis abgelegt Bei sprachenunabhaumlngigen Grafikdateien wird unter dem Dateinamen abbx bei sprachenabhaumlngigen unter dem Dateinamen abbx_lan mit lan = eng fra ger und ita gespeichert Analoges gilt fuumlr die als gif-Grafiken forxgif oder forx_langif zu speichernden Formeln Originale von Bildern werden im Ordner imagesoriginals abgelegt Die Webseite zur Datei htdocsindexhtm enthaumllt zum lokalen Aufrufen der Standard-Lernumgebung Links zu den vier Index-Dateien in den Ordnern eng fra ger und ita Die Stylesheet-Datei htdocsrcl_stylecss enthaumllt die Styles der Webseiten

In der Regel werden Standard-Lernumgebungen der RCLs des RCL-Portals von verschiede-nen Personen erstellt Fehlende Gestaltungs- und Formatierungsregeln fuumlhren zu einem un-einheitlichen inattraktivem Erscheinungsbild des RCL-Portals Tab 6 gibt einen Uumlberblick der wichtigsten Gestaltungs- und Formatierungsregeln

Element Richtlinien

Gliederung

Die Webseiten Einstieg Aufbau Aufgaben Diskussion Material und Support enthalten vorgegebene Gliederungspunkte teilweise mit ausgefuumlhrten Uumlberschriften

Die umfangreicheren Webseiten Theorie und Auswertung enthalten ein Inhaltsverzeichnis mit internen Links zu Gliederungspunkten Zwischen Punkten der ersten Gliederungsebene (1 2 hellip) ist ein zwei-zeiliger Abstand (ltpgtampnbspltpgtltpgtampnbspltpgt) zwischen Punkten der zweiten (11 12 hellip) und Punkten der nur falls unbedingt notwendig dritten 111 112 hellip) Gliederungsebene ein einzeiliger Abstand zu waumlhlen Nach Abbildungen und Tabellen folgt ein einzeiliger Abstand zum nachfolgenden Text

Links Keine internen Links zwischen den Webseiten der Lernumgebung Externe Links werden prinzipiell in einem neuen Browserfenster geoumlffnet (blank)

Abbildung

Alle Abbildungen erhalten fortlaufend beginnend mit 1 nummerierte Abbildungsunterschriften der Form Abb x hellip

Abbildungen sind moumlglichst spachenunabhaumlngig d h ohne Texte in der Abbildung zu erstellen Zur Beschriftung koumlnnen z B Zahlen verwendet werden die in der Abbildungsunterschrift oder im Text er-laumlutert werden

Tabellen Tabellen werden in jeder Webseite fortlaufend beginnend mit 1 nummeriert Tabellen sind zu zentrieren Rahmenstaumlrke 1

Formeln

Formeln sind nicht als Textzeichen oder Grafik im laufenden Text einzufuumlgen sondern stets zentriert in einer eigenen Zeile als gif-Grafik

Zum Erstellen der Formel-Grafiken eignet sich z B der Formel-Editor MathType15 mit der Aufloumlsungs-Einstellung 120 dpi fuumlr InternetGif

Formeln brauchen im Rahmen des begrenzten Umfangs der Webseiten nicht nummeriert zu werden Groumlszligen-symbole

Griechische Groumlszligensymbole und mathematische Symbole sind nicht als Grafiken im laufenden Text sondern als HTML-Code einzufuumlgen Eine Zeichenreferenz findet sich bei Selfhtml16

Styles Zur Formatierung der Webseiten werden aus der Stylesheet-Datei nur die drei Styles Uumlberschrift fuumlr

die Uumlberschriften Bildunterschrift fuumlr Abbildungs- und Tabellenunterschriften und Tabellentext fuumlr Tex-te in Tabellen benoumltigt

Tab 6 Richtlinien zur Gestaltung und Formatierung der Standard-Lernumgebung

Detailliertere Informationen zum Layout der Standard-Lernumgebung koumlnnen dem RCL-Ordner und dem Erscheinungsbild der Webseiten von RCLs in Browsern entnommen wer-den

15 Vgl Design Science MathType 16 Vgl Selfhtml HTML-Zeichreferenz

33

4 ANHANG

34

41 Interface in Basisschaltung 411 Schaltplan und Bauteilliste Abb 19 zeigt den Schaltplan der Basisschaltung des Interface und Tab 7 die dazugehoumlrige Bauteilliste

Abb 19 Basisschaltung des Interface

Nr Anzahl Kurzbeschreibung des Bauteils Best-Nr bei Reichelt electronic

Einzelpreis in euro

0 1 Epoxyd-Platine (190x112 mm) mit Anteil Loumltpunktraster (Spezi-

alanfertigung) - asymp 10

1 1

Epoxyd-Fotoplatine einseitig 160x100 mm 15 mm 35 microm Epoxyd-Lochrasterplatine 160x100 mm 15 mm 35 microm

BEL 160x100-1 UP 832EP

170 420

1 1 Hohlstecker-Einbaubuchse gewinkelt Loumltfahnen 21 mm HEBW 21 018 2 1 D-SUB-Stecker 9-polig gewinkelt RM 94 D-SUB ST 09EU 029 3 1 Schottky Diode DO41 40 V 1 A SB 140 008 4 1 Draht von abgeschnittenem Beinchen aus Pos-Nr 3 - - 5 1 IC-Sockel 16-polig superflach gedreht vergoldet GS 16P 029 6 1 IC-Sockel 40-polig superflach gedreht vergoldet GS 40P 061 7 1 2x10-pol-Stiftleiste gerade RM 254 SL 2X10G 254 007 8 1 Metallschichtwiderstand 100 kΩ Metall 100k 0082 9 1 Elektrolytkondensator 10x16 mm 470 microF RM 50 mm RAD 47025 006 10 1 Elektrolytkondensator 63x11 mm 100 microF RM 25 mm RAD 10016 004 11 5 Elektrolytkondensator 5x11 mm 10 microF RM 20 mm RAD 1035 004 12 2 Keramik-Kondensator 33 pF Kerko 33p 006 13 3 Vielschicht-Keramikkondensator 100 nF 20 Z5U-25 100n 004

35

14 1 Standardquarz Grundton 110592 MHz 110592-HC49U-S 018 15 1 Spannungsregler 1 A positiv TO-220 microA 7805 028 16 1 Kuumlhlkoumlrper fuumlr Gehaumluse TO-220 99KW V FI356 066 17 1 Zylinderkopfschraube Schlitz M3 10 mm fuumlr Kuumlhlkoumlrper M3x10mm 160 18 2 Sechskantmutter M3 fuumlr Kuumlhlkoumlrper SK M3 001 19 1 Stecker-Schaltnetzteil 12 V 2250 mA MW 3IP25GS 1150 20 1 RS232-Driver DIL-16 MAX 232 CPE 041 21 1 ATmega AVR-RISC-Controller DIL-40 ATmega16-16 DIP 420 22 3 10-poliger Wannenstecker RM 254 stehend (optional) WSL 10G 009 23 1 14-poliger Wannenstecker RM 254 stehend (optional) WSL 14G 014 24 1 40-polige Stiftleiste 1-reihig gerade RM254 (optional) SL 1x40G 254 023 25 1 Kunststoffgehaumluse 1982x1124x760 mm (Serientyp 202) - asymp 10 euro 26 1 D-SUB Nullmodem-Kabel 9-pol BUBU 3 m AK 143 155 27 x DIN-Einbaubuchse 5-pol Schraubver 360deg (optional) DIO-50W EMS 185 28 x DIN-Einbaubuchse 8-polig Schraubversch 270deg (optional) DIO-80SN EMS 180 29 x Pfostenstecker 10-polig mit Verrieglung gew (optional) PSL 10W 028 30 x Klemmleiste RM 254 Oumlffnungshebel 8-polig (optional) Wago 233 220

Tab 7 Bauteilliste mit Bestellnummer und Einzelpreisen der Bauelemente bei Reichelt electronic (Stand 23102010)

Anhand der Bauteilliste in koumlnnen die elektronischen Bauelemente der Basisschaltung (larr Tab 7 Nr 0 ndash 21 optional Nr 22 - 24) bei Reichelt electronic bestellt werden Das Gehaumluse des Interface (larr Tab 7 Nr 25) sollte vom Hersteller HAGOTECH GmbH bezogen werden Weiterhin wird ein Nullmodemkabel (larr Tab 7 Nr 26) zur Verbindung des Interface mit dem Computer benoumltigt Sensoren und Aktoren des Experiments koumlnnen mit optionalen Steck-verbindern (larr Tab 7 Nr 27 - 30) und entsprechende Kabelverbindungen an das Interface angeschlossen werden Die Nummern 0 - 25 stimmen mit der angegebenen Bestuumlckungs-reihenfolge auf der Platine uumlberein Das Interface kostet in der Basisschaltung ca 50 euro

412 Bestuumlckung der Platine Abb 20 zeigt zur Bestuumlckung der Platine benoumltigte Werkzeuge

Abb 20 Werkzeuge zur Bestuumlckung der Platine des Interface

36

Loumltkolben mit feiner Spitze in Meisselform 2 mm oder Loumltstation (1) Loumltzinnabsauger zum Entfernen von Loumltzinn (2) Nasser Schwamm zum Reinigen der Spitze des Loumltkolbens (3) Loumltzinn mit Durchmesser 08 - 10 mm (4) Flachspitzzange zum Biegen von Anschluumlssen der Bauelemente (5) Seitenschneider zum Kuumlrzen der Beinchen von Bauelementen (6) Multimeter zum Pruumlfen der Funktionsfaumlhigkeit der Schaltung (7) Sekundenkleber zur Befestigung von Bauelementen Kleine Bohrmaschine z B von Dremel und 08 mm Bohrer oder duumlnne Rundfeile zum

Weiten von Loumlchern auf der Platine des Interface

Abb 21 zeigt die Platine des Interface von der Loumltseite in der Spezialanfertigung der Elekt-ronik-Werkstatt an der Technischen Universitaumlt Kaiserslautern und in der Selbstbauvariante (larr Tab 7 Nr 0) Abb 22 zeigt das Platinenlayout

Abb 21 Platine des Interface von der Loumltseite als Spezialanfertigung (links) und der Selbstbauvariante

(rechts)

Abb 22 Layout zur Herstellung des geaumltzten Teils der

Platine in der Selbstbauvariante

37

In der Selbstbauvariante kann anhand des Platinenlayouts eine selbst geaumltzte Platine fuumlr die Basisschaltung auf einer Platine im Europakartenformat hergestellt und diese in der Laumlnge gekuumlrzt werden Eine gekuumlrzte Lochrasterplatine bildet den zweiten Teil der Platine Mit den optionalen vier Wannensteckern (larr Tab 7 Nr 22 - 23) oder den vier Stiftleisten (larr Tab 7 Nr 24) an den Ports des Mikrocontrollers koumlnnen leicht elektrische Verbindungen zum Rasterteil der Platine herstellt werden Abb 23 zeigt die fertig bestuumlckte Platine mit den Nummern aus Tab 7

Abb 23 Bestuumlckte Platine des Interface mit nummerierten Bauelementen

Tab 8 beschreibt das Einloumlten der elektronischen Bauelemente anhand der Nummern aus Tab 7 und in der angegebenen Reihenfolge

Nr Bauelement Beschreibung des Einbaus

0 Spezialanfertigung und Selbst-bauvariante der Epoxydharz-

Platine

1

Stromversorgungsbuchse ndash Hohlstecker 21 mm

Wenn die Loumltbeine nicht durch die Loumlcher der Platine passen die Loumlcher mit einer runden Schluumlsselfeile aufweiten

Stromversorgungsbuchse mit Sekundenkleber vor dem Festloumlten auf der Pla-tine fixieren da diese mechanischen Belastungen durch das Einstecken und Herausziehen des 12 V -Steckers ausgesetzt ist

Wahlweise kann die 25 mm-Version der Buchse verwendet werden

2

RS232 Datenstecker

RS232 Datenstecker mit Sekundenkleber vor dem Festloumlten auf der Platine fixieren da dieser mechanischen Belastungen durch das Einstecken und Herausziehen des Null-Modem-Kabels ausgesetzt ist

Alle Beinchen und Befestigungsstifte zur houmlheren Stabilitaumlt anloumlten

3

Ein Ring an einer Seite der Diode (hier links weiszlig) zeigt die Durchlass- bzw Sperrrichtung der Diode an Die Position des Ringes entspricht der Position des Balkens im Schaltungssymbol

38

Diode ndash SB140 Auf der Platine muss der Ring auf der von der Stromversorgungsbuchse ab-

gewandten Seite liegen

4 Drahtbruumlcke

Vor dem Einloumlten des 40-poligen IC-Sockels (Nr 5) muss eine Drahtbruumlcke unter diesem eingeloumltet werden Dazu koumlnnen die abgeschnittenen Beinchen der bereits eingeloumlteten Diode (Nr 3) verwendet werden

5 6

IC-Fassungen

Die 16-polige und 40-polige IC-Fassungen besitzen eventuell eine Markie-rung fuumlr Pin1 (z B Kerbe in der Stirnseite Punkt Pfeilhellip) als Hilfe fuumlr das richtige Einstecken der ICs Die Markierungen muumlssen bei beiden Fassungen nach oben also zum naumlchstliegenden Rand der Platine zeigen

Die ICs unbedingt noch nicht einstecken

7

ISP-Stiftleiste

Die doppelreihige ISP-Stiftleiste dient der Programmierung des Mikrocontrol-lers mit dem AVR-ISP-Programmer (ISP steht fuumlr In System Programming)

ISP-Stiftleiste auf 2 x 5 Stifte kuumlrzen und mit den kurzen Beinchen einloumlten so dass auf die langen Stifte der AVR-ISP-Programmer gesteckt werden kann

8

Widerstand 100 kΩ

Den 100 kΩ-Widerstand rechts neben der ISP-Stiftleiste einloumlten

9

10

11

Elkos

Bei den verwendeten Elektrolyt-Kondensatoren ist die Polung zu beachten (langes Beinchen = Plus-Pol) Weiterhin ist auf den Kondensatoren ein wei-szliger Streifen mit Minus-Zeichen aufgedruckt Die Kondensatoren sollten eine Spannungsfestigkeit von mindestens 16 V besser 25V besitzen

Auf der Kupferseite der Platine zeigt die Form der Loumltaugen die Polung an Rundes Loumltauge = Plus quadratisches Loumltauge = Minus

Der 470 microF Kondensator wird mit dem weiszligen Streifen in Richtung Stromver-sorgungsbuchse direkt unter diese montiert

Der 100 microF Kondensator sitzt direkt unter der 16-poligen IC-Fassung Sein weiszliger Streifen (Minus-Pol) zeigt in Richtung der Stromversorgungsbuchse

Vier der 10 microF Kondensatoren werden links neben der 16-poligen IC-Fassung montiert Deren Polung ist wie folgt Unterster Kondensator Minus nach oben naumlchster Kondensator Minus nach unten die beiden oberen Kondensatoren mit Minus nach oben

Ein weiterer 10 microF Kondensator wird rechts neben die 16-polige IC-Fassung geloumltet Sein Minus-Streifen zeigt nach unten

12

13

Keramik-Kondensatoren

Die Beschriftung 104 bedeutet 10e4 pF = 100 nF Die beiden 33 pF-Kerkos (Keramik-Kondensatoren) werden direkt nebenei-

nander rechts neben die 16-polige IC-Fassung geloumltet Zwei 100 nF-Kondensatoren werden unter dem 470 microF-Elko eingeloumltet ein

weiterer mittig an der linken Seite der 40-poligen IC-Fassung

14

Quarz

Als Quarz wird ein 110592 MHz-Typ verwendet Bei dieser Frequenz ist eine fehlerfreie Kommunikation uumlber RS232 mit 9600 Baud moumlglich Fuumlr den AT-mega16 koumlnnen Quarze bis 16 MHz eingesetzt werden Details siehe Daten-blatt

Der Quarz wird direkt rechts neben die beiden 33 pF-Kerkos geloumltet Die Ori-entierung des Quarz spielt keine Rolle

15

16

17

18

Der Spannungsregler L7805 erzeugt eine stabilisierte Spannung von 5 V Es muss ein Kuumlhlkoumlrper zur Waumlrmeabfuhr vom Spannungsregler verwendet werden

Vor dem Einloumlten zwischen Spannungsregler und Kuumlhlkoumlrper etwas Waumlrme-leitpaste aufgetragen Beide Bauteile fest mit einer Schraube M3x10 und ei-ner 1 Mutter verschrauben

Dann den Spannungsregler einloumlten um 90deg abzubiegen das uumlberstehende Gewinde durch das vorgesehene Loch stecken und alles mit einer 2 Mutter auf der Platine befestigen

1 Mutter

2 Mutter

Schr

aube

L7805

Platine

KuumlhlkoumlrperWaumlrmeleitpaste

Beinchen

Loumlten

39

Spannungsregler L7805 Kuumlhl-koumlrper und Montage

19

Steckernetzteil

Funktionskontrolle vor dem Einsetzen des Mikrocontrollers Polung der Elektrolyt-Kondensatoren (Elkos) pruumlfen Sind alle Beinchen angeloumltet Hat das Loumltzinn an den Beinchen und der Pla-

tine guten Kontakt Sind eventuell zwei benachbarte Beinchen unbeabsichtigt durch Loumltzinn verbunden Alle Loumltverbindungen nochmals genau z B mit ei-ner Lupe pruumlfen

Probeweise das Stecker-Netzteil an die Buchse anschlieszligen Am 100 nF-Kondensator links mittig der 40-poligen IC-Fassung muumlssen 5 V anliegen

Versorgungsspannung unbedingt wieder von der Platine trennen

20

21

ICs MAX232 und ATmega16

Die Nuten auf den ICs am linken Rand muumlssen nach oben zeigen d h Pin1 ist bei beiden ICs in der Abbildung links unten und auf der Platine oben links

Manchmal passen die Beinchen der ICs nicht in die Fassung weil die Fas-sung scheinbar zu schmal ist Dann den IC seitlich mit einer Beinchen-Reihe flach auf den Tisch legen den IC-Koumlrper links und rechts greifen und Bein-chen durch leichten Druck biegen Einzelne verbogene Beinchen vorsichtig mit einer kleinen Flachzange richten

22

23

Wannenstecker 10- und 14-polig

Wannenstecker an den vorgesehe-nen Stellen mit der Nut gegen Ver-polung in Richtung des naumlherliegen-den Platinenrands einloumlten

Die Abbildung rechts zeigt die Pin-Belegung der Wannenstecker

24

Stiftleiste 8-polig 40-pol Stiftleiste in 4 jeweils 8-polige Stuumlcke zerteilen und einloumlten

25

Kunststoffgehaumluse

In der Selbstbauvariante der Platine (Nr 0) vor dem Einsetzten der Platine in das Gehaumluse passend positionierte Kunststoffstege am Gehaumluseboden fest-kleben

Tab 8 Bestuumlckung der Platine des Interface mit Bauelementen

42 Erweiterungsschaltungen 421 Uumlbersicht In Tab 3 sind von RCLs des RCL-Portals Sensoren und Aktoren mit den dazugehoumlrigen Er-weiterungsschaltungen zusammengestellt Da alle RCLs obligatorisch uumlber mindestens eine Webcam verfuumlgen sind diese unter den Sensoren nicht aufgefuumlhrt Die wenigen Erweite-rungsschaltungen fuumlr Sensoren sind unter Sensoren in Klammern aufgelistet Unter Aktoren werden auszliger elektro-mechanischen Wandlern auch gesteuerte Geraumlte oder Bauelemente verstanden Anzeigeinstrumente sind unter Aktoren nur aufgefuumlhrt wenn sie direkt vom In-terface gesteuert werden Mit gekennzeichnete Erweiterungsschaltungen befinden sich au-szligerhalb des Interface

40

RCL Sensoren Aktoren Erweiterungsschaltungen fuumlr Aktoren

Beugung und Interferenz I Referenz-Taster

Schrittmotor (Rotation) Schrittmotorsteuerung Laser-Modul Geschaltete Spannungsversorgung

Beugung und Interferenz II

4 Referenz-Taster Lichtsensor

4 Schrittmotoren (Translation) 4 Schrittmotorsteuerungen 5 Laser-Module Geschaltete Spannungsversorgung LED fuumlr Position des

Lichtsensors Geschaltete Spannungsversorgung

LED fuumlr Linealbeleuchtung Geschaltete Spannungsversorgung

Elektronen-beugung

Hochspannungsnetzgeraumlt Geschaltete Spannungsversorgung Hochspannungsnetzgeraumlt Steuerung der Hochspannung

Fotoeffekt 2 Referenz-Taster Photozelle

2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen

Quecksilberdampflampe Geschaltete Spannungsversorgung

der Drossel fuumlr Quecksilberdampf-lampe

Halbleiter-kennlinien

und Halbleiterkennli-nien - Schuumller-

projekt

Referenz-Taster

Schrittmotor (Rotation) Schrittmotorsteuerung Oszilloskop Geschaltete Spannungsversorgung

Oszilloskop Instrumentenverstaumlrker fuumlr X- und Y-Ablenkung

Multimeter Steuerung Spannungs- oder Strom-anzeige

Heiszliger Draht 4 Endtaster 4 Drehgeber Kurzschlusssensor

4 Gleichstrommotoren 4 Treiber

Zweifarbige LED Steuerung der LED-Farbe

Lichtgeschwin-digkeit

Drehimpulsgeber 2 Taster an Enden

der Eisenbahnstre-cke

2 Schrittmotoren 2 Schrittmotorsteuerungen Oszilloskop Geschaltete Spannungsversorgung

Motor der Lokomotive Steuerung des Ein- und Ausschal-tens und der Bewegungsrichtung

Maut Infrarot-Sensor Gleichstrommotor Geschaltete Spannungsquelle 2 IR-Fernbedienungen Spannungsregler 2-stellige 7-Segmentanzeige LED-Treiber

Millikan-Versuch 2 Referenz-Taster

2 Schrittmotoren 2 Schrittmotorsteuerungen Lichtquelle (LED) fuumlr Millikan-

Kondensator Geschaltete Spannungsversorgung

Airbrush-Kompressor Geschaltete Spannungsversorgung Magnetventil Geschaltete Spannungsversorgung Millikan-Kondensator Gesteuertes Hochspannungsmodul

Optische Com-putertomogra-

phie

2 Referenz-Taster 2 Lichtsensoren

Schrittmotor (Rotation) Schrittmotorsteuerung Schrittmotor (Translation) Schrittmotorsteuerung

2 Laser-Module 2 geschaltete Spannungsversor-gungen

Optische Fou-rier-

Transformation 2 Referenz-Taster

2 Schrittmotoren (Translation) 2 Schrittmotorsteuerungen

Laser-Modul Geschaltete Spannungsversorgung

Oszilloskop Oszilloskop Geschaltete Spannungsversorgung Signalgenerator Steuerung der Signalart

Radioaktivitaumlt 4 Referenz-Taster Geiger-Muumlller-

Zaumlhlrohr

2 Schrittmotoren (Translation) 2 Schrittmotorsteuerungen 2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen 4-stellige 7-Segment-Anzeige Treiber Elektromagnet Geschaltete Spannungsversorgung

Roboter im Labyrinth Infrarot-Sensor

2 Schrittmotoren 2 Schrittmotorsteuerung Infrarot-Sender Treiber

Rutherfordscher Streuversuch

2 Referenz-Taster Halbleiterdetektor

(Impulsformer)

2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen

4-stellige 7-Segment-Anzeige Treiber

Weltpendel

Referenz-Taster Lichtsensor der

Lichtschranke (Im-pulsformer)

Temperatursensor

Schrittmotor (Translation) Schrittmotorsteuerung Elektromagnet Geschaltete Spannungsversorgung

Laser der Lichtschranke Geschaltete Spannungsversorgung

Windkanal Referenz-Taster Schrittmotor (Translation) Schrittmotorsteuerung

41

Dehnungsmess-streifen (Wheat-stonesche Bruumlcke Messverstaumlrker Multimeter)

Geblaumlsemotor Geschaltete Spannungsversorgung

und Ansteuerung mit Pulsweiten-modulation

Anemometer Geschaltete Spannungsversorgung Multimeter Geschaltete Spannungsversorgung

Tab 9 Sensoren Aktoren und Erweiterungsschaltungen der RCLs des RCL-Portals

422 TMC222-Modul zur Schrittmotorsteuerung 4221 Schaltplan und Bauteilliste Abb 1 zeigt die Beschaltung des TMC222 von Trinamic auf dem TMC222-Modul

Abb 24 Beschaltung des TMC222 von Trinamic

Anhand der Bauteilliste in Tab 10 koumlnnen die elektronischen Bauelemente des TMC222-Moduls bei Reichelt electronic bestellt werden Ein TMC222-Modul kostet ungefaumlhr 10 euro

Nr Anzahl Kurzbeschreibung des Bauteils Best-Nr bei Reichelt electronic

Einzelpreis in euro

0 1 Epoxyd-Fotoplatine einseitig 75x100 mm 15 mm 35 microm BEL75X100-1 096 1 1 Integrierter TMC-Schrittmotor-Controller TMC 222 SI asymp 7 2 1 Elektrolytkondensator 8x11 mm Rm 35 mm 100 microF35 V RAD 10035 004 3 1 Tantal-Kondensator Rm 25 10 microF35 V Tantal 1035 014 4 2 Vielschicht-Keramikkondensator 220 nF 20 Z5U-25 220N 011 5 3 Vielschicht-Keramikkondensator 100 nF 20 Z5U-25 100N 004 6 2 Metallschichtwiderstand 100 kΩ Metall 100K 0082 7 1 1x36pol Stiftleiste gewinkelt Rm 254 SL 1X36W 027 8 1 1x36pol Buchsenleiste gerade Rm 254 BL 1X36G 025

Tab 10 Bauteilliste mit Bestellnummer und Einzelpreisen der Bauelemente bei Reichelt electronic (Stand 23102010)

4222 Bestuumlckung der Platine

42

Abb 25 zeigt die fertig bestuumlckte Platine mit den Nummern aus Tab 10

Abb 25 Bestuumlckte Platine des TMC222-Moduls

mit nummerierten Bauelementen

Die Platine (35 mm x 30 mm) kann anhand des Layouts in Abb 26 hergestellt werden Der IC TMC222 wird auf der Loumltseite der Platine aufgeloumltet Das TMC222-Modul kann mit der Stiftleiste (larr Tab 10 Nr 7) in eine Buchsenleiste (larr Tab 10 Nr 8) auf die Platine des In-terface gesteckt werden

Abb 26 Platine des TMC222-Moduls von der Loumltseite (links) und Layout

4223 Quellcode des Mikrocontroller-Programms Im Folgenden ist ein mit Bascom (larr 12 Tab 1 Entwicklungsumgebungen) erstelltes Bei-spiel-Programm zur Ansteuerung des Schrittmotormoduls TMC222 durch den Mikrocontroller ATmega16 angegeben $regfile = m16DEFdat $crystal = 11059200 $baud = 9600 Definitionen Config Scl = Portc0 Taktleitung Config Sda = Portc1 Datenleitung Const Adress = ampB11000000 I2C Adresse des TMC222 Const GetFullstatus1 = ampB10000001 Kommando des TMC222 Const Resetpos = ampB10000110 Kommando des TMC222 Const Motorparameter = ampB10001001 Kommando des TMC222 Const Setposition = ampB10001011 Dim Puffer(10) As Byte

43

Programm I2csend Adress GetFullstatus1 GetFullstatus1 (Initialisierung des TMC222) I2creceive Adress 7 Ack Daten in Puffer auslesen Puffer(1) = Motorparameter puffer auffuumlllen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB11110011 1111irun 0011ihold Puffer(5) = ampB01110001 0111vmax 0001vmin Puffer(6) = ampB00010000 000securepos(bit10-8) 1shaft 0000acceleration Puffer(7) = 0 securepos(bit7-0) Puffer(8) = ampB00001100 000nicht belegt 0accshape 11stepmode 00nicht belegt I2csend Adress Puffer(1) 8 I2csend Adress Resetpos aktuelle Position auf 0 setzen Puffer(1) = Setposition Motor bewegen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB01111111 position(bit 15-8) Puffer(5) = ampB11111111 position(bit 7-0)acute I2csend Adress Puffer(1) 5 End

423 Geschaltete Spannungsquellen und Verbraucher Die Ausgaumlnge des Mikrocontrollers duumlrfen nur mit Stroumlmen kleiner als ungefaumlhr 20 mA belas-tet werden Verbraucher mit einer Stromlast groumlszliger als 20 mA koumlnnen daher nicht direkt an den Mikrocontroller angeschlossen werden Abb 27 zeigt links eine Schaltung zum Schalten eines Verbrauchers wie z B des Relais und rechts eine Schaltung mit dem IC ULN2803A zum Schalten mehrerer Verbraucher wie z B Gluumlhlampen

Abb 27 Erweiterungsschaltungen zum Schalten eines (links) oder

mehrerer Verbraucher (rechts)

Zu beachten ist dass der Transistor BC337 maximal 800 mA schalten kann und fuumlr groumlszligere Stroumlme andere Transistoren verwendet werden muumlssen

424 Steuerung von Gleichstrommotoren

44

Sollen Gleichstrommotoren zum Bewegen von Objekten mit dem Mikrocontroller gesteuert werden dann eignet sich dazu der in Abb 28 dargestellte beschaltete IC L293D

Abb 28 Beschaltung des L293D zum

Steuern zweier Gleichstrom-motoren

Mit Pin 1 = Pin 9 = 1 (High) koumlnnen zwei Gleichstrommotoren M1 und M2 (Versorgungs-spannung UM lt 36 V Spulendauerstrom IM lt 600 mA) unabhaumlngig voneinander ein- und ausgeschaltet sowie in der Drehrichtung uumlber die Ports PA0 und PA1 fuumlr M1 und PA2 und PA3 fuumlr M2 gesteuert werden Z B gilt mit PA0 = PA1 = 0 (M1 ausgeschaltet) PA0 = 1 und PA1 = 0 (M1 dreht sich) PA0 = 0 und PA1 = 1 (M1 dreht sich in Gegenrichtung)

45

43 Quellcodes zum RCL Elektronenbeugung 431 Mikrocontroller-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

46

47

48

49

432 PHP-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

50

51

433 Bedienfeld der Laborseite

Tab 11 erlaumlutert die Funktion der Bloumlcke im Quellcode

Zeilen Funktion 1 Datei defaultconf einbinden 2 Datei headtpl einbinden

5 - 11 Ausgabe der verbleibenden Experimentierzeit 18 - 21 Button zum Einschalten der Elektronenbeugungsroumlhre 28 - 30 Eingabefeld fuumlr die Beschleunigungsspannung

37 Ruumlckmeldung zur eingegebenen Beschleunigungsspannung 42 Datei foottpl einbinden

Tab 11 Funktion der Programmbloumlcke in der Datei experi-menttpl

52

434 Webcamfeld der Laborseite

In Tab 12 ist die Funktion der Programmbloumlcke und die Anpassungen der Vorlage an das RCL Elektronenbeugung beschrieben

Zeilen Funktion Anpassung RCL Elektronenbeugung

5 Titelangabe erscheint als Tabulatorbeschriftung in Browsern

Name des RCLs eintragen

11 - 15 16 - 20

Zwei Javascripts zum getrennten Aufrufen zweier Po-pup-Fenster mit dargestelltem Webcambildern 1 und 2

Javascript 1 die IP-Adresse eintragen Javascript 2 auskommentiert weil nicht benoumltigt

24 - 40 42 - 60

Zwei Javascripts zum Aktualisieren der Webcambilder 1 und 2

Javascript 2 auskommentiert weil nicht benoumltigt

67 - 71 79 - 83

Aufrufen des ersten Webcambilds der Webcams 1 und 2 beim Aufrufen der Datei

Webcambild 2 auskommentiert weil nicht benoumltigt

72 - 78 84 - 90

Buttons zum Aufrufen der Screenshots der Webcam-bilder 1 und 2

Button 2 auskommentiert weil nicht benoumltigt

91 - 95 Zeile der Tabelle zum Eintragen von Informationen die sich auf die Webcambilder oder den Versuch beziehen

Text in Zeile der Tabelle geschrieben

Tab 12 Funktionen der Codeabschnitte in der Datei videohtm und Anpassung der Vor-lage an das RCL Elektronenbeugung

53

44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung Im Folgenden wird die Installation und Konfiguration des AVR-Studios 418 und der Bascom 11198 Demoversion beschrieben Alle Anleitungen sind zeilenweise von links nach rechts zu lesen

441 AVR-Studio 418 4411 Installation Auf der Webseite von ATMEL Register AVR Studio 418 (build 684) anklicken und Registrie-rungsformular ausfuumlllen Danach die Datei AvrStudio418Setup herunterladen Durch Dop-pelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen Next waumlhlen

I accept hellip und Next waumlhlen Installationsordner und Next waumlhlen

54

Installupgrade hellip und Next waumlhlen Install waumlhlen Die Installation beginnt

Finish waumlhlen

4412 Konfiguration AVR Studio 418 in Windows XP Professional unter StartProgramme aufrufen

Startfenster mit Cancel schlieszligen Unter ToolsProgram AVR Auto Connect waumlhlen

55

Im eingeblendeten Fenster auf der Registerkarte Main als Device ATmega16 und als Programming Mode ISP mo-de waumlhlen

Optional kann Signatur gelesen werden

In der Registerkarte Fuses alle Haumlkchen und Auswahlfel-der wie angegeben waumlhlen

Dann Program waumlhlen

442 BASCOM 11198 Demoversion 4421 Installation Auf der Webseite von Bascom unter Bascom AVR Demo die Zip-Datei setupdemoexe her-untergeladen Durch Doppelklick auf den Dateinamen die Installation starten

Next waumlhlen I accept the agreement und Next waumlhlen

56

Next waumlhlen Installationsordner eingeben und Next waumlhlen

Eintrag im Start-Menuuml eingeben und Next waumlhlen Next waumlhlen

Yes restart the computer now und Finish waumlhlen

57

4422 Konfiguration Bascom AVR in Windows XP Professional unter StartProgramme zum Einstellen der Para-meter des Mikrocontrollers und des Terminals aufrufen

OptionsCompilerChip waumlhlen Einstellungen wie im Bild vornehmen und OK waumlhlen

Auf der Registerkarte Communications Einstellungen wie im Bild vornehmen und OK waumlhlen

Unter OptionsCommunication Einstellungen wie im Bild

vornehmen und OK waumlhlen FileNew waumlhlen Unter ToolsTerminal emulator das Terminal aufrufen und

eingeben Die Befehlsliste des RCLs Elektronenbeu-gung wird angezeigt

45 Installation und Konfiguration von Programmen auf dem RCL-Server Im Folgenden wird der Download die Installation und die Konfiguration von Programmen auf dem RCL-Server unter Windows XP Professional beschrieben Alle Anleitungen sind zeilen-weise von links nach rechts zu lesen Die Installation der Programme sollte in der angegebe-nen Reihenfolge erfolgen

58

451 Einrichten des Internet-Zugangs LAN-Verbindung unter StartSystemsteuerungNetzwerkverbindungen aufrufen

Internetprotokoll (TCPIP) und Eigenschaften waumlhlen Folgende IP-Adresse verwenden waumlhlen IP-Adressen ein-

geben und OK waumlhlen

452 Paket XAMPP 174 Unter apache friends - xampp fuumlr windows und XAMPP Windows 174 Installer anklicken und Datei xampp-win32-174-VC6-installerexe speichern Durch Doppelklick auf die Datei die Installation starten

Sprache und Ok waumlhlen Ok waumlhlen

59

Weiter waumlhlen Zielverzeichnis mit Durchsuchen waumlhlen oder eingeben

Apache nicht als Dienst installieren Fertig stellen waumlhlen

Ja waumlhlen Zum Starten des Apache Webservers das Control Panel

unter StartProgrammeXAMPP 173 for Windows mit Start starten Anstelle von Start erscheint Running

Zum Beenden des Apache Webservers Stop waumlhlen Zum Beenden des Control Panels Exit waumlhlen

60

453 Videoserver webcamXP 5 Private Auf der Webseite von Moonware Studios unter webcamXP 55xx die Datei wlite550 herun-terladen Durch Doppelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen I Agree waumlhlen

Next waumlhlen Auszliger webcamXP 5 brauchen keine weiteren Komponen-

ten installiert zu werden

Den vorgeschlagenen Ordner und Install waumlhlen Finish waumlhlen

61

WebcamXP unter StartProgramme aufrufen Zugesandte

Lizenz-Daten in das eingeblendete Fenster eingeben und Register waumlhlen

Beim Starten des Programms stellt webcamXP automa-tisch eine Verbindung zu den am Computer angeschlosse-nen Webcams her

Nach dem Start ist Uumlberwachen gewaumlhlt Durch Rechts-klick mit der Maus auf das Videofenster wird zu jeder Vi-deoquelle ein Kontextmenuuml angezeigt Wird kein Videobild dargestellt das Kontextmenuuml aufrufen Art der Videoquelle waumlhlen (hier USB) und unter den erkannten Videoquellen (hier USB-Videogeraumlt) die gewuumlnschte waumlhlen

Das Videoformat muss fuumlr eine passende Darstellung auf

der Laborseite auf 320 x 240 eingestellt sein Ist das nicht der Fall im Kontextmenuuml unter Video Format einstellen

In gleicher Weise kann eine zweite Videoquelle hinzugefuumlgt werden

In der Registerkarte Web Broadcast kann unter

Broadcast (HTTP) der Videoserver mit Ausschalten ge-stoppt und mit Aktivieren gestartet werden

Zur Zielwahl des Webservers (131246237167 - Internet D16W3X3J - Computer 127001 - Local Host) Videoser-ver stoppen und einstellen Videoserver wieder starten

62

454 Terminalprogramm Hyperterminal Hyperterminal in Windows XP Professional unter StartProgrammeZubehoumlrKommunikation aufrufen

Name der neuen Verbindung - z B Interface - eingeben

und OK waumlhlen Die Verbindung zwischen Computer und Interface wurde

uumlber einen USB-Seriell-Adapter hergestellt Dann erschei-nen zwei zusaumltzliche Eintraumlge (Motorola Comp Modem und COM5) in der Liste Prinzipiell muss eine COMx-Verbindung gewaumlhlt werden

Eigenschaften von COM 5 wie im Bild einstellen und OK

waumlhlen DateiEigenschaften aufrufen und ASCII-Konfiguration

waumlhlen

63

Haken bei Eingegebene Zeichen lokal ausgeben (lokales

Echo) setzen um eingegebenen Zeichen im Hyperterminal zu sehen

Bei funktionsfaumlhiger Verbindung erscheint nach Eingabe von Return die Befehlsliste des Interface

Durch Aufrufen von DateiSpeichern die erstellte Verbin-

dung z B auf dem Desktop speichern Dadurch braucht die Verbindung nicht immer wieder von neuem konfiguriert wer-den

Nach Aufrufen von DateiBeenden die bestehende Verbin-dung mit Ja beenden

64

Wurde ein falscher COM-Port gewaumlhlt reagiert das Inter-

face auf die Eingabe Return nicht Hyperterminal dann beenden

Der COM-Port kann dann nicht unter DateiEigenschaften im Hyperterminal aber unter Eigenschaften des Kontext-menuumls der Datei Interfaceht in der Registerkarte Verbin-den mit geaumlndert werden Dann OK waumlhlen und erneut Verbindung testen

65

455 Fernwartungssoftware TeamViewer 6 Host Auf der Webseite von Teamviewer GmbH unter Fuumlr unbeaufsichtigte Server TeamViewer Vollversion die Datei TeamViewer_Setup-wq herunterladen Das Programm muss auf dem RCL-Server und dem Computer der auf den RCL-Server zugreifen soll installiert werden Durch Doppelklick auf die Datei die Installation starten

Ausfuumlhren waumlhlen Weiter waumlhlen

Fuumlr die private nicht kommerzielle Nutzung ist Teamviewer kostenlos

privat nicht-kommerziell und Weiter waumlhlen

Beide Haumlkchen setzen und Weiter waumlhlen

66

Ja un Weiter waumlhlen Weiter

Computername und Kennwort fuumlr den Zugriff auf den RCL-Server oder den eigenen Computer vergeben Kenn wort notie-ren

Ein Teamviewerkonto ist nicht erforderlich Kann auch spaumlter noch eingerichtet werden

ID fuumlr den Computer auf dem das Programm installiert wird fuumlr Zugriff notieren

Das Programm wird gestartet Standardmaumlszligig vorein-gestellt ist der Start des Programms beim Start des Be-trienssystems

67

46 Selbstbau eines elementaren RCLs 461 Hard- und Software Auch ohne gleich ein vielleicht teures physikalisches Experiment zu steuern laumlsst sich mit wenigen Bauelementen ein elementares RCL realisieren Von einer Webseite im Internet sol-len eine Leuchtdiode (LED) ein- oder ausgeschaltet sowie der Zustand der Leuchtdiode und eines Tasters abgefragt werden An Hard- und Software werden benoumltigt

1 Low-Current-LED 5 mm 2 mA 1 Widerstand 18 kΩ 1 Taster und optional zwei 10-polige Wannenstecker mit ungefaumlhr 10 cm passendem Flachbandkabel und Buchsen

Interface in Basisschaltung Null-Modem-Kabel 12 V DC Steckernetzteil (larr 1)

Installierte Bascom-Demo-Version (larr 42)

AVR ISP-Programmer mit 10-poligem Programmierkabel

Installiertes und konfiguriertes AVR Studio 418 (larr 41)

Installiertes Paket XAMPP (larr 52)

Texteditor wie z B Notepad in Windows XP Professional

Konfigurierte Hyperterminalverbindung (larr 54)

462 Bestuumlckung der Platine Abb 29 zeigt zur Orientierung fuumlr das Einloumlten der Bauelemente die fertig bestuumlckte Platine des Interface

Abb 29 Mit elementarem RCL bestuumlckte Platine

des Interface

LED mit Vorwiderstand und der Taster sind rechts neben dem Mikrocontroller im Lochraster-bereich aufgebaut und uumlber Wannenstecker und Flachbandkabel mit dem Port A des Mikro-controllers verbunden (die drei Bauteile rechts neben dem ATmega16 werden nicht benouml-tigt) Tab 13 erlaumlutert die Schritte zur Bestuumlckung der Platine des Interface

68

Nr Schaltung Erlaumluterung

1

Die Leuchtdiode (LED) mit dem Pluspol (langes Beinchen) an PortA0 (PIN40 oben rechts) des Mikrocontrollers anloumlten

An das kurze Beinchen einen 18kΩ Widerstand loumlten dessen anderes Ende mit der Masse (GND) verbinden

2

Den Taster mit PortA1 (PIN39 = 2 Beinchen von oben rechts) und Masse (GND) verbinden

3

Draufsicht

Belegung des 10-poligen Wannensteckers 1 GND (Masse) im Foto oben links 2 +5 V 3 PortA0 4 PortA1 10 PortA7 im Foto unten rechts

Tab 13 Schritte zum Aufbau des elementaren RCLs

463 Lokal gesteuertes RCL Nachfolgend ist der Basic-Programmcode des Mikrocontrollers zur Steuerung und Abfrage der LED und des Tasters angegeben 01 $regfile = m16DEFdat Microcontroller ATmega16 02 $crystal = 11059200 110592MHz Quarz 03 $baud = 9600 Baudrate 04 05 ---[ Variables ]--------------------------------------------------------------- 06 Dim Rs232kommando As String 10 erst Befehlspuffer dann Kommando 07 Dim Parameter As String 10 Parameter 08 Dim Str_pos As Byte Position von Leerzeichen zur Trennung von Kommando und Pa-rameter 09 10 ---[ Initialisierung ]--------------------------------------------------------- 11 Ddra0 = 1 PortA0 als Ausgang fuumlr LED 12 Porta0 = 0 LED aus 13 Ddra1 = 0 PortA1 als Eingang fuumlr Taster 14 Porta1 = 1 Pull-Up aktivieren 15 16 ---[ Main program loop ]------------------------------------------------------- 17 Do Start der Endlos-Schleife 18 19 If Ischarwaiting() = 1 Then Zeichen uumlber RS232 empfangen 20 Input Rs232kommando neues Kommando lesen 21 Parameter = Parameter initialisieren 22 Str_pos = Instr(rs232kommando ) Leerzeichen im Kommando suchen 23 If Str_pos gt 0 Then falls Leerzeichen dann in Kommando+Parameter zerlegen 24 Incr Str_pos Str_pos soll jetzt auf 1Zeichen des Parameters zeigen 25 Parameter = Mid(rs232kommando Str_pos ) Parameter = Teilstring nach Leerzeichen 26 Parameter = Ucase(parameter) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 27 Str_pos = Str_pos - 2 Str_pos soll jetzt auf letztes Zeichen des Kommandos zeigen 28 Rs232kommando = Left(rs232kommando Str_pos)Kommando = Teilstring vor Leerzeichen 29 Rs232kommando = Ucase(rs232kommando) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 30 End If 31 32 Select Case Rs232kommando Eventhandler Interpretation der Kommandos 33 Case Print Hilfe Hilfeseite anzeigen 34 Print LED on - LED einschalten 35 Print LED off - LED ausschalten 36 Print LED - zeigt Status der LED an 37 Print SW - zeigt Status des Schalters an 38

1K8

LED rotmicroC PortA0(PIN40)

Taster

microC PortA1(PIN39)

1

3

2

69

39 Case LED If Parameter = ON Then LED schalten 40 Porta0 = 1 41 End If 42 If Parameter = OFF Then 43 Porta0 = 0 44 End If 45 46 Case LED If Porta0 = 0 Then Status der LED ausgeben 47 Print LED aus 48 Else 49 Print LED an 50 End If 51 52 Case SW If Pina1 = 1 Then Status des Schalters ausgeben 53 Print Taster offen 54 Else 55 Print Taster geschlossen 56 End If 57 58 Case Else Print gt Rs232kommando lt ungueltiger Befehl - weitere Infos mit Info bei unguumlltigen Eingaben 59 End Select 60 61 End If 62 63 Loop Endlos-Schleife Springe zu Do 64 65 End wird nie erreicht

Der erste Teil des Programms (Zeilen 1 - 15) enthaumllt die Systemparameter Variablen und Initialisierung der Ein- und Ausgaumlnge Der zweite Teil enthaumllt ab Zeile 17 das Hauptpro-gramm in dem Benutzereingaben uumlber die serielle Schnittstelle empfangen interpretiert und in entsprechende Anweisungen umgesetzt werden Tab 14 erlaumlutert den Programmcode de-taillierter

Zeilen Erlaumluterung

1 - 3 Diese Angaben teilen dem Compiler (Bascom) mit welcher Prozessor eingesetzt wird wie schnell dieser getaktet (Quarz) ist und mit welcher Uumlbertragungsgeschwindigkeit die Kommunikation uumlber die serielle Schnittstelle (RS232) mit dem PC erfolgen soll

6 - 8 Es werden drei Variablen genutzt Die Eingabe uumlber die serielle Schnittstelle wird in rs232kommando gespeichert Es wird ein Text der Form Kommando ltLeerzeichengt Parameter erwartet so dass die Variable Parameter den-selbigen aufnimmt Die Variable str_pos wird fuumlr die Trennung von Kommando und Parameter benoumltigt

11 - 14

Mit dem Befehl ddrPX (ddr = data direction) wird festgelegt ob ein Beinchen als Ausgang (=1) oder als Eingang (=0) arbeiten soll Der ATmega16 besitzt 32 Ein-Ausgaumlnge die in vier Ports (P=AD) zu je 8 Pins (X=07) unterteilt sind ddrA0 = 1 legt also das 1 Beinchen (Pin 0) von PortA als Ausgang (=1) fest Mit dem Befehl PortA0 =1 kann dieser Pin dann durch Zuweisen von 1 oder 0 an- bzw ausgeschaltet werden Im Datenblatt erfahren Sie welches der 40 Beinchen des Mikrocontrollers wie bezeichnet wird (Pin-Belegung) Wird ein Beinchen als Eingang verwendet (ddrA1 = 0) koumlnnen Sie optional einen so genannten Pull-Up-Widerstand aktivieren (PortA1=1) oder deaktivieren (PortA1=0) Auch hierzu sollten Sie sich unbedingt mit dem Datenblatt vertraut machen

17 63 Das Hauptprogramm besteht aus einer Endlosschleife d h der Mikrocontroller verrichtet ununterbrochen seinen Job so lange er mit Strom versorgt wird

19 - 30 Falls ein Zeichen uumlber die serielle Schnittstelle empfangen wurde wird dieses und alle folgenden gelesen Anschlie-szligend wird gepruumlft ob der empfangene Text von der Form Kommando ltLeerzeichengt Parameter ist so dass er ge-gebenenfalls in ein Kommando und einen Parameter zerlegt werden kann

32 - 59 Dieser Abschnitt wird mit Event-Handler bezeichnet Hier wird auf die Kommandos (Events) reagiert und die ent-sprechenden Schritte ausgefuumlhrt zB schalten LED je nach Wert der Variablen Parameter an- bzw ausschalten

46 52

In beiden Zeilen wird ein Wert eines Ports abgefragt Unterschiedlich ist dass in Zeile 46 der Status eines Ausgangs abgefragt wird (porta0) und in Zeile 52 der Zustand eines Eingangs (pina0) Die Anweisung IF porta0 = 0 THEN pruumlft (hier ist = ein Vergleich und KEINE Zuweisung) ob zuletzt die LED ausgeschaltet (Zuweisung porta0 = 0) wurde Die Anweisung IF pina1= 1 THEN liest den Status eines Eingangs Hier kann festgestellt werden ob der Eingang uumlber den internen Pull-UP-Widerstand auf +5V liegt (pina1 liefert 1) oder ob der Schalter den Eingang mit Masse (0V) verbindet (pina1 liefert 0)

Tab 14 Erlaumluterung des Mikrocontroller-Programmcodes fuumlr elementares RCL

70

In Bascom AVR eine neue Datei erzeugen (FileNew) den Programmcode ohne Kommenta-re eingeben und mit ProgramCompile (F7) eine Hexadezimaldatei erzeugen Die Hexadezi-maldatei mit dem AVR-Studio und dem AVR-ISP-Programmer in den Mikrocontroller schrei-ben (larr 222 Programmuumlbertragung) Nach dem Verbinden von Computer und Interface per Null-Modem-Kabel kann durch Eingabe von in das konfigurierte Hyperterminal die Befehls-liste in Abb 30 aufgerufen werden

Abb 30 Aufgerufene Befehlsliste im Hyperterminal

Durch Eingabe von LED on oder LED off kann die LED ein- und ausgeschaltet LED zeigt den Status der LED und sw den Status des Tasters an Alternativ zum Hyperterminal kann auch das Terminal in BASCOM unter ToolsTerminal Emulator verwendet werden (larr 422)

464 Ferngesteuertes RCL Zum Ansteuern des Interfaces und zum Bedienen des Versuchsaufbaus uumlber das Internet wird eine Webseite benoumltigt die dem Benutzer alle Bedienelemente des Experiments zur Verfuumlgung stellt

Der Benutzer benoumltigt anklickbare Buttons im Webbrowser

Der Webserver muss die Information welcher Button gedruumlckt wurde empfangen und ein entsprechendes Kommando uumlber die serielle Schnittstelle an das Interface senden

Beide Schritte sind im nachfolgenden PHPHTML-Quellcode zusammengefasst 01 ltDOCTYPE HTML PUBLIC -W3CDTD HTML 401 TransitionalEN httpwwww3orgTRhtml4loosedtdgt 02 lthtmlgt 03 ltheadgt 04 ltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1gt 05 lttitlegtelementares RCLlttitlegt 06 ltheadgt 07 08 ltbodygt 09 ltphp 10 if (isset($_POST[Kommando])) wurde bereits Kommando gesendet 11 if( ( $handle = fopen( COM1 w+ ) ) ) Schnittstelle oumlffnen 12

71

13 throw new Exception( Can not access serial port 2 ) ohne Erfolg 14 15 fwrite( $handle $_POST[Kommando] chr( 13 ) ) Befehl an Interface senden 16 switch ( $_POST[Kommando] ) Antwort von Interface auswerten 17 case LED $tmp = fgets( $handle ) Echo von Interface ignorieren 18 $antwort = fgets( $handle ) Antwort des Interfaces 19 echo Antwort $antwort Ausgabe auf Webseite 20 break switch verlassen 21 22 case SW $tmp = fgets( $handle ) Echo von Interface ignorieren 23 $antwort = fgets( $handle ) Antwort des Interfaces 24 echo Antwort $antwort Ausgabe auf Webseite 25 break switch verlassen 26 27 28 29 fclose( $handle ) Schnittstelle schlieszligen 30 31 else 32 `mode com1 BAUD=9600 PARITY=N data=8 stop=1 xon=off` Schnittstellenparameter setzen 33 34 35 gt 36 37 lth3gtBefehl sendenlth3gt 38 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 39 ltinput type=hidden name=Kommando value=LED ON gt 40 ltinput type=submit value=LED anschalten gt 41 ltformgt 42 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 43 ltinput type=hidden name=Kommando value=LED OFF gt 44 ltinput type=submit value=LED ausschalten gt 45 ltformgt 46 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 47 ltinput type=hidden name=Kommando value=LED gt 48 ltinput type=submit value=LED abfragen gt 49 ltformgt 50 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 51 ltinput type=hidden name=Kommando value=SW gt 52 ltinput type=submit value=Taster abfragen gt 53 ltformgt 54 ltbodygt 55 lthtmlgt Den Quellcode in den Texteditor kopieren und im Ordner htdocs von XAMPP z B unter rclphp speichern HTML-Dateien mit PHP-Code (Zeilen 9-35) muumlssen mit der Erweiterung php gespeichert werden damit der Apache Webserver zwischen HTML-Seiten mit und ohne PHP-Code unterscheiden kann Den installierten Apache Webserver starten (larr 452) und im Adressfeld des Webbrowsers die IP-Adresse http127001rclphp aufrufen Das Bedi-enfeld des elementaren RCLs in Abb 31 wird im Browserfenster angezeigt

72

Abb 31 Laborseite des elementaren RCLs

Im Bedienfeld kann die LED an- und ausgeschaltet sowie der Status von LED und Taster abgefragt werden

  • 0 Warum ein Tutorial zur RCL-Technik
  • 1 Technische Konzeption
    • 11 Einfuumlhrung
    • 12 Wahl der RCL-Technik
      • 2 Lokal gesteuertes RCL
        • 21 Interface
          • 211 Mikrocontroller
          • 212 Basisschaltung und Erweiterungsschaltungen
          • 213 Programmierung des Mikrocontrollers
            • 22 Hyperterminal
            • 23 Positionieren von Objekten
              • 231 Hybrid-Schrittmotoren
              • 232 Schrittmotorsteuerung und Positionierungsmechanik
                  • 3 Ferngesteuertes RCL
                    • 31 RCL-Server
                    • 32 Laborseite
                      • 321 Steuerung des RCLs uumlber das Bedienfeld
                      • 322 Videouumlbertragung im Webcamfeld
                        • 33 Standard-Lernumgebung
                          • 4 ANHANG
                            • 41 Interface in Basisschaltung
                              • 411 Schaltplan und Bauteilliste
                              • 412 Bestuumlckung der Platine
                                • 42 Erweiterungsschaltungen
                                  • 421 Uumlbersicht
                                  • 422 TMC222-Modul zur Schrittmotorsteuerung
                                    • 4221 Schaltplan und Bauteilliste
                                    • 4222 Bestuumlckung der Platine
                                    • 4223 Quellcode des Mikrocontroller-Programms
                                      • 423 Geschaltete Spannungsquellen und Verbraucher
                                      • 424 Steuerung von Gleichstrommotoren
                                        • 43 Quellcodes zum RCL Elektronenbeugung
                                          • 431 Mikrocontroller-Programmierung
                                          • 432 PHP-Programmierung
                                          • 433 Bedienfeld der Laborseite
                                          • 434 Webcamfeld der Laborseite
                                            • 44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung
                                              • 441 AVR-Studio 418
                                                • 4411 Installation
                                                • 4412 Konfiguration
                                                  • 442 BASCOM 11198 Demoversion
                                                    • 4421 Installation
                                                    • 4422 Konfiguration
                                                        • 45 Installation und Konfiguration von Programmen auf dem RCL-Server
                                                          • 451 Einrichten des Internet-Zugangs
                                                          • 452 Paket XAMPP 174
                                                          • 453 Videoserver webcamXP 5 Private
                                                          • 454 Terminalprogramm Hyperterminal
                                                          • 455 Fernwartungssoftware TeamViewer 6 Host
                                                            • 46 Selbstbau eines elementaren RCLs
                                                              • 461 Hard- und Software
                                                              • 462 Bestuumlckung der Platine
                                                              • 463 Lokal gesteuertes RCL
                                                              • 464 Ferngesteuertes RCL

19

Abb 8 Programmuumlbertragung zwischen Computer und Mikrocontroller im Inter-

face des RCLs Elektronenbeugung uumlber USB-Seriell-Adapter und ISP-Programmer

Das Interface braucht nicht mit dem Experiment verbunden zu sein Auch Erweiterungs-schaltungen innerhalb oder auszligerhalb des Interface muumlssen nicht mit dem Mikrocontroller verbunden sein Das Interface ermoumlglicht uumlber die ISP-Schnittstelle die Programmierung mit einem preisguumlnstigen ISP-Programmer ohne ein teureres Experimentierboard13 Zur Uumlbertragung des Programms muss in folgenden Schritten vorgegangen werden

(1) Spannungsversorgung des Interface zur Sicherheit unterbrechen weil beim Verbinden mehrpoliger Steckerverbindungen es zu Kurzschluumlssen kommen kann

(2) 10-poligen ISP-Stecker des ISP-Programmers an die ISP-Schnittstelle des Interface anschlieszligen

(3) ISP-Programmer an die serielle Schnittstelle oder uumlber USB-Seriell-Adapter an die USB-Schnittstelle des Computers anschlieszligen

(4) Spannungsversorgung des Interface wieder herstellen

(5) AVR-Studio unter StartProgramme aufrufen und nach Abb 9 in der Registerkarte Program unter Flash die zu uumlbertragende Hexadezimal-Datei z B Elektronenbeu-gunghex auf der Festplatte auswaumlhlen und Program waumlhlen

13 Vgl ATMEL STK 500 Entwicklerkit bei Reichelt Elektronik

20

Abb 9 Uumlbertragung der Hexadezimaldatei Elekt-

ronenbeugunghex in den Mikrocontroller

(6) Spannungsversorgung des Interface unterbrechen ISP-Programmer vom Interface trennen AVR-Studio beenden und den ISP-Programmer vom Computer trennen

22 Hyperterminal Nach der Programmuumlbertragung kann das Experiment uumlber das konfigurierte Hyperterminal (rarr 454) lokal gesteuert werden Mit dem Hyperterminal koumlnnen als Text eingegebene Be-fehle oder Abfragen an den Mikrocontroller gesendet oder von diesem empfangen werden Der Computer muss wie bei der Programmuumlbertragung mit dem Interface per Null-Modem-Kabel uumlber die serielle Schnittstelle oder einen USB-Seriell-Adapter verbunden sein Das In-terface muss an die Versorgungsspannung anschlossen sein braucht aber nicht mit dem Experiment verbunden zu sein Abb 10 zeigt nach Eingabe von und von param im Hyper-terminal die Befehlsliste des Mikrocontrollers fuumlr das RCL Elektronenbeugung

21

Abb 10 Befehlsliste des Mikrocontrollers im Hyperterminal fuumlr das RCL Elektronenbeugung

Tab 4 gibt Erlaumluterungen zur Befehlsliste

BefehlAbfrage Erlaumluterung

DA x Am Eingang des DA-Wandlers wird die Zahl x (0 - 255) im Binaumlrcode

angelegt und die Ausgangsspannung des Hochspannungsnetzgeraumlts bzw die Beschleunigungsspannung der Elektronenkanone eingestellt

OnOff Hochspannungsnetzgeraumlt und Gluumlhkathode der Elektronenkanone ein-

oder ausschalten Beim Einschalten wird die Steuerspannung des Inter-face am Hochspannungsnetzgeraumlt auf asymp 0 V einstellt

Standby Ausgabe der eingestellten Standbyzeit von 300 s setSB x Standbyzeit einstellen

next Standby in Ausgabe der verbleibenden Standbyzeit (254 s) bis das Experiment

ausgeschaltet wird Eine negative Standbyzeit gibt die Zeit seit dem Ab-lauf der Standbyzeit an

Power On Delay Ausgabe der Verzoumlgerungszeit (2 s) bis das Hochspannungsnetzge-

raumltElektronenbeugungsroumlhre nach dem Ausschalten oder nach Ablauf der Standbyzeit erneut eingeschaltet werden kann

setPOD x Verzoumlgerungszeit einstellen

power on enabled in Ausgabe wie lange Hochspannungsnetzgeraumlt nicht eingeschaltet wer-

den kann Zeiten unter 0 bedeuten dass Power-On-Delay-Zeit ablaufen ist

Tab 4 Erlaumluterung der Befehle in Abb 10

23 Positionieren von Objekten In fast allen RCLs des RCL-Portals auszliger den RCLs Elektronenbeugung und Oszilloskop muumlssen Objekte rotatorisch oder translatorisch positioniert werden Eingesetzt werden Hyb-rid-Schrittmotoren als Aktoren eine Schrittmotorsteuerung von Trinamic als Erweiterungs-schaltung (TMC222-Modul) die Positionierungseinheit ausgedienter Flachbrett-Scanner und ein Referenz-Taster als Sensor

231 Hybrid-Schrittmotoren Abb 11 zeigt den vereinfachten schematischen Aufbau eines zweiphasigen Schrittmotors mit getrennten magnetischen Kreisen des Stators und einem permanent magnetisierten zweipoligen Rotor (Polpaarzahl 1)

22

Abb 11 Funktionsprinzip von Schrittmotoren Unipolare (links) und bipolare Schaltung (rechts)

von Schrittmotoren mit Bestromungstabellen fuumlr Voll- und Halbschrittbetrieb Darge-stellt ist der Schritt 0

Der Rotor verfuumlgt bei der dargestellten Polreihenfolge S-S-N-N des Stators uumlber eine stabile Stellung bei einer hypothetischen (magnetische Monopole) Polreihenfolge N-S-N-S gaumlbe es mit diesem Aufbau des Stators nur instabile Stellungen des Rotors Um den Rotor in Bewe-gung zu setzen muss die Polreihenfolge S-S-N-N im oder entgegen den Uhrzeigersinn (Rechts- oder Linksdrehung) weitergeschaltet und der Rotor vom magnetischen Schrittfeld mitgenommen werden

Die magnetische Polaritaumlt eines magnetischen Kreises laumlsst sich entweder durch zwei Spu-len konstanter elektrischer Polaritaumlt mit unterschiedlichem Wicklungssinn (herstellungstech-nisch zu aufwendig) durch eine Spule mit Mittelanzapfung und konstanter elektrischer Pola-ritaumlt der beiden Teilspulen (unipolare Schaltung) oder durch eine Spule mit wechselnder elektrischer Polaritaumlt (bipolare Schaltung) realisieren In Abb 11 sind dazu die elektrischen Beschaltungen und die Bestromungstabellen fuumlr eine Rechtsdrehung des Rotors dargestellt Fuumlr eine Linksdrehung des Rotors muss die Schrittfolge in umgekehrter Reihenfolge durch-laufen werden

Es wird zwischen Vollschrittbetrieb (graue Zeilen der Tabellen) mit Schrittwinkel 90deg bzw Schrittzahl 4 und Halbschrittbetrieb (alle Zeilen der Tabellen) mit Schrittwinkel 45deg bzw Schrittzahl 8 unterschieden Beim Vollschrittbetrieb werden immer beide magnetische Kreise bestromt und die N-S-Polachse des Rotors nimmt nur Stellungen zwischen den Statorpolen

23

an Beim Halbschrittbetrieb wird zwischen den Vollschritten nur einer der magnetischen Krei-se bestromt und die N-S-Polachse des Rotors kann zusaumltzlich 4 Stellungen in Richtung der Statorpole einnehmen Der Hybrid-Schrittmotor ist die am haumlufigsten vertretene Bauform von Schrittmotoren Abb 12 zeigt den Aufbau eines Hybrid-Schrittmotors

Abb 12 Aufbau eines Hybrid-Schrittmotors fuumlr unipolare und

bipolare Schaltung Daten Schrittwinkel 18deg max Drehmoment 155 Ncm

Der Stator besteht aus zwei Straumlngen mit je 4 in Reihe geschalteten Spulen Der Wick-lungssinn der Spulen ist in beiden Straumlngen so dass sich die Polfolge N-S-N-S uumlber den Umfang ergibt Beide Straumlnge zusammen ergeben unabhaumlngig von der Stromrichtung ei-ne Polfolge N-N-S-S-N-N-S-S uumlber den Umfang Ein zweipoliger Rotor (Polpaarzahl 1) kann im Vollschrittbetrieb 4 Stellungen annehmen Der Rotor des Hybridschrittmotors be-steht aber aus axial magnetisierten Permanentmagneten deren Polpaarzahl durch axial versetzte weichmagnetische Zahnscheiben auf 50 erhoumlht wurde Dadurch erhoumlht sich die Schrittzahl auf 4 sdot 50 = 200 und der Schrittwinkel verkleinert sich auf 360deg200 = 18deg Um stabile Rotorstellungen zu erhalten muumlssen die Statorsegmente ebenfalls gezahnt ausge-fuumlhrt werden

Ein solcher Hybrid-Schrittmotor vereint die Vorteile des Reluktanz- und des permanenter-regten Schrittmotors Ein kleiner Schrittwinkel wird durch das von Reluktanzschrittmotoren bekannte Prinzip der Erzeugung einer Vielzahl von Polen des Rotors durch Zahnscheiben erzielt Ein hohes Drehmoment wird durch das von permanenterregten Schrittmotoren be-kannte Prinzip der Ausfuumlhrung des Rotors als Permanentmagnet erzielt Aufgrund der bi-filaren Wicklung besteht jede Statorwicklung aus zwei Teilspulen und der Schrittmotor kann in unipolarer (alle 6 Anschluumlsse verwendet) und bipolarer Schaltung (nur 4 An-schluumlsse verwendet gemeinsamer Anschluss der Teilspulen bleibt unverwendet) wie in Abb 12 dargestellt verwendet werden

24

Schrittmotoren erlauben nicht nur das Bewegen sondern innerhalb der Leistungsgrenzen (keine Schrittverluste) auch ein genaues Positionieren von Objekten Bei bekannter Schrittzahl auf einer gemessenen Strecke oder Schrittzahl fuumlr den Vollwinkel koumlnnen aus-gehend von einer Referenzstellung Objekte translatorisch oder rotatorisch positioniert werden

232 Schrittmotorsteuerung und Positionierungsmechanik Im Folgenden wird die bei allen RCLs mit Schrittmotoren eingesetzte Schrittmotorsteuerung die Mechanik zur translatorischen Positionierung von Objekten und die Funktionsweise eines Referenztasters beschrieben

Schrittmotorsteuerung Abb 13 zeigt das Blockschaltbild und das im Selbstbau herstellbare TMC222-Modul (rarr 4221 rarr 4222) mit dem IC TMC222 von Trinamic zur Steuerung bipolarer 2-phasiger Hybrid-Schrittmotoren

Abb 13 Blockschaltbild (links) und Platine des TMC222-Moduls (rechts) mit IC TMC 222 auf

der Loumltseite der Platine

Der IC TMC222 enthaumllt ein I2C-Interface zum Anschluss an den I2C-Bus des Mikrocon-trollers (Ports PC0 und PC1) Die 10 kΩ-Pull-up-Widerstaumlnde heben die Takt- (SCL clock) und Datenleitung (SDA data) auf ein Potential von 5 V Der IC TMC222 enthaumllt ei-nen Motortreiber fuumlr Spulenstroumlme bis zu 800 mA und einen Motor-Controller zur Steue-rung der Spulenstroumlme Ein Vorteil des TMC-Moduls ist der relativ geringe Programmier-aufwand fuumlr den Mikrocontroller (rarr 4223) da der IC TMC222 nach Uumlbergabe der Steu-erungsparameter (Drehrichtung Drehzahl hellip) vom Mikrocontroller die Ansteuerung des Schrittmotors uumlbernimmt Der IC TMC222 unterstuumltzt das Beschleunigen und Abbremsen des Schrittmotors enthaumllt einen Schrittpositionszaumlhler und unterstuumltzt Mikrostepping (va-riable Spulenstroumlme zur elektronischen Verkleinerung des Schrittwinkels und groumlszligerer Laufruhe)

25

Falls in RCLs Gleichstrommotoren mit houmlheren Drehzahlen als Schrittmotoren benoumltigt werden kann eine andere Erweiterungsschaltung (rarr 424) eingesetzt werden

Positionierungsmechanik und Referenz-Taster Die Mechanik zur rotatorischen Positionierung von Objekten kann meist kostenguumlnstig selbst oder durch Personal in einer Werkstatt angefertigt werden Abb 14 zeigt eine kos-tenguumlnstige Loumlsung zur translatorischen Positionierung von Objekten

Abb 14 Positionierungseinheit eines Flachbrett-

Scanners Schrittmotor (1) Getriebe (2) Li-nearfuumlhrung (3) Antriebsriemen (4) und er-gaumlnzter Referenz-Taster (5)

Falls der geometrische Aufbau und die geforderte Positionierungsgenauigkeit des RCLs es zulassen kann die Schrittmotor-Positionierungs-Einheit ausgedienter Flachbrett-Scanner zur translatorischen Positionierung von Objekten verwendet werden In Einzelfaumll-len wie dem RCL Weltpendel kann die Positionierungsmechanik auch selbst angefertigt werden Der Referenz-Taster in Abb 14 wird eingesetzt um abzufragen ob ein vom Schrittmotor bewegtes Objekt die Position des Tasters erreicht hat und um diese Position zu referenzieren Ohne eine solche Referenzierung kann die Positionierung eines Objekts langfristig ungenau werden So kann z B beim RCL Weltpendel das Auftreffen der Kugel auf den Magneten zum Uumlberspringen von Schrittmotorstellungen fuumlhren Der Zustand des Referenz-Tasters in Abb 15 wird z B uumlber den Port PA0 des Mikrocontrollers abgefragt

Abb 15 Referenz-Taster zum referenzieren der

Position des bewegten Objekts

26

Zu Problemen koumlnnen undefinierte Zustaumlnde der Eingaumlnge des Mikrocontrollers fuumlhren wie sie beim Prellen dem zeitlich begrenzten schwingen eines Tasters beim Oumlffnen oder Schlieszligen entstehen Abhilfe schafft ein passend dimensionierter parallel zum Taster ge-schalteter Kondensator Bei geoumlffnetem Taster ist der Kondensator aufgeladen Beim Schlieszligen haumllt der Kondensator die Spannung uumlber die Schwingphase trotz kurzzeitig wieder geoumlffnetem Schalter noch aufrecht Analoges gilt fuumlr den Uumlbergang vom geschlos-senen zum geoumlffneten Taster

3 Ferngesteuertes RCL 31 RCL-Server Fuumlr den Betrieb eines RCLs wird ein RCL-Server benoumltigt (larr 11) Vorausgesetzt wird dass bei einem neuen Computer alle notwendigen Treiber (Ethernet Video Audio hellip) zum Be-trieb der Hardware des Computers und Windows XP Professional mit Service Pack 3 instal-liert sind Ein Benutzerkonto braucht nicht angelegt zu werden

Der RCL-Server benoumltigt einen Internetzugang mit statischer IP-Adresse und Uploaddatenra-te von mindestens 200 kbits (DSL 2000) fuumlr die fluumlssige Wiedergabe von Bewegungen in Webcambildern Die statische IP-Adresse wird von der Institution am Standort des RCLs vergeben oder kann von Privatpersonen bei einem Provider beantragt werden Mit folgenden Schritten wird der RCL-Server eingerichtet

Internetzugang einrichten (rarr 451) und im Browser testen

Checken ob die Windows Firewall aktiviert ist

Virenschutzproramm Avira Antivir Personal herunterladen (larr Tab 1) installieren und ak-tualisieren

Uumlber Windows Update alle Updates von Windows XP Professional installieren

Fernwartungssoftware TeamViewer 6 Vollversion (larr Tab 1) herunterladen und auf dem RCL-Server und dem eigenen Computer installieren (rarr 455)

Webeditor Notepad++ herunterladen installieren und aktualisieren (larr Tab 1)

Videoserver WebcamXP 5 herunterladen und installieren (rarr 453)

Paket XAMPP herunterladen und installieren (rarr 452) Verknuumlpfungen mit den Dateien xampphtdocsapache_startbat und xampphtdocsapache_stopbat auf dem Desktop oder in der Schnellstartleiste erstellen und Webserver mit erstgenannter Verknuumlpfung starten Webserver durch Eingabe von 127001 oder localhost ins Adressfeld des Brow-sers testen Bei erfolgreichem Test werden die im Ordner xampphtdocs abgelegten Webseiten von XAMPP dargestellt Statische IP-Adresse des RCL-Servers im Browser eines anderen Computers mit Internetzugang eingegeben Bei erfolgreichem Test werden die Webseiten von XAMPP dargestellt In der Datei xamppphpphpini unter Resource Limits die max_execution_time mit dem Windows-Editor von 60 auf 300 erhoumlhen und die

27

Datei speichern damit PHP bei Befehlen mit laumlngerer Ausfuumlhrungsdauer keine Fehler-meldung liefert

Ordner xampphtdocs mit den Webseiten von XAMPP in xampphtdocs_xampp um-benennen und fuumlr spaumltere Testzwecke nicht loumlschen RCL-Ordner htdocs herunterladen (larr Tab 1) extrahieren und in das Verzeichnis xampp verschieben

Abb 16 zeigt die Struktur des RCL-Ordners htdocs

Abb 16 Struktur des RCL-Ordners htdocs RCL-spezifisch anzupassende Dateien sind grau

hinterlegt

Der geoumlffnete Ordner Labor enthaumllt alle PHP- und HTML-Dateien bzw Programmierungen fuumlr die Funktionalitaumlt des Bedienfelds der Laborseite (larr 11 Abb 3) An das RCL anzupas-sen sind die portalsprachenunabhaumlngigen Dateien configphp und experimentphp sowie fuumlr jede Portalsprache die Dateien defaultconf und experimenttpl in den Ordnern eng fra ger und ita

Datei configphp Zeit bis zum automatischen Logout beim Experimentieren mit dem RCL eintragen

Datei experimentphp PHP-Basisprogrammierung um die RCL-spezifische PHP-Programmierung erweitern (rarr 432)

Datei defaultconf Name des RCLs (z B Elektronenbeugung) in jeder Portalsprache ein-getragen

Datei experimenttpl HTML-Basisprogrammierung um RCL-spezifische Ein- und Ausga-befelder erweitern (rarr 433)

28

32 Laborseite 321 Steuerung des RCLs uumlber das Bedienfeld Das Bedienfeld der Laborseite (larr 11 Abb 3) wird von der Dateien indexphp und experi-menttpl erzeugt Befehle wie das Anklicken von Buttons Eingaben und Auswahl aus Listen werden in ein HTML-Formular mit Formularfeldern in der Datei experimenttpl geschrieben Die Daten werden von der PHP-Datei experimentphp ausgewertet und uumlber die serielle Schnittstelle dem Mikrocontroller-Programm zur Steuerung des Experiments uumlbergeben Die Dateien experimentphp und experimenttpl wurden getrennt angelegt um Code und Design zu trennen und nur das Design in der Datei experimenttpl an die Portalsprache anpasst werden muss

Tab 5 enthaumllt Ausschnitte der HTML-Datei experimenttpl (rarr 433) der Datei experi-mentphp (rarr 432) und des Mikrocontroller-Programms (rarr 431) fuumlr das RCL Elektronen-beugung

29

Code mit Erlaumluterung

expe

rimen

ttpl

1821 Tag ltformgtltformgt definiert ein Formular 18 Attribut action legt fest dass Formulardaten in der Datei indexphp verarbeitet werden Uumlbertragen

werden eine Session-ID ($sid) um exklusiven Zugriff des jeweilgen Besuchers zu sichern und ($portal) um die vom Besucher gewaumlhlte Sprache beizubehalten post ist eine Uumlbertragungsmethode zwischen Browser und Webserver und gibt die die vom Besucher gewaumlhlte Aktion zum Ansteuern des Experiments an die Datei experimenttpl weiter

20 Erzeugt im Bedienfeld den Sendebutton (submit) mit der Aufschrift Elektronenroumlhre einschalten (valu-e)

19 Unsichtbares Feld (hidden) mit Variablennamen action und Wert RoumlhreAn Der Variablenname ac-tion stimmt nur zufaumlllig mit action in Zeile 18 uumlberein

expe

rimen

tphp

24 Die Funktion wird als Eventhaumlndler bezeichnet weil je nach uumlbergebener Aktion - siehe Zeile 19 in experi-

menttpl - die entsprechenden Anweisungen (case) ausgefuumlhrt werden 37 Fuumlr den Fall dass die Variable $action den Wert RoumlhreAn hat wird die Funktion power_on() aufgeru-

fen

59 Schreibt in die Logdatei logtxt den Text RoumlhreAn 6061 Oumlffnet den in der Datei configphp zentral gespeicherten Com-Port an den das Interface angeschlossen ist

oder gibt Fehlermeldung Can not access file system im Bedienfeld aus falls der Com-Port sich nicht oumlff-nen laumlsst

62 Sendet die Zeichenfolge On und chr(13) (entspricht der Betaumltigung der Return-Taste im Hyperterminal) an den Mikrocontroller

63 Schlieszligt serielle Schnittstelle

Que

llcod

e M

ikro

cont

rolle

r

166 Wird uumlber die serielle Schnittstelle der Befehl on empfangen und ist das Einschalten zulaumlssig (Zeiten fuumlr

PowerOnDelay und Standby abgelaufen) dann hellip 167 Hochspannungsnetzgeraumlt einschalten 168 Der DA-Wandler PCF8591 wird unter seiner Adresse PCF8591 = 01001000 angesprochen Parameterein-

stellungen mit 01000000 und Ausgangsspannung auf 0 V einstellen 169 Setzt Standby auf vorgegebene Standbyzeit zuruumlck 171 Gibt Meldung aus wie lange PowerOnDelay noch dauert

Tab 5 Uumlbertragung des Befehls Elektronenroumlhre einschalten vom Bedienfeld zum Experi-ment

30

Anhand der Erlaumluterungen der Programmcodes koumlnnen die Ablaumlufe zwischen dem Druumlcken des Buttons Elektronenroumlhre einschalten und dem Einschalten der Elektronenbeugungs-roumlhre oder der Eingabe einer Beschleunigungsspannung und dem Anlegen einer Beschleu-nigungsspannung verfolgt werden Uumlber das Bedienfeld koumlnnen nur die von der Datei expe-rimenttpl bereitgestellten Befehle on und da der insgesamt implementierten Befehle (rarr 22 Abb 10) aufgerufen werden

322 Videouumlbertragung im Webcamfeld Zur Aufnahme von Livebildern des Experiments koumlnnen USB-Webcams und IP-Kameras (Netzwerkkameras) eingesetzt werden Teurere IP-Kameras muumlssen eingesetzt werden wenn die Kamera wie z B beim RCL Roboter im Labyrinth zu weit vom Computer entfernt ist oder eine besonders lichtempfindliche Kamera aus der Uumlberwachungstechnik wie z B beim RCL Millikan-Versuch benoumltigt wird W-LAN-Kameras kommen zum Einsatz wenn Bil-der von einem beweglichen Objekt aus wie z B beim RCL Roboter im Labyrinth uumlbertra-gen werden sollen

Das Videoserverprogramm webcamXP 5 erkennt beim Aufrufen automatisch an den RCL-Server angeschlossenen USB-Webcams Vor dem Kauf einer IP-Kamera ist zu pruumlfen ob das Modell unterstuumltzt wird14 IP-Kameras muumlssen im Kontextmenuuml der Videoquelle konfigu-riert werden Abb 17 zeigt das Webcambild einer USB-Webcam vom Szintillationsschirm der Elektronenbeugungsroumlhre

Abb 17 Webcambild des Szintillationsschirms der Elektro-

nenbeugungsroumlhre einer USB-Webcam in webcamXP 5 beim RCL Elektronenbeugung

14 Vgl Moonware Studios webcamXP IP-cameras for webcamXP

31

Zum Einbinden des Webcambilds in die Laborseite des RCLs wird die laborsprachenabhaumln-gige Datei videohtm (rarr 434) in den Ordnern eng fra ger und ita verwendet Standardmauml-szligig werden zwei Webcambilder und Screenshots unterstuumltzt der Code fuumlr weitere Webcam-bilder kann durch copy and paste hinzugefuumlgt werden

Unter den Technologien Java Javaskript Flash und Windows Media fuumlr die Wiedergabe ei-nes Livestreams auf eine Webseite wurde Javaskript gewaumlhlt weil die anderen Technologien die Installation des Java Runtime Environments (JRE) des Flash- oder Windows Media Players durch den Besucher eines RCLs voraussetzen Die Wiedergabe des Livestreams mit einem Java-Applet startet zudem erst verzoumlgert nachdem das Applet geladen ist und verfuumlgt uumlber eine zu geringe Wiedergabegeschwindigkeit

33 Standard-Lernumgebung Bestandteil der Entwicklung eines RCLs ist die Erstellung einer Standard-Lernumgebung zum RCL Abb 18 zeigt exemplarisch fuumlr die deutschen Webseiten im Ordner ger das Menuuml (larr 11 Abb 3) und die Dateistruktur der Standard-Lernumgebung

Abb 18 Deutschsprachiges Menuuml und Dateistruktur der Standard-Lernumgebung

RCL-spezifisch anzupassende Dateien sind grau hinterlegt

Die englischen Dateinamen introductionhtm setuphtm hellip im Ordner ger korrespondieren mit den deutschen Menuumlpunkten Wird das RCL unter dem Menuumlpunkt RCLs des RCL-Portals aufgerufen dann ruft die Frameset-Datei indexhtm die Dateien menuumlhtm und intro-ductionhtm auf und das Menuuml wird zusammen mit der Webseite Einstieg dargestellt Die Wahl weiterer Menuumlpunkte ruft jeweils die korrespondiere Datei im Ordner auf Bei Wahl des Menuumlpunkts Labor werden mit der Frameset-Datei laboratoryhtm die Dateien videohtm fuumlr das Webcamfeld und die Datei laborindexphp fuumlr das Bedienfeld aufgerufen

32

Im Ordner docsmaterial werden alle Dokumente fuumlr die Webseite Material im Ordner docsothers die Dokumente anderer Webseiten abgelegt Im Ordner docsoriginals sind die Originale von Dokumenten wie z B Word-Dateien und der verwendeten Bilder abgelegt Grafikdateien der Webseiten Einstieg hellip Auswertung hellip Betreuung werden in gleichnami-gen Ordnern wie z B imagesanalysis abgelegt Bei sprachenunabhaumlngigen Grafikdateien wird unter dem Dateinamen abbx bei sprachenabhaumlngigen unter dem Dateinamen abbx_lan mit lan = eng fra ger und ita gespeichert Analoges gilt fuumlr die als gif-Grafiken forxgif oder forx_langif zu speichernden Formeln Originale von Bildern werden im Ordner imagesoriginals abgelegt Die Webseite zur Datei htdocsindexhtm enthaumllt zum lokalen Aufrufen der Standard-Lernumgebung Links zu den vier Index-Dateien in den Ordnern eng fra ger und ita Die Stylesheet-Datei htdocsrcl_stylecss enthaumllt die Styles der Webseiten

In der Regel werden Standard-Lernumgebungen der RCLs des RCL-Portals von verschiede-nen Personen erstellt Fehlende Gestaltungs- und Formatierungsregeln fuumlhren zu einem un-einheitlichen inattraktivem Erscheinungsbild des RCL-Portals Tab 6 gibt einen Uumlberblick der wichtigsten Gestaltungs- und Formatierungsregeln

Element Richtlinien

Gliederung

Die Webseiten Einstieg Aufbau Aufgaben Diskussion Material und Support enthalten vorgegebene Gliederungspunkte teilweise mit ausgefuumlhrten Uumlberschriften

Die umfangreicheren Webseiten Theorie und Auswertung enthalten ein Inhaltsverzeichnis mit internen Links zu Gliederungspunkten Zwischen Punkten der ersten Gliederungsebene (1 2 hellip) ist ein zwei-zeiliger Abstand (ltpgtampnbspltpgtltpgtampnbspltpgt) zwischen Punkten der zweiten (11 12 hellip) und Punkten der nur falls unbedingt notwendig dritten 111 112 hellip) Gliederungsebene ein einzeiliger Abstand zu waumlhlen Nach Abbildungen und Tabellen folgt ein einzeiliger Abstand zum nachfolgenden Text

Links Keine internen Links zwischen den Webseiten der Lernumgebung Externe Links werden prinzipiell in einem neuen Browserfenster geoumlffnet (blank)

Abbildung

Alle Abbildungen erhalten fortlaufend beginnend mit 1 nummerierte Abbildungsunterschriften der Form Abb x hellip

Abbildungen sind moumlglichst spachenunabhaumlngig d h ohne Texte in der Abbildung zu erstellen Zur Beschriftung koumlnnen z B Zahlen verwendet werden die in der Abbildungsunterschrift oder im Text er-laumlutert werden

Tabellen Tabellen werden in jeder Webseite fortlaufend beginnend mit 1 nummeriert Tabellen sind zu zentrieren Rahmenstaumlrke 1

Formeln

Formeln sind nicht als Textzeichen oder Grafik im laufenden Text einzufuumlgen sondern stets zentriert in einer eigenen Zeile als gif-Grafik

Zum Erstellen der Formel-Grafiken eignet sich z B der Formel-Editor MathType15 mit der Aufloumlsungs-Einstellung 120 dpi fuumlr InternetGif

Formeln brauchen im Rahmen des begrenzten Umfangs der Webseiten nicht nummeriert zu werden Groumlszligen-symbole

Griechische Groumlszligensymbole und mathematische Symbole sind nicht als Grafiken im laufenden Text sondern als HTML-Code einzufuumlgen Eine Zeichenreferenz findet sich bei Selfhtml16

Styles Zur Formatierung der Webseiten werden aus der Stylesheet-Datei nur die drei Styles Uumlberschrift fuumlr

die Uumlberschriften Bildunterschrift fuumlr Abbildungs- und Tabellenunterschriften und Tabellentext fuumlr Tex-te in Tabellen benoumltigt

Tab 6 Richtlinien zur Gestaltung und Formatierung der Standard-Lernumgebung

Detailliertere Informationen zum Layout der Standard-Lernumgebung koumlnnen dem RCL-Ordner und dem Erscheinungsbild der Webseiten von RCLs in Browsern entnommen wer-den

15 Vgl Design Science MathType 16 Vgl Selfhtml HTML-Zeichreferenz

33

4 ANHANG

34

41 Interface in Basisschaltung 411 Schaltplan und Bauteilliste Abb 19 zeigt den Schaltplan der Basisschaltung des Interface und Tab 7 die dazugehoumlrige Bauteilliste

Abb 19 Basisschaltung des Interface

Nr Anzahl Kurzbeschreibung des Bauteils Best-Nr bei Reichelt electronic

Einzelpreis in euro

0 1 Epoxyd-Platine (190x112 mm) mit Anteil Loumltpunktraster (Spezi-

alanfertigung) - asymp 10

1 1

Epoxyd-Fotoplatine einseitig 160x100 mm 15 mm 35 microm Epoxyd-Lochrasterplatine 160x100 mm 15 mm 35 microm

BEL 160x100-1 UP 832EP

170 420

1 1 Hohlstecker-Einbaubuchse gewinkelt Loumltfahnen 21 mm HEBW 21 018 2 1 D-SUB-Stecker 9-polig gewinkelt RM 94 D-SUB ST 09EU 029 3 1 Schottky Diode DO41 40 V 1 A SB 140 008 4 1 Draht von abgeschnittenem Beinchen aus Pos-Nr 3 - - 5 1 IC-Sockel 16-polig superflach gedreht vergoldet GS 16P 029 6 1 IC-Sockel 40-polig superflach gedreht vergoldet GS 40P 061 7 1 2x10-pol-Stiftleiste gerade RM 254 SL 2X10G 254 007 8 1 Metallschichtwiderstand 100 kΩ Metall 100k 0082 9 1 Elektrolytkondensator 10x16 mm 470 microF RM 50 mm RAD 47025 006 10 1 Elektrolytkondensator 63x11 mm 100 microF RM 25 mm RAD 10016 004 11 5 Elektrolytkondensator 5x11 mm 10 microF RM 20 mm RAD 1035 004 12 2 Keramik-Kondensator 33 pF Kerko 33p 006 13 3 Vielschicht-Keramikkondensator 100 nF 20 Z5U-25 100n 004

35

14 1 Standardquarz Grundton 110592 MHz 110592-HC49U-S 018 15 1 Spannungsregler 1 A positiv TO-220 microA 7805 028 16 1 Kuumlhlkoumlrper fuumlr Gehaumluse TO-220 99KW V FI356 066 17 1 Zylinderkopfschraube Schlitz M3 10 mm fuumlr Kuumlhlkoumlrper M3x10mm 160 18 2 Sechskantmutter M3 fuumlr Kuumlhlkoumlrper SK M3 001 19 1 Stecker-Schaltnetzteil 12 V 2250 mA MW 3IP25GS 1150 20 1 RS232-Driver DIL-16 MAX 232 CPE 041 21 1 ATmega AVR-RISC-Controller DIL-40 ATmega16-16 DIP 420 22 3 10-poliger Wannenstecker RM 254 stehend (optional) WSL 10G 009 23 1 14-poliger Wannenstecker RM 254 stehend (optional) WSL 14G 014 24 1 40-polige Stiftleiste 1-reihig gerade RM254 (optional) SL 1x40G 254 023 25 1 Kunststoffgehaumluse 1982x1124x760 mm (Serientyp 202) - asymp 10 euro 26 1 D-SUB Nullmodem-Kabel 9-pol BUBU 3 m AK 143 155 27 x DIN-Einbaubuchse 5-pol Schraubver 360deg (optional) DIO-50W EMS 185 28 x DIN-Einbaubuchse 8-polig Schraubversch 270deg (optional) DIO-80SN EMS 180 29 x Pfostenstecker 10-polig mit Verrieglung gew (optional) PSL 10W 028 30 x Klemmleiste RM 254 Oumlffnungshebel 8-polig (optional) Wago 233 220

Tab 7 Bauteilliste mit Bestellnummer und Einzelpreisen der Bauelemente bei Reichelt electronic (Stand 23102010)

Anhand der Bauteilliste in koumlnnen die elektronischen Bauelemente der Basisschaltung (larr Tab 7 Nr 0 ndash 21 optional Nr 22 - 24) bei Reichelt electronic bestellt werden Das Gehaumluse des Interface (larr Tab 7 Nr 25) sollte vom Hersteller HAGOTECH GmbH bezogen werden Weiterhin wird ein Nullmodemkabel (larr Tab 7 Nr 26) zur Verbindung des Interface mit dem Computer benoumltigt Sensoren und Aktoren des Experiments koumlnnen mit optionalen Steck-verbindern (larr Tab 7 Nr 27 - 30) und entsprechende Kabelverbindungen an das Interface angeschlossen werden Die Nummern 0 - 25 stimmen mit der angegebenen Bestuumlckungs-reihenfolge auf der Platine uumlberein Das Interface kostet in der Basisschaltung ca 50 euro

412 Bestuumlckung der Platine Abb 20 zeigt zur Bestuumlckung der Platine benoumltigte Werkzeuge

Abb 20 Werkzeuge zur Bestuumlckung der Platine des Interface

36

Loumltkolben mit feiner Spitze in Meisselform 2 mm oder Loumltstation (1) Loumltzinnabsauger zum Entfernen von Loumltzinn (2) Nasser Schwamm zum Reinigen der Spitze des Loumltkolbens (3) Loumltzinn mit Durchmesser 08 - 10 mm (4) Flachspitzzange zum Biegen von Anschluumlssen der Bauelemente (5) Seitenschneider zum Kuumlrzen der Beinchen von Bauelementen (6) Multimeter zum Pruumlfen der Funktionsfaumlhigkeit der Schaltung (7) Sekundenkleber zur Befestigung von Bauelementen Kleine Bohrmaschine z B von Dremel und 08 mm Bohrer oder duumlnne Rundfeile zum

Weiten von Loumlchern auf der Platine des Interface

Abb 21 zeigt die Platine des Interface von der Loumltseite in der Spezialanfertigung der Elekt-ronik-Werkstatt an der Technischen Universitaumlt Kaiserslautern und in der Selbstbauvariante (larr Tab 7 Nr 0) Abb 22 zeigt das Platinenlayout

Abb 21 Platine des Interface von der Loumltseite als Spezialanfertigung (links) und der Selbstbauvariante

(rechts)

Abb 22 Layout zur Herstellung des geaumltzten Teils der

Platine in der Selbstbauvariante

37

In der Selbstbauvariante kann anhand des Platinenlayouts eine selbst geaumltzte Platine fuumlr die Basisschaltung auf einer Platine im Europakartenformat hergestellt und diese in der Laumlnge gekuumlrzt werden Eine gekuumlrzte Lochrasterplatine bildet den zweiten Teil der Platine Mit den optionalen vier Wannensteckern (larr Tab 7 Nr 22 - 23) oder den vier Stiftleisten (larr Tab 7 Nr 24) an den Ports des Mikrocontrollers koumlnnen leicht elektrische Verbindungen zum Rasterteil der Platine herstellt werden Abb 23 zeigt die fertig bestuumlckte Platine mit den Nummern aus Tab 7

Abb 23 Bestuumlckte Platine des Interface mit nummerierten Bauelementen

Tab 8 beschreibt das Einloumlten der elektronischen Bauelemente anhand der Nummern aus Tab 7 und in der angegebenen Reihenfolge

Nr Bauelement Beschreibung des Einbaus

0 Spezialanfertigung und Selbst-bauvariante der Epoxydharz-

Platine

1

Stromversorgungsbuchse ndash Hohlstecker 21 mm

Wenn die Loumltbeine nicht durch die Loumlcher der Platine passen die Loumlcher mit einer runden Schluumlsselfeile aufweiten

Stromversorgungsbuchse mit Sekundenkleber vor dem Festloumlten auf der Pla-tine fixieren da diese mechanischen Belastungen durch das Einstecken und Herausziehen des 12 V -Steckers ausgesetzt ist

Wahlweise kann die 25 mm-Version der Buchse verwendet werden

2

RS232 Datenstecker

RS232 Datenstecker mit Sekundenkleber vor dem Festloumlten auf der Platine fixieren da dieser mechanischen Belastungen durch das Einstecken und Herausziehen des Null-Modem-Kabels ausgesetzt ist

Alle Beinchen und Befestigungsstifte zur houmlheren Stabilitaumlt anloumlten

3

Ein Ring an einer Seite der Diode (hier links weiszlig) zeigt die Durchlass- bzw Sperrrichtung der Diode an Die Position des Ringes entspricht der Position des Balkens im Schaltungssymbol

38

Diode ndash SB140 Auf der Platine muss der Ring auf der von der Stromversorgungsbuchse ab-

gewandten Seite liegen

4 Drahtbruumlcke

Vor dem Einloumlten des 40-poligen IC-Sockels (Nr 5) muss eine Drahtbruumlcke unter diesem eingeloumltet werden Dazu koumlnnen die abgeschnittenen Beinchen der bereits eingeloumlteten Diode (Nr 3) verwendet werden

5 6

IC-Fassungen

Die 16-polige und 40-polige IC-Fassungen besitzen eventuell eine Markie-rung fuumlr Pin1 (z B Kerbe in der Stirnseite Punkt Pfeilhellip) als Hilfe fuumlr das richtige Einstecken der ICs Die Markierungen muumlssen bei beiden Fassungen nach oben also zum naumlchstliegenden Rand der Platine zeigen

Die ICs unbedingt noch nicht einstecken

7

ISP-Stiftleiste

Die doppelreihige ISP-Stiftleiste dient der Programmierung des Mikrocontrol-lers mit dem AVR-ISP-Programmer (ISP steht fuumlr In System Programming)

ISP-Stiftleiste auf 2 x 5 Stifte kuumlrzen und mit den kurzen Beinchen einloumlten so dass auf die langen Stifte der AVR-ISP-Programmer gesteckt werden kann

8

Widerstand 100 kΩ

Den 100 kΩ-Widerstand rechts neben der ISP-Stiftleiste einloumlten

9

10

11

Elkos

Bei den verwendeten Elektrolyt-Kondensatoren ist die Polung zu beachten (langes Beinchen = Plus-Pol) Weiterhin ist auf den Kondensatoren ein wei-szliger Streifen mit Minus-Zeichen aufgedruckt Die Kondensatoren sollten eine Spannungsfestigkeit von mindestens 16 V besser 25V besitzen

Auf der Kupferseite der Platine zeigt die Form der Loumltaugen die Polung an Rundes Loumltauge = Plus quadratisches Loumltauge = Minus

Der 470 microF Kondensator wird mit dem weiszligen Streifen in Richtung Stromver-sorgungsbuchse direkt unter diese montiert

Der 100 microF Kondensator sitzt direkt unter der 16-poligen IC-Fassung Sein weiszliger Streifen (Minus-Pol) zeigt in Richtung der Stromversorgungsbuchse

Vier der 10 microF Kondensatoren werden links neben der 16-poligen IC-Fassung montiert Deren Polung ist wie folgt Unterster Kondensator Minus nach oben naumlchster Kondensator Minus nach unten die beiden oberen Kondensatoren mit Minus nach oben

Ein weiterer 10 microF Kondensator wird rechts neben die 16-polige IC-Fassung geloumltet Sein Minus-Streifen zeigt nach unten

12

13

Keramik-Kondensatoren

Die Beschriftung 104 bedeutet 10e4 pF = 100 nF Die beiden 33 pF-Kerkos (Keramik-Kondensatoren) werden direkt nebenei-

nander rechts neben die 16-polige IC-Fassung geloumltet Zwei 100 nF-Kondensatoren werden unter dem 470 microF-Elko eingeloumltet ein

weiterer mittig an der linken Seite der 40-poligen IC-Fassung

14

Quarz

Als Quarz wird ein 110592 MHz-Typ verwendet Bei dieser Frequenz ist eine fehlerfreie Kommunikation uumlber RS232 mit 9600 Baud moumlglich Fuumlr den AT-mega16 koumlnnen Quarze bis 16 MHz eingesetzt werden Details siehe Daten-blatt

Der Quarz wird direkt rechts neben die beiden 33 pF-Kerkos geloumltet Die Ori-entierung des Quarz spielt keine Rolle

15

16

17

18

Der Spannungsregler L7805 erzeugt eine stabilisierte Spannung von 5 V Es muss ein Kuumlhlkoumlrper zur Waumlrmeabfuhr vom Spannungsregler verwendet werden

Vor dem Einloumlten zwischen Spannungsregler und Kuumlhlkoumlrper etwas Waumlrme-leitpaste aufgetragen Beide Bauteile fest mit einer Schraube M3x10 und ei-ner 1 Mutter verschrauben

Dann den Spannungsregler einloumlten um 90deg abzubiegen das uumlberstehende Gewinde durch das vorgesehene Loch stecken und alles mit einer 2 Mutter auf der Platine befestigen

1 Mutter

2 Mutter

Schr

aube

L7805

Platine

KuumlhlkoumlrperWaumlrmeleitpaste

Beinchen

Loumlten

39

Spannungsregler L7805 Kuumlhl-koumlrper und Montage

19

Steckernetzteil

Funktionskontrolle vor dem Einsetzen des Mikrocontrollers Polung der Elektrolyt-Kondensatoren (Elkos) pruumlfen Sind alle Beinchen angeloumltet Hat das Loumltzinn an den Beinchen und der Pla-

tine guten Kontakt Sind eventuell zwei benachbarte Beinchen unbeabsichtigt durch Loumltzinn verbunden Alle Loumltverbindungen nochmals genau z B mit ei-ner Lupe pruumlfen

Probeweise das Stecker-Netzteil an die Buchse anschlieszligen Am 100 nF-Kondensator links mittig der 40-poligen IC-Fassung muumlssen 5 V anliegen

Versorgungsspannung unbedingt wieder von der Platine trennen

20

21

ICs MAX232 und ATmega16

Die Nuten auf den ICs am linken Rand muumlssen nach oben zeigen d h Pin1 ist bei beiden ICs in der Abbildung links unten und auf der Platine oben links

Manchmal passen die Beinchen der ICs nicht in die Fassung weil die Fas-sung scheinbar zu schmal ist Dann den IC seitlich mit einer Beinchen-Reihe flach auf den Tisch legen den IC-Koumlrper links und rechts greifen und Bein-chen durch leichten Druck biegen Einzelne verbogene Beinchen vorsichtig mit einer kleinen Flachzange richten

22

23

Wannenstecker 10- und 14-polig

Wannenstecker an den vorgesehe-nen Stellen mit der Nut gegen Ver-polung in Richtung des naumlherliegen-den Platinenrands einloumlten

Die Abbildung rechts zeigt die Pin-Belegung der Wannenstecker

24

Stiftleiste 8-polig 40-pol Stiftleiste in 4 jeweils 8-polige Stuumlcke zerteilen und einloumlten

25

Kunststoffgehaumluse

In der Selbstbauvariante der Platine (Nr 0) vor dem Einsetzten der Platine in das Gehaumluse passend positionierte Kunststoffstege am Gehaumluseboden fest-kleben

Tab 8 Bestuumlckung der Platine des Interface mit Bauelementen

42 Erweiterungsschaltungen 421 Uumlbersicht In Tab 3 sind von RCLs des RCL-Portals Sensoren und Aktoren mit den dazugehoumlrigen Er-weiterungsschaltungen zusammengestellt Da alle RCLs obligatorisch uumlber mindestens eine Webcam verfuumlgen sind diese unter den Sensoren nicht aufgefuumlhrt Die wenigen Erweite-rungsschaltungen fuumlr Sensoren sind unter Sensoren in Klammern aufgelistet Unter Aktoren werden auszliger elektro-mechanischen Wandlern auch gesteuerte Geraumlte oder Bauelemente verstanden Anzeigeinstrumente sind unter Aktoren nur aufgefuumlhrt wenn sie direkt vom In-terface gesteuert werden Mit gekennzeichnete Erweiterungsschaltungen befinden sich au-szligerhalb des Interface

40

RCL Sensoren Aktoren Erweiterungsschaltungen fuumlr Aktoren

Beugung und Interferenz I Referenz-Taster

Schrittmotor (Rotation) Schrittmotorsteuerung Laser-Modul Geschaltete Spannungsversorgung

Beugung und Interferenz II

4 Referenz-Taster Lichtsensor

4 Schrittmotoren (Translation) 4 Schrittmotorsteuerungen 5 Laser-Module Geschaltete Spannungsversorgung LED fuumlr Position des

Lichtsensors Geschaltete Spannungsversorgung

LED fuumlr Linealbeleuchtung Geschaltete Spannungsversorgung

Elektronen-beugung

Hochspannungsnetzgeraumlt Geschaltete Spannungsversorgung Hochspannungsnetzgeraumlt Steuerung der Hochspannung

Fotoeffekt 2 Referenz-Taster Photozelle

2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen

Quecksilberdampflampe Geschaltete Spannungsversorgung

der Drossel fuumlr Quecksilberdampf-lampe

Halbleiter-kennlinien

und Halbleiterkennli-nien - Schuumller-

projekt

Referenz-Taster

Schrittmotor (Rotation) Schrittmotorsteuerung Oszilloskop Geschaltete Spannungsversorgung

Oszilloskop Instrumentenverstaumlrker fuumlr X- und Y-Ablenkung

Multimeter Steuerung Spannungs- oder Strom-anzeige

Heiszliger Draht 4 Endtaster 4 Drehgeber Kurzschlusssensor

4 Gleichstrommotoren 4 Treiber

Zweifarbige LED Steuerung der LED-Farbe

Lichtgeschwin-digkeit

Drehimpulsgeber 2 Taster an Enden

der Eisenbahnstre-cke

2 Schrittmotoren 2 Schrittmotorsteuerungen Oszilloskop Geschaltete Spannungsversorgung

Motor der Lokomotive Steuerung des Ein- und Ausschal-tens und der Bewegungsrichtung

Maut Infrarot-Sensor Gleichstrommotor Geschaltete Spannungsquelle 2 IR-Fernbedienungen Spannungsregler 2-stellige 7-Segmentanzeige LED-Treiber

Millikan-Versuch 2 Referenz-Taster

2 Schrittmotoren 2 Schrittmotorsteuerungen Lichtquelle (LED) fuumlr Millikan-

Kondensator Geschaltete Spannungsversorgung

Airbrush-Kompressor Geschaltete Spannungsversorgung Magnetventil Geschaltete Spannungsversorgung Millikan-Kondensator Gesteuertes Hochspannungsmodul

Optische Com-putertomogra-

phie

2 Referenz-Taster 2 Lichtsensoren

Schrittmotor (Rotation) Schrittmotorsteuerung Schrittmotor (Translation) Schrittmotorsteuerung

2 Laser-Module 2 geschaltete Spannungsversor-gungen

Optische Fou-rier-

Transformation 2 Referenz-Taster

2 Schrittmotoren (Translation) 2 Schrittmotorsteuerungen

Laser-Modul Geschaltete Spannungsversorgung

Oszilloskop Oszilloskop Geschaltete Spannungsversorgung Signalgenerator Steuerung der Signalart

Radioaktivitaumlt 4 Referenz-Taster Geiger-Muumlller-

Zaumlhlrohr

2 Schrittmotoren (Translation) 2 Schrittmotorsteuerungen 2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen 4-stellige 7-Segment-Anzeige Treiber Elektromagnet Geschaltete Spannungsversorgung

Roboter im Labyrinth Infrarot-Sensor

2 Schrittmotoren 2 Schrittmotorsteuerung Infrarot-Sender Treiber

Rutherfordscher Streuversuch

2 Referenz-Taster Halbleiterdetektor

(Impulsformer)

2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen

4-stellige 7-Segment-Anzeige Treiber

Weltpendel

Referenz-Taster Lichtsensor der

Lichtschranke (Im-pulsformer)

Temperatursensor

Schrittmotor (Translation) Schrittmotorsteuerung Elektromagnet Geschaltete Spannungsversorgung

Laser der Lichtschranke Geschaltete Spannungsversorgung

Windkanal Referenz-Taster Schrittmotor (Translation) Schrittmotorsteuerung

41

Dehnungsmess-streifen (Wheat-stonesche Bruumlcke Messverstaumlrker Multimeter)

Geblaumlsemotor Geschaltete Spannungsversorgung

und Ansteuerung mit Pulsweiten-modulation

Anemometer Geschaltete Spannungsversorgung Multimeter Geschaltete Spannungsversorgung

Tab 9 Sensoren Aktoren und Erweiterungsschaltungen der RCLs des RCL-Portals

422 TMC222-Modul zur Schrittmotorsteuerung 4221 Schaltplan und Bauteilliste Abb 1 zeigt die Beschaltung des TMC222 von Trinamic auf dem TMC222-Modul

Abb 24 Beschaltung des TMC222 von Trinamic

Anhand der Bauteilliste in Tab 10 koumlnnen die elektronischen Bauelemente des TMC222-Moduls bei Reichelt electronic bestellt werden Ein TMC222-Modul kostet ungefaumlhr 10 euro

Nr Anzahl Kurzbeschreibung des Bauteils Best-Nr bei Reichelt electronic

Einzelpreis in euro

0 1 Epoxyd-Fotoplatine einseitig 75x100 mm 15 mm 35 microm BEL75X100-1 096 1 1 Integrierter TMC-Schrittmotor-Controller TMC 222 SI asymp 7 2 1 Elektrolytkondensator 8x11 mm Rm 35 mm 100 microF35 V RAD 10035 004 3 1 Tantal-Kondensator Rm 25 10 microF35 V Tantal 1035 014 4 2 Vielschicht-Keramikkondensator 220 nF 20 Z5U-25 220N 011 5 3 Vielschicht-Keramikkondensator 100 nF 20 Z5U-25 100N 004 6 2 Metallschichtwiderstand 100 kΩ Metall 100K 0082 7 1 1x36pol Stiftleiste gewinkelt Rm 254 SL 1X36W 027 8 1 1x36pol Buchsenleiste gerade Rm 254 BL 1X36G 025

Tab 10 Bauteilliste mit Bestellnummer und Einzelpreisen der Bauelemente bei Reichelt electronic (Stand 23102010)

4222 Bestuumlckung der Platine

42

Abb 25 zeigt die fertig bestuumlckte Platine mit den Nummern aus Tab 10

Abb 25 Bestuumlckte Platine des TMC222-Moduls

mit nummerierten Bauelementen

Die Platine (35 mm x 30 mm) kann anhand des Layouts in Abb 26 hergestellt werden Der IC TMC222 wird auf der Loumltseite der Platine aufgeloumltet Das TMC222-Modul kann mit der Stiftleiste (larr Tab 10 Nr 7) in eine Buchsenleiste (larr Tab 10 Nr 8) auf die Platine des In-terface gesteckt werden

Abb 26 Platine des TMC222-Moduls von der Loumltseite (links) und Layout

4223 Quellcode des Mikrocontroller-Programms Im Folgenden ist ein mit Bascom (larr 12 Tab 1 Entwicklungsumgebungen) erstelltes Bei-spiel-Programm zur Ansteuerung des Schrittmotormoduls TMC222 durch den Mikrocontroller ATmega16 angegeben $regfile = m16DEFdat $crystal = 11059200 $baud = 9600 Definitionen Config Scl = Portc0 Taktleitung Config Sda = Portc1 Datenleitung Const Adress = ampB11000000 I2C Adresse des TMC222 Const GetFullstatus1 = ampB10000001 Kommando des TMC222 Const Resetpos = ampB10000110 Kommando des TMC222 Const Motorparameter = ampB10001001 Kommando des TMC222 Const Setposition = ampB10001011 Dim Puffer(10) As Byte

43

Programm I2csend Adress GetFullstatus1 GetFullstatus1 (Initialisierung des TMC222) I2creceive Adress 7 Ack Daten in Puffer auslesen Puffer(1) = Motorparameter puffer auffuumlllen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB11110011 1111irun 0011ihold Puffer(5) = ampB01110001 0111vmax 0001vmin Puffer(6) = ampB00010000 000securepos(bit10-8) 1shaft 0000acceleration Puffer(7) = 0 securepos(bit7-0) Puffer(8) = ampB00001100 000nicht belegt 0accshape 11stepmode 00nicht belegt I2csend Adress Puffer(1) 8 I2csend Adress Resetpos aktuelle Position auf 0 setzen Puffer(1) = Setposition Motor bewegen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB01111111 position(bit 15-8) Puffer(5) = ampB11111111 position(bit 7-0)acute I2csend Adress Puffer(1) 5 End

423 Geschaltete Spannungsquellen und Verbraucher Die Ausgaumlnge des Mikrocontrollers duumlrfen nur mit Stroumlmen kleiner als ungefaumlhr 20 mA belas-tet werden Verbraucher mit einer Stromlast groumlszliger als 20 mA koumlnnen daher nicht direkt an den Mikrocontroller angeschlossen werden Abb 27 zeigt links eine Schaltung zum Schalten eines Verbrauchers wie z B des Relais und rechts eine Schaltung mit dem IC ULN2803A zum Schalten mehrerer Verbraucher wie z B Gluumlhlampen

Abb 27 Erweiterungsschaltungen zum Schalten eines (links) oder

mehrerer Verbraucher (rechts)

Zu beachten ist dass der Transistor BC337 maximal 800 mA schalten kann und fuumlr groumlszligere Stroumlme andere Transistoren verwendet werden muumlssen

424 Steuerung von Gleichstrommotoren

44

Sollen Gleichstrommotoren zum Bewegen von Objekten mit dem Mikrocontroller gesteuert werden dann eignet sich dazu der in Abb 28 dargestellte beschaltete IC L293D

Abb 28 Beschaltung des L293D zum

Steuern zweier Gleichstrom-motoren

Mit Pin 1 = Pin 9 = 1 (High) koumlnnen zwei Gleichstrommotoren M1 und M2 (Versorgungs-spannung UM lt 36 V Spulendauerstrom IM lt 600 mA) unabhaumlngig voneinander ein- und ausgeschaltet sowie in der Drehrichtung uumlber die Ports PA0 und PA1 fuumlr M1 und PA2 und PA3 fuumlr M2 gesteuert werden Z B gilt mit PA0 = PA1 = 0 (M1 ausgeschaltet) PA0 = 1 und PA1 = 0 (M1 dreht sich) PA0 = 0 und PA1 = 1 (M1 dreht sich in Gegenrichtung)

45

43 Quellcodes zum RCL Elektronenbeugung 431 Mikrocontroller-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

46

47

48

49

432 PHP-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

50

51

433 Bedienfeld der Laborseite

Tab 11 erlaumlutert die Funktion der Bloumlcke im Quellcode

Zeilen Funktion 1 Datei defaultconf einbinden 2 Datei headtpl einbinden

5 - 11 Ausgabe der verbleibenden Experimentierzeit 18 - 21 Button zum Einschalten der Elektronenbeugungsroumlhre 28 - 30 Eingabefeld fuumlr die Beschleunigungsspannung

37 Ruumlckmeldung zur eingegebenen Beschleunigungsspannung 42 Datei foottpl einbinden

Tab 11 Funktion der Programmbloumlcke in der Datei experi-menttpl

52

434 Webcamfeld der Laborseite

In Tab 12 ist die Funktion der Programmbloumlcke und die Anpassungen der Vorlage an das RCL Elektronenbeugung beschrieben

Zeilen Funktion Anpassung RCL Elektronenbeugung

5 Titelangabe erscheint als Tabulatorbeschriftung in Browsern

Name des RCLs eintragen

11 - 15 16 - 20

Zwei Javascripts zum getrennten Aufrufen zweier Po-pup-Fenster mit dargestelltem Webcambildern 1 und 2

Javascript 1 die IP-Adresse eintragen Javascript 2 auskommentiert weil nicht benoumltigt

24 - 40 42 - 60

Zwei Javascripts zum Aktualisieren der Webcambilder 1 und 2

Javascript 2 auskommentiert weil nicht benoumltigt

67 - 71 79 - 83

Aufrufen des ersten Webcambilds der Webcams 1 und 2 beim Aufrufen der Datei

Webcambild 2 auskommentiert weil nicht benoumltigt

72 - 78 84 - 90

Buttons zum Aufrufen der Screenshots der Webcam-bilder 1 und 2

Button 2 auskommentiert weil nicht benoumltigt

91 - 95 Zeile der Tabelle zum Eintragen von Informationen die sich auf die Webcambilder oder den Versuch beziehen

Text in Zeile der Tabelle geschrieben

Tab 12 Funktionen der Codeabschnitte in der Datei videohtm und Anpassung der Vor-lage an das RCL Elektronenbeugung

53

44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung Im Folgenden wird die Installation und Konfiguration des AVR-Studios 418 und der Bascom 11198 Demoversion beschrieben Alle Anleitungen sind zeilenweise von links nach rechts zu lesen

441 AVR-Studio 418 4411 Installation Auf der Webseite von ATMEL Register AVR Studio 418 (build 684) anklicken und Registrie-rungsformular ausfuumlllen Danach die Datei AvrStudio418Setup herunterladen Durch Dop-pelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen Next waumlhlen

I accept hellip und Next waumlhlen Installationsordner und Next waumlhlen

54

Installupgrade hellip und Next waumlhlen Install waumlhlen Die Installation beginnt

Finish waumlhlen

4412 Konfiguration AVR Studio 418 in Windows XP Professional unter StartProgramme aufrufen

Startfenster mit Cancel schlieszligen Unter ToolsProgram AVR Auto Connect waumlhlen

55

Im eingeblendeten Fenster auf der Registerkarte Main als Device ATmega16 und als Programming Mode ISP mo-de waumlhlen

Optional kann Signatur gelesen werden

In der Registerkarte Fuses alle Haumlkchen und Auswahlfel-der wie angegeben waumlhlen

Dann Program waumlhlen

442 BASCOM 11198 Demoversion 4421 Installation Auf der Webseite von Bascom unter Bascom AVR Demo die Zip-Datei setupdemoexe her-untergeladen Durch Doppelklick auf den Dateinamen die Installation starten

Next waumlhlen I accept the agreement und Next waumlhlen

56

Next waumlhlen Installationsordner eingeben und Next waumlhlen

Eintrag im Start-Menuuml eingeben und Next waumlhlen Next waumlhlen

Yes restart the computer now und Finish waumlhlen

57

4422 Konfiguration Bascom AVR in Windows XP Professional unter StartProgramme zum Einstellen der Para-meter des Mikrocontrollers und des Terminals aufrufen

OptionsCompilerChip waumlhlen Einstellungen wie im Bild vornehmen und OK waumlhlen

Auf der Registerkarte Communications Einstellungen wie im Bild vornehmen und OK waumlhlen

Unter OptionsCommunication Einstellungen wie im Bild

vornehmen und OK waumlhlen FileNew waumlhlen Unter ToolsTerminal emulator das Terminal aufrufen und

eingeben Die Befehlsliste des RCLs Elektronenbeu-gung wird angezeigt

45 Installation und Konfiguration von Programmen auf dem RCL-Server Im Folgenden wird der Download die Installation und die Konfiguration von Programmen auf dem RCL-Server unter Windows XP Professional beschrieben Alle Anleitungen sind zeilen-weise von links nach rechts zu lesen Die Installation der Programme sollte in der angegebe-nen Reihenfolge erfolgen

58

451 Einrichten des Internet-Zugangs LAN-Verbindung unter StartSystemsteuerungNetzwerkverbindungen aufrufen

Internetprotokoll (TCPIP) und Eigenschaften waumlhlen Folgende IP-Adresse verwenden waumlhlen IP-Adressen ein-

geben und OK waumlhlen

452 Paket XAMPP 174 Unter apache friends - xampp fuumlr windows und XAMPP Windows 174 Installer anklicken und Datei xampp-win32-174-VC6-installerexe speichern Durch Doppelklick auf die Datei die Installation starten

Sprache und Ok waumlhlen Ok waumlhlen

59

Weiter waumlhlen Zielverzeichnis mit Durchsuchen waumlhlen oder eingeben

Apache nicht als Dienst installieren Fertig stellen waumlhlen

Ja waumlhlen Zum Starten des Apache Webservers das Control Panel

unter StartProgrammeXAMPP 173 for Windows mit Start starten Anstelle von Start erscheint Running

Zum Beenden des Apache Webservers Stop waumlhlen Zum Beenden des Control Panels Exit waumlhlen

60

453 Videoserver webcamXP 5 Private Auf der Webseite von Moonware Studios unter webcamXP 55xx die Datei wlite550 herun-terladen Durch Doppelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen I Agree waumlhlen

Next waumlhlen Auszliger webcamXP 5 brauchen keine weiteren Komponen-

ten installiert zu werden

Den vorgeschlagenen Ordner und Install waumlhlen Finish waumlhlen

61

WebcamXP unter StartProgramme aufrufen Zugesandte

Lizenz-Daten in das eingeblendete Fenster eingeben und Register waumlhlen

Beim Starten des Programms stellt webcamXP automa-tisch eine Verbindung zu den am Computer angeschlosse-nen Webcams her

Nach dem Start ist Uumlberwachen gewaumlhlt Durch Rechts-klick mit der Maus auf das Videofenster wird zu jeder Vi-deoquelle ein Kontextmenuuml angezeigt Wird kein Videobild dargestellt das Kontextmenuuml aufrufen Art der Videoquelle waumlhlen (hier USB) und unter den erkannten Videoquellen (hier USB-Videogeraumlt) die gewuumlnschte waumlhlen

Das Videoformat muss fuumlr eine passende Darstellung auf

der Laborseite auf 320 x 240 eingestellt sein Ist das nicht der Fall im Kontextmenuuml unter Video Format einstellen

In gleicher Weise kann eine zweite Videoquelle hinzugefuumlgt werden

In der Registerkarte Web Broadcast kann unter

Broadcast (HTTP) der Videoserver mit Ausschalten ge-stoppt und mit Aktivieren gestartet werden

Zur Zielwahl des Webservers (131246237167 - Internet D16W3X3J - Computer 127001 - Local Host) Videoser-ver stoppen und einstellen Videoserver wieder starten

62

454 Terminalprogramm Hyperterminal Hyperterminal in Windows XP Professional unter StartProgrammeZubehoumlrKommunikation aufrufen

Name der neuen Verbindung - z B Interface - eingeben

und OK waumlhlen Die Verbindung zwischen Computer und Interface wurde

uumlber einen USB-Seriell-Adapter hergestellt Dann erschei-nen zwei zusaumltzliche Eintraumlge (Motorola Comp Modem und COM5) in der Liste Prinzipiell muss eine COMx-Verbindung gewaumlhlt werden

Eigenschaften von COM 5 wie im Bild einstellen und OK

waumlhlen DateiEigenschaften aufrufen und ASCII-Konfiguration

waumlhlen

63

Haken bei Eingegebene Zeichen lokal ausgeben (lokales

Echo) setzen um eingegebenen Zeichen im Hyperterminal zu sehen

Bei funktionsfaumlhiger Verbindung erscheint nach Eingabe von Return die Befehlsliste des Interface

Durch Aufrufen von DateiSpeichern die erstellte Verbin-

dung z B auf dem Desktop speichern Dadurch braucht die Verbindung nicht immer wieder von neuem konfiguriert wer-den

Nach Aufrufen von DateiBeenden die bestehende Verbin-dung mit Ja beenden

64

Wurde ein falscher COM-Port gewaumlhlt reagiert das Inter-

face auf die Eingabe Return nicht Hyperterminal dann beenden

Der COM-Port kann dann nicht unter DateiEigenschaften im Hyperterminal aber unter Eigenschaften des Kontext-menuumls der Datei Interfaceht in der Registerkarte Verbin-den mit geaumlndert werden Dann OK waumlhlen und erneut Verbindung testen

65

455 Fernwartungssoftware TeamViewer 6 Host Auf der Webseite von Teamviewer GmbH unter Fuumlr unbeaufsichtigte Server TeamViewer Vollversion die Datei TeamViewer_Setup-wq herunterladen Das Programm muss auf dem RCL-Server und dem Computer der auf den RCL-Server zugreifen soll installiert werden Durch Doppelklick auf die Datei die Installation starten

Ausfuumlhren waumlhlen Weiter waumlhlen

Fuumlr die private nicht kommerzielle Nutzung ist Teamviewer kostenlos

privat nicht-kommerziell und Weiter waumlhlen

Beide Haumlkchen setzen und Weiter waumlhlen

66

Ja un Weiter waumlhlen Weiter

Computername und Kennwort fuumlr den Zugriff auf den RCL-Server oder den eigenen Computer vergeben Kenn wort notie-ren

Ein Teamviewerkonto ist nicht erforderlich Kann auch spaumlter noch eingerichtet werden

ID fuumlr den Computer auf dem das Programm installiert wird fuumlr Zugriff notieren

Das Programm wird gestartet Standardmaumlszligig vorein-gestellt ist der Start des Programms beim Start des Be-trienssystems

67

46 Selbstbau eines elementaren RCLs 461 Hard- und Software Auch ohne gleich ein vielleicht teures physikalisches Experiment zu steuern laumlsst sich mit wenigen Bauelementen ein elementares RCL realisieren Von einer Webseite im Internet sol-len eine Leuchtdiode (LED) ein- oder ausgeschaltet sowie der Zustand der Leuchtdiode und eines Tasters abgefragt werden An Hard- und Software werden benoumltigt

1 Low-Current-LED 5 mm 2 mA 1 Widerstand 18 kΩ 1 Taster und optional zwei 10-polige Wannenstecker mit ungefaumlhr 10 cm passendem Flachbandkabel und Buchsen

Interface in Basisschaltung Null-Modem-Kabel 12 V DC Steckernetzteil (larr 1)

Installierte Bascom-Demo-Version (larr 42)

AVR ISP-Programmer mit 10-poligem Programmierkabel

Installiertes und konfiguriertes AVR Studio 418 (larr 41)

Installiertes Paket XAMPP (larr 52)

Texteditor wie z B Notepad in Windows XP Professional

Konfigurierte Hyperterminalverbindung (larr 54)

462 Bestuumlckung der Platine Abb 29 zeigt zur Orientierung fuumlr das Einloumlten der Bauelemente die fertig bestuumlckte Platine des Interface

Abb 29 Mit elementarem RCL bestuumlckte Platine

des Interface

LED mit Vorwiderstand und der Taster sind rechts neben dem Mikrocontroller im Lochraster-bereich aufgebaut und uumlber Wannenstecker und Flachbandkabel mit dem Port A des Mikro-controllers verbunden (die drei Bauteile rechts neben dem ATmega16 werden nicht benouml-tigt) Tab 13 erlaumlutert die Schritte zur Bestuumlckung der Platine des Interface

68

Nr Schaltung Erlaumluterung

1

Die Leuchtdiode (LED) mit dem Pluspol (langes Beinchen) an PortA0 (PIN40 oben rechts) des Mikrocontrollers anloumlten

An das kurze Beinchen einen 18kΩ Widerstand loumlten dessen anderes Ende mit der Masse (GND) verbinden

2

Den Taster mit PortA1 (PIN39 = 2 Beinchen von oben rechts) und Masse (GND) verbinden

3

Draufsicht

Belegung des 10-poligen Wannensteckers 1 GND (Masse) im Foto oben links 2 +5 V 3 PortA0 4 PortA1 10 PortA7 im Foto unten rechts

Tab 13 Schritte zum Aufbau des elementaren RCLs

463 Lokal gesteuertes RCL Nachfolgend ist der Basic-Programmcode des Mikrocontrollers zur Steuerung und Abfrage der LED und des Tasters angegeben 01 $regfile = m16DEFdat Microcontroller ATmega16 02 $crystal = 11059200 110592MHz Quarz 03 $baud = 9600 Baudrate 04 05 ---[ Variables ]--------------------------------------------------------------- 06 Dim Rs232kommando As String 10 erst Befehlspuffer dann Kommando 07 Dim Parameter As String 10 Parameter 08 Dim Str_pos As Byte Position von Leerzeichen zur Trennung von Kommando und Pa-rameter 09 10 ---[ Initialisierung ]--------------------------------------------------------- 11 Ddra0 = 1 PortA0 als Ausgang fuumlr LED 12 Porta0 = 0 LED aus 13 Ddra1 = 0 PortA1 als Eingang fuumlr Taster 14 Porta1 = 1 Pull-Up aktivieren 15 16 ---[ Main program loop ]------------------------------------------------------- 17 Do Start der Endlos-Schleife 18 19 If Ischarwaiting() = 1 Then Zeichen uumlber RS232 empfangen 20 Input Rs232kommando neues Kommando lesen 21 Parameter = Parameter initialisieren 22 Str_pos = Instr(rs232kommando ) Leerzeichen im Kommando suchen 23 If Str_pos gt 0 Then falls Leerzeichen dann in Kommando+Parameter zerlegen 24 Incr Str_pos Str_pos soll jetzt auf 1Zeichen des Parameters zeigen 25 Parameter = Mid(rs232kommando Str_pos ) Parameter = Teilstring nach Leerzeichen 26 Parameter = Ucase(parameter) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 27 Str_pos = Str_pos - 2 Str_pos soll jetzt auf letztes Zeichen des Kommandos zeigen 28 Rs232kommando = Left(rs232kommando Str_pos)Kommando = Teilstring vor Leerzeichen 29 Rs232kommando = Ucase(rs232kommando) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 30 End If 31 32 Select Case Rs232kommando Eventhandler Interpretation der Kommandos 33 Case Print Hilfe Hilfeseite anzeigen 34 Print LED on - LED einschalten 35 Print LED off - LED ausschalten 36 Print LED - zeigt Status der LED an 37 Print SW - zeigt Status des Schalters an 38

1K8

LED rotmicroC PortA0(PIN40)

Taster

microC PortA1(PIN39)

1

3

2

69

39 Case LED If Parameter = ON Then LED schalten 40 Porta0 = 1 41 End If 42 If Parameter = OFF Then 43 Porta0 = 0 44 End If 45 46 Case LED If Porta0 = 0 Then Status der LED ausgeben 47 Print LED aus 48 Else 49 Print LED an 50 End If 51 52 Case SW If Pina1 = 1 Then Status des Schalters ausgeben 53 Print Taster offen 54 Else 55 Print Taster geschlossen 56 End If 57 58 Case Else Print gt Rs232kommando lt ungueltiger Befehl - weitere Infos mit Info bei unguumlltigen Eingaben 59 End Select 60 61 End If 62 63 Loop Endlos-Schleife Springe zu Do 64 65 End wird nie erreicht

Der erste Teil des Programms (Zeilen 1 - 15) enthaumllt die Systemparameter Variablen und Initialisierung der Ein- und Ausgaumlnge Der zweite Teil enthaumllt ab Zeile 17 das Hauptpro-gramm in dem Benutzereingaben uumlber die serielle Schnittstelle empfangen interpretiert und in entsprechende Anweisungen umgesetzt werden Tab 14 erlaumlutert den Programmcode de-taillierter

Zeilen Erlaumluterung

1 - 3 Diese Angaben teilen dem Compiler (Bascom) mit welcher Prozessor eingesetzt wird wie schnell dieser getaktet (Quarz) ist und mit welcher Uumlbertragungsgeschwindigkeit die Kommunikation uumlber die serielle Schnittstelle (RS232) mit dem PC erfolgen soll

6 - 8 Es werden drei Variablen genutzt Die Eingabe uumlber die serielle Schnittstelle wird in rs232kommando gespeichert Es wird ein Text der Form Kommando ltLeerzeichengt Parameter erwartet so dass die Variable Parameter den-selbigen aufnimmt Die Variable str_pos wird fuumlr die Trennung von Kommando und Parameter benoumltigt

11 - 14

Mit dem Befehl ddrPX (ddr = data direction) wird festgelegt ob ein Beinchen als Ausgang (=1) oder als Eingang (=0) arbeiten soll Der ATmega16 besitzt 32 Ein-Ausgaumlnge die in vier Ports (P=AD) zu je 8 Pins (X=07) unterteilt sind ddrA0 = 1 legt also das 1 Beinchen (Pin 0) von PortA als Ausgang (=1) fest Mit dem Befehl PortA0 =1 kann dieser Pin dann durch Zuweisen von 1 oder 0 an- bzw ausgeschaltet werden Im Datenblatt erfahren Sie welches der 40 Beinchen des Mikrocontrollers wie bezeichnet wird (Pin-Belegung) Wird ein Beinchen als Eingang verwendet (ddrA1 = 0) koumlnnen Sie optional einen so genannten Pull-Up-Widerstand aktivieren (PortA1=1) oder deaktivieren (PortA1=0) Auch hierzu sollten Sie sich unbedingt mit dem Datenblatt vertraut machen

17 63 Das Hauptprogramm besteht aus einer Endlosschleife d h der Mikrocontroller verrichtet ununterbrochen seinen Job so lange er mit Strom versorgt wird

19 - 30 Falls ein Zeichen uumlber die serielle Schnittstelle empfangen wurde wird dieses und alle folgenden gelesen Anschlie-szligend wird gepruumlft ob der empfangene Text von der Form Kommando ltLeerzeichengt Parameter ist so dass er ge-gebenenfalls in ein Kommando und einen Parameter zerlegt werden kann

32 - 59 Dieser Abschnitt wird mit Event-Handler bezeichnet Hier wird auf die Kommandos (Events) reagiert und die ent-sprechenden Schritte ausgefuumlhrt zB schalten LED je nach Wert der Variablen Parameter an- bzw ausschalten

46 52

In beiden Zeilen wird ein Wert eines Ports abgefragt Unterschiedlich ist dass in Zeile 46 der Status eines Ausgangs abgefragt wird (porta0) und in Zeile 52 der Zustand eines Eingangs (pina0) Die Anweisung IF porta0 = 0 THEN pruumlft (hier ist = ein Vergleich und KEINE Zuweisung) ob zuletzt die LED ausgeschaltet (Zuweisung porta0 = 0) wurde Die Anweisung IF pina1= 1 THEN liest den Status eines Eingangs Hier kann festgestellt werden ob der Eingang uumlber den internen Pull-UP-Widerstand auf +5V liegt (pina1 liefert 1) oder ob der Schalter den Eingang mit Masse (0V) verbindet (pina1 liefert 0)

Tab 14 Erlaumluterung des Mikrocontroller-Programmcodes fuumlr elementares RCL

70

In Bascom AVR eine neue Datei erzeugen (FileNew) den Programmcode ohne Kommenta-re eingeben und mit ProgramCompile (F7) eine Hexadezimaldatei erzeugen Die Hexadezi-maldatei mit dem AVR-Studio und dem AVR-ISP-Programmer in den Mikrocontroller schrei-ben (larr 222 Programmuumlbertragung) Nach dem Verbinden von Computer und Interface per Null-Modem-Kabel kann durch Eingabe von in das konfigurierte Hyperterminal die Befehls-liste in Abb 30 aufgerufen werden

Abb 30 Aufgerufene Befehlsliste im Hyperterminal

Durch Eingabe von LED on oder LED off kann die LED ein- und ausgeschaltet LED zeigt den Status der LED und sw den Status des Tasters an Alternativ zum Hyperterminal kann auch das Terminal in BASCOM unter ToolsTerminal Emulator verwendet werden (larr 422)

464 Ferngesteuertes RCL Zum Ansteuern des Interfaces und zum Bedienen des Versuchsaufbaus uumlber das Internet wird eine Webseite benoumltigt die dem Benutzer alle Bedienelemente des Experiments zur Verfuumlgung stellt

Der Benutzer benoumltigt anklickbare Buttons im Webbrowser

Der Webserver muss die Information welcher Button gedruumlckt wurde empfangen und ein entsprechendes Kommando uumlber die serielle Schnittstelle an das Interface senden

Beide Schritte sind im nachfolgenden PHPHTML-Quellcode zusammengefasst 01 ltDOCTYPE HTML PUBLIC -W3CDTD HTML 401 TransitionalEN httpwwww3orgTRhtml4loosedtdgt 02 lthtmlgt 03 ltheadgt 04 ltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1gt 05 lttitlegtelementares RCLlttitlegt 06 ltheadgt 07 08 ltbodygt 09 ltphp 10 if (isset($_POST[Kommando])) wurde bereits Kommando gesendet 11 if( ( $handle = fopen( COM1 w+ ) ) ) Schnittstelle oumlffnen 12

71

13 throw new Exception( Can not access serial port 2 ) ohne Erfolg 14 15 fwrite( $handle $_POST[Kommando] chr( 13 ) ) Befehl an Interface senden 16 switch ( $_POST[Kommando] ) Antwort von Interface auswerten 17 case LED $tmp = fgets( $handle ) Echo von Interface ignorieren 18 $antwort = fgets( $handle ) Antwort des Interfaces 19 echo Antwort $antwort Ausgabe auf Webseite 20 break switch verlassen 21 22 case SW $tmp = fgets( $handle ) Echo von Interface ignorieren 23 $antwort = fgets( $handle ) Antwort des Interfaces 24 echo Antwort $antwort Ausgabe auf Webseite 25 break switch verlassen 26 27 28 29 fclose( $handle ) Schnittstelle schlieszligen 30 31 else 32 `mode com1 BAUD=9600 PARITY=N data=8 stop=1 xon=off` Schnittstellenparameter setzen 33 34 35 gt 36 37 lth3gtBefehl sendenlth3gt 38 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 39 ltinput type=hidden name=Kommando value=LED ON gt 40 ltinput type=submit value=LED anschalten gt 41 ltformgt 42 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 43 ltinput type=hidden name=Kommando value=LED OFF gt 44 ltinput type=submit value=LED ausschalten gt 45 ltformgt 46 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 47 ltinput type=hidden name=Kommando value=LED gt 48 ltinput type=submit value=LED abfragen gt 49 ltformgt 50 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 51 ltinput type=hidden name=Kommando value=SW gt 52 ltinput type=submit value=Taster abfragen gt 53 ltformgt 54 ltbodygt 55 lthtmlgt Den Quellcode in den Texteditor kopieren und im Ordner htdocs von XAMPP z B unter rclphp speichern HTML-Dateien mit PHP-Code (Zeilen 9-35) muumlssen mit der Erweiterung php gespeichert werden damit der Apache Webserver zwischen HTML-Seiten mit und ohne PHP-Code unterscheiden kann Den installierten Apache Webserver starten (larr 452) und im Adressfeld des Webbrowsers die IP-Adresse http127001rclphp aufrufen Das Bedi-enfeld des elementaren RCLs in Abb 31 wird im Browserfenster angezeigt

72

Abb 31 Laborseite des elementaren RCLs

Im Bedienfeld kann die LED an- und ausgeschaltet sowie der Status von LED und Taster abgefragt werden

  • 0 Warum ein Tutorial zur RCL-Technik
  • 1 Technische Konzeption
    • 11 Einfuumlhrung
    • 12 Wahl der RCL-Technik
      • 2 Lokal gesteuertes RCL
        • 21 Interface
          • 211 Mikrocontroller
          • 212 Basisschaltung und Erweiterungsschaltungen
          • 213 Programmierung des Mikrocontrollers
            • 22 Hyperterminal
            • 23 Positionieren von Objekten
              • 231 Hybrid-Schrittmotoren
              • 232 Schrittmotorsteuerung und Positionierungsmechanik
                  • 3 Ferngesteuertes RCL
                    • 31 RCL-Server
                    • 32 Laborseite
                      • 321 Steuerung des RCLs uumlber das Bedienfeld
                      • 322 Videouumlbertragung im Webcamfeld
                        • 33 Standard-Lernumgebung
                          • 4 ANHANG
                            • 41 Interface in Basisschaltung
                              • 411 Schaltplan und Bauteilliste
                              • 412 Bestuumlckung der Platine
                                • 42 Erweiterungsschaltungen
                                  • 421 Uumlbersicht
                                  • 422 TMC222-Modul zur Schrittmotorsteuerung
                                    • 4221 Schaltplan und Bauteilliste
                                    • 4222 Bestuumlckung der Platine
                                    • 4223 Quellcode des Mikrocontroller-Programms
                                      • 423 Geschaltete Spannungsquellen und Verbraucher
                                      • 424 Steuerung von Gleichstrommotoren
                                        • 43 Quellcodes zum RCL Elektronenbeugung
                                          • 431 Mikrocontroller-Programmierung
                                          • 432 PHP-Programmierung
                                          • 433 Bedienfeld der Laborseite
                                          • 434 Webcamfeld der Laborseite
                                            • 44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung
                                              • 441 AVR-Studio 418
                                                • 4411 Installation
                                                • 4412 Konfiguration
                                                  • 442 BASCOM 11198 Demoversion
                                                    • 4421 Installation
                                                    • 4422 Konfiguration
                                                        • 45 Installation und Konfiguration von Programmen auf dem RCL-Server
                                                          • 451 Einrichten des Internet-Zugangs
                                                          • 452 Paket XAMPP 174
                                                          • 453 Videoserver webcamXP 5 Private
                                                          • 454 Terminalprogramm Hyperterminal
                                                          • 455 Fernwartungssoftware TeamViewer 6 Host
                                                            • 46 Selbstbau eines elementaren RCLs
                                                              • 461 Hard- und Software
                                                              • 462 Bestuumlckung der Platine
                                                              • 463 Lokal gesteuertes RCL
                                                              • 464 Ferngesteuertes RCL

20

Abb 9 Uumlbertragung der Hexadezimaldatei Elekt-

ronenbeugunghex in den Mikrocontroller

(6) Spannungsversorgung des Interface unterbrechen ISP-Programmer vom Interface trennen AVR-Studio beenden und den ISP-Programmer vom Computer trennen

22 Hyperterminal Nach der Programmuumlbertragung kann das Experiment uumlber das konfigurierte Hyperterminal (rarr 454) lokal gesteuert werden Mit dem Hyperterminal koumlnnen als Text eingegebene Be-fehle oder Abfragen an den Mikrocontroller gesendet oder von diesem empfangen werden Der Computer muss wie bei der Programmuumlbertragung mit dem Interface per Null-Modem-Kabel uumlber die serielle Schnittstelle oder einen USB-Seriell-Adapter verbunden sein Das In-terface muss an die Versorgungsspannung anschlossen sein braucht aber nicht mit dem Experiment verbunden zu sein Abb 10 zeigt nach Eingabe von und von param im Hyper-terminal die Befehlsliste des Mikrocontrollers fuumlr das RCL Elektronenbeugung

21

Abb 10 Befehlsliste des Mikrocontrollers im Hyperterminal fuumlr das RCL Elektronenbeugung

Tab 4 gibt Erlaumluterungen zur Befehlsliste

BefehlAbfrage Erlaumluterung

DA x Am Eingang des DA-Wandlers wird die Zahl x (0 - 255) im Binaumlrcode

angelegt und die Ausgangsspannung des Hochspannungsnetzgeraumlts bzw die Beschleunigungsspannung der Elektronenkanone eingestellt

OnOff Hochspannungsnetzgeraumlt und Gluumlhkathode der Elektronenkanone ein-

oder ausschalten Beim Einschalten wird die Steuerspannung des Inter-face am Hochspannungsnetzgeraumlt auf asymp 0 V einstellt

Standby Ausgabe der eingestellten Standbyzeit von 300 s setSB x Standbyzeit einstellen

next Standby in Ausgabe der verbleibenden Standbyzeit (254 s) bis das Experiment

ausgeschaltet wird Eine negative Standbyzeit gibt die Zeit seit dem Ab-lauf der Standbyzeit an

Power On Delay Ausgabe der Verzoumlgerungszeit (2 s) bis das Hochspannungsnetzge-

raumltElektronenbeugungsroumlhre nach dem Ausschalten oder nach Ablauf der Standbyzeit erneut eingeschaltet werden kann

setPOD x Verzoumlgerungszeit einstellen

power on enabled in Ausgabe wie lange Hochspannungsnetzgeraumlt nicht eingeschaltet wer-

den kann Zeiten unter 0 bedeuten dass Power-On-Delay-Zeit ablaufen ist

Tab 4 Erlaumluterung der Befehle in Abb 10

23 Positionieren von Objekten In fast allen RCLs des RCL-Portals auszliger den RCLs Elektronenbeugung und Oszilloskop muumlssen Objekte rotatorisch oder translatorisch positioniert werden Eingesetzt werden Hyb-rid-Schrittmotoren als Aktoren eine Schrittmotorsteuerung von Trinamic als Erweiterungs-schaltung (TMC222-Modul) die Positionierungseinheit ausgedienter Flachbrett-Scanner und ein Referenz-Taster als Sensor

231 Hybrid-Schrittmotoren Abb 11 zeigt den vereinfachten schematischen Aufbau eines zweiphasigen Schrittmotors mit getrennten magnetischen Kreisen des Stators und einem permanent magnetisierten zweipoligen Rotor (Polpaarzahl 1)

22

Abb 11 Funktionsprinzip von Schrittmotoren Unipolare (links) und bipolare Schaltung (rechts)

von Schrittmotoren mit Bestromungstabellen fuumlr Voll- und Halbschrittbetrieb Darge-stellt ist der Schritt 0

Der Rotor verfuumlgt bei der dargestellten Polreihenfolge S-S-N-N des Stators uumlber eine stabile Stellung bei einer hypothetischen (magnetische Monopole) Polreihenfolge N-S-N-S gaumlbe es mit diesem Aufbau des Stators nur instabile Stellungen des Rotors Um den Rotor in Bewe-gung zu setzen muss die Polreihenfolge S-S-N-N im oder entgegen den Uhrzeigersinn (Rechts- oder Linksdrehung) weitergeschaltet und der Rotor vom magnetischen Schrittfeld mitgenommen werden

Die magnetische Polaritaumlt eines magnetischen Kreises laumlsst sich entweder durch zwei Spu-len konstanter elektrischer Polaritaumlt mit unterschiedlichem Wicklungssinn (herstellungstech-nisch zu aufwendig) durch eine Spule mit Mittelanzapfung und konstanter elektrischer Pola-ritaumlt der beiden Teilspulen (unipolare Schaltung) oder durch eine Spule mit wechselnder elektrischer Polaritaumlt (bipolare Schaltung) realisieren In Abb 11 sind dazu die elektrischen Beschaltungen und die Bestromungstabellen fuumlr eine Rechtsdrehung des Rotors dargestellt Fuumlr eine Linksdrehung des Rotors muss die Schrittfolge in umgekehrter Reihenfolge durch-laufen werden

Es wird zwischen Vollschrittbetrieb (graue Zeilen der Tabellen) mit Schrittwinkel 90deg bzw Schrittzahl 4 und Halbschrittbetrieb (alle Zeilen der Tabellen) mit Schrittwinkel 45deg bzw Schrittzahl 8 unterschieden Beim Vollschrittbetrieb werden immer beide magnetische Kreise bestromt und die N-S-Polachse des Rotors nimmt nur Stellungen zwischen den Statorpolen

23

an Beim Halbschrittbetrieb wird zwischen den Vollschritten nur einer der magnetischen Krei-se bestromt und die N-S-Polachse des Rotors kann zusaumltzlich 4 Stellungen in Richtung der Statorpole einnehmen Der Hybrid-Schrittmotor ist die am haumlufigsten vertretene Bauform von Schrittmotoren Abb 12 zeigt den Aufbau eines Hybrid-Schrittmotors

Abb 12 Aufbau eines Hybrid-Schrittmotors fuumlr unipolare und

bipolare Schaltung Daten Schrittwinkel 18deg max Drehmoment 155 Ncm

Der Stator besteht aus zwei Straumlngen mit je 4 in Reihe geschalteten Spulen Der Wick-lungssinn der Spulen ist in beiden Straumlngen so dass sich die Polfolge N-S-N-S uumlber den Umfang ergibt Beide Straumlnge zusammen ergeben unabhaumlngig von der Stromrichtung ei-ne Polfolge N-N-S-S-N-N-S-S uumlber den Umfang Ein zweipoliger Rotor (Polpaarzahl 1) kann im Vollschrittbetrieb 4 Stellungen annehmen Der Rotor des Hybridschrittmotors be-steht aber aus axial magnetisierten Permanentmagneten deren Polpaarzahl durch axial versetzte weichmagnetische Zahnscheiben auf 50 erhoumlht wurde Dadurch erhoumlht sich die Schrittzahl auf 4 sdot 50 = 200 und der Schrittwinkel verkleinert sich auf 360deg200 = 18deg Um stabile Rotorstellungen zu erhalten muumlssen die Statorsegmente ebenfalls gezahnt ausge-fuumlhrt werden

Ein solcher Hybrid-Schrittmotor vereint die Vorteile des Reluktanz- und des permanenter-regten Schrittmotors Ein kleiner Schrittwinkel wird durch das von Reluktanzschrittmotoren bekannte Prinzip der Erzeugung einer Vielzahl von Polen des Rotors durch Zahnscheiben erzielt Ein hohes Drehmoment wird durch das von permanenterregten Schrittmotoren be-kannte Prinzip der Ausfuumlhrung des Rotors als Permanentmagnet erzielt Aufgrund der bi-filaren Wicklung besteht jede Statorwicklung aus zwei Teilspulen und der Schrittmotor kann in unipolarer (alle 6 Anschluumlsse verwendet) und bipolarer Schaltung (nur 4 An-schluumlsse verwendet gemeinsamer Anschluss der Teilspulen bleibt unverwendet) wie in Abb 12 dargestellt verwendet werden

24

Schrittmotoren erlauben nicht nur das Bewegen sondern innerhalb der Leistungsgrenzen (keine Schrittverluste) auch ein genaues Positionieren von Objekten Bei bekannter Schrittzahl auf einer gemessenen Strecke oder Schrittzahl fuumlr den Vollwinkel koumlnnen aus-gehend von einer Referenzstellung Objekte translatorisch oder rotatorisch positioniert werden

232 Schrittmotorsteuerung und Positionierungsmechanik Im Folgenden wird die bei allen RCLs mit Schrittmotoren eingesetzte Schrittmotorsteuerung die Mechanik zur translatorischen Positionierung von Objekten und die Funktionsweise eines Referenztasters beschrieben

Schrittmotorsteuerung Abb 13 zeigt das Blockschaltbild und das im Selbstbau herstellbare TMC222-Modul (rarr 4221 rarr 4222) mit dem IC TMC222 von Trinamic zur Steuerung bipolarer 2-phasiger Hybrid-Schrittmotoren

Abb 13 Blockschaltbild (links) und Platine des TMC222-Moduls (rechts) mit IC TMC 222 auf

der Loumltseite der Platine

Der IC TMC222 enthaumllt ein I2C-Interface zum Anschluss an den I2C-Bus des Mikrocon-trollers (Ports PC0 und PC1) Die 10 kΩ-Pull-up-Widerstaumlnde heben die Takt- (SCL clock) und Datenleitung (SDA data) auf ein Potential von 5 V Der IC TMC222 enthaumllt ei-nen Motortreiber fuumlr Spulenstroumlme bis zu 800 mA und einen Motor-Controller zur Steue-rung der Spulenstroumlme Ein Vorteil des TMC-Moduls ist der relativ geringe Programmier-aufwand fuumlr den Mikrocontroller (rarr 4223) da der IC TMC222 nach Uumlbergabe der Steu-erungsparameter (Drehrichtung Drehzahl hellip) vom Mikrocontroller die Ansteuerung des Schrittmotors uumlbernimmt Der IC TMC222 unterstuumltzt das Beschleunigen und Abbremsen des Schrittmotors enthaumllt einen Schrittpositionszaumlhler und unterstuumltzt Mikrostepping (va-riable Spulenstroumlme zur elektronischen Verkleinerung des Schrittwinkels und groumlszligerer Laufruhe)

25

Falls in RCLs Gleichstrommotoren mit houmlheren Drehzahlen als Schrittmotoren benoumltigt werden kann eine andere Erweiterungsschaltung (rarr 424) eingesetzt werden

Positionierungsmechanik und Referenz-Taster Die Mechanik zur rotatorischen Positionierung von Objekten kann meist kostenguumlnstig selbst oder durch Personal in einer Werkstatt angefertigt werden Abb 14 zeigt eine kos-tenguumlnstige Loumlsung zur translatorischen Positionierung von Objekten

Abb 14 Positionierungseinheit eines Flachbrett-

Scanners Schrittmotor (1) Getriebe (2) Li-nearfuumlhrung (3) Antriebsriemen (4) und er-gaumlnzter Referenz-Taster (5)

Falls der geometrische Aufbau und die geforderte Positionierungsgenauigkeit des RCLs es zulassen kann die Schrittmotor-Positionierungs-Einheit ausgedienter Flachbrett-Scanner zur translatorischen Positionierung von Objekten verwendet werden In Einzelfaumll-len wie dem RCL Weltpendel kann die Positionierungsmechanik auch selbst angefertigt werden Der Referenz-Taster in Abb 14 wird eingesetzt um abzufragen ob ein vom Schrittmotor bewegtes Objekt die Position des Tasters erreicht hat und um diese Position zu referenzieren Ohne eine solche Referenzierung kann die Positionierung eines Objekts langfristig ungenau werden So kann z B beim RCL Weltpendel das Auftreffen der Kugel auf den Magneten zum Uumlberspringen von Schrittmotorstellungen fuumlhren Der Zustand des Referenz-Tasters in Abb 15 wird z B uumlber den Port PA0 des Mikrocontrollers abgefragt

Abb 15 Referenz-Taster zum referenzieren der

Position des bewegten Objekts

26

Zu Problemen koumlnnen undefinierte Zustaumlnde der Eingaumlnge des Mikrocontrollers fuumlhren wie sie beim Prellen dem zeitlich begrenzten schwingen eines Tasters beim Oumlffnen oder Schlieszligen entstehen Abhilfe schafft ein passend dimensionierter parallel zum Taster ge-schalteter Kondensator Bei geoumlffnetem Taster ist der Kondensator aufgeladen Beim Schlieszligen haumllt der Kondensator die Spannung uumlber die Schwingphase trotz kurzzeitig wieder geoumlffnetem Schalter noch aufrecht Analoges gilt fuumlr den Uumlbergang vom geschlos-senen zum geoumlffneten Taster

3 Ferngesteuertes RCL 31 RCL-Server Fuumlr den Betrieb eines RCLs wird ein RCL-Server benoumltigt (larr 11) Vorausgesetzt wird dass bei einem neuen Computer alle notwendigen Treiber (Ethernet Video Audio hellip) zum Be-trieb der Hardware des Computers und Windows XP Professional mit Service Pack 3 instal-liert sind Ein Benutzerkonto braucht nicht angelegt zu werden

Der RCL-Server benoumltigt einen Internetzugang mit statischer IP-Adresse und Uploaddatenra-te von mindestens 200 kbits (DSL 2000) fuumlr die fluumlssige Wiedergabe von Bewegungen in Webcambildern Die statische IP-Adresse wird von der Institution am Standort des RCLs vergeben oder kann von Privatpersonen bei einem Provider beantragt werden Mit folgenden Schritten wird der RCL-Server eingerichtet

Internetzugang einrichten (rarr 451) und im Browser testen

Checken ob die Windows Firewall aktiviert ist

Virenschutzproramm Avira Antivir Personal herunterladen (larr Tab 1) installieren und ak-tualisieren

Uumlber Windows Update alle Updates von Windows XP Professional installieren

Fernwartungssoftware TeamViewer 6 Vollversion (larr Tab 1) herunterladen und auf dem RCL-Server und dem eigenen Computer installieren (rarr 455)

Webeditor Notepad++ herunterladen installieren und aktualisieren (larr Tab 1)

Videoserver WebcamXP 5 herunterladen und installieren (rarr 453)

Paket XAMPP herunterladen und installieren (rarr 452) Verknuumlpfungen mit den Dateien xampphtdocsapache_startbat und xampphtdocsapache_stopbat auf dem Desktop oder in der Schnellstartleiste erstellen und Webserver mit erstgenannter Verknuumlpfung starten Webserver durch Eingabe von 127001 oder localhost ins Adressfeld des Brow-sers testen Bei erfolgreichem Test werden die im Ordner xampphtdocs abgelegten Webseiten von XAMPP dargestellt Statische IP-Adresse des RCL-Servers im Browser eines anderen Computers mit Internetzugang eingegeben Bei erfolgreichem Test werden die Webseiten von XAMPP dargestellt In der Datei xamppphpphpini unter Resource Limits die max_execution_time mit dem Windows-Editor von 60 auf 300 erhoumlhen und die

27

Datei speichern damit PHP bei Befehlen mit laumlngerer Ausfuumlhrungsdauer keine Fehler-meldung liefert

Ordner xampphtdocs mit den Webseiten von XAMPP in xampphtdocs_xampp um-benennen und fuumlr spaumltere Testzwecke nicht loumlschen RCL-Ordner htdocs herunterladen (larr Tab 1) extrahieren und in das Verzeichnis xampp verschieben

Abb 16 zeigt die Struktur des RCL-Ordners htdocs

Abb 16 Struktur des RCL-Ordners htdocs RCL-spezifisch anzupassende Dateien sind grau

hinterlegt

Der geoumlffnete Ordner Labor enthaumllt alle PHP- und HTML-Dateien bzw Programmierungen fuumlr die Funktionalitaumlt des Bedienfelds der Laborseite (larr 11 Abb 3) An das RCL anzupas-sen sind die portalsprachenunabhaumlngigen Dateien configphp und experimentphp sowie fuumlr jede Portalsprache die Dateien defaultconf und experimenttpl in den Ordnern eng fra ger und ita

Datei configphp Zeit bis zum automatischen Logout beim Experimentieren mit dem RCL eintragen

Datei experimentphp PHP-Basisprogrammierung um die RCL-spezifische PHP-Programmierung erweitern (rarr 432)

Datei defaultconf Name des RCLs (z B Elektronenbeugung) in jeder Portalsprache ein-getragen

Datei experimenttpl HTML-Basisprogrammierung um RCL-spezifische Ein- und Ausga-befelder erweitern (rarr 433)

28

32 Laborseite 321 Steuerung des RCLs uumlber das Bedienfeld Das Bedienfeld der Laborseite (larr 11 Abb 3) wird von der Dateien indexphp und experi-menttpl erzeugt Befehle wie das Anklicken von Buttons Eingaben und Auswahl aus Listen werden in ein HTML-Formular mit Formularfeldern in der Datei experimenttpl geschrieben Die Daten werden von der PHP-Datei experimentphp ausgewertet und uumlber die serielle Schnittstelle dem Mikrocontroller-Programm zur Steuerung des Experiments uumlbergeben Die Dateien experimentphp und experimenttpl wurden getrennt angelegt um Code und Design zu trennen und nur das Design in der Datei experimenttpl an die Portalsprache anpasst werden muss

Tab 5 enthaumllt Ausschnitte der HTML-Datei experimenttpl (rarr 433) der Datei experi-mentphp (rarr 432) und des Mikrocontroller-Programms (rarr 431) fuumlr das RCL Elektronen-beugung

29

Code mit Erlaumluterung

expe

rimen

ttpl

1821 Tag ltformgtltformgt definiert ein Formular 18 Attribut action legt fest dass Formulardaten in der Datei indexphp verarbeitet werden Uumlbertragen

werden eine Session-ID ($sid) um exklusiven Zugriff des jeweilgen Besuchers zu sichern und ($portal) um die vom Besucher gewaumlhlte Sprache beizubehalten post ist eine Uumlbertragungsmethode zwischen Browser und Webserver und gibt die die vom Besucher gewaumlhlte Aktion zum Ansteuern des Experiments an die Datei experimenttpl weiter

20 Erzeugt im Bedienfeld den Sendebutton (submit) mit der Aufschrift Elektronenroumlhre einschalten (valu-e)

19 Unsichtbares Feld (hidden) mit Variablennamen action und Wert RoumlhreAn Der Variablenname ac-tion stimmt nur zufaumlllig mit action in Zeile 18 uumlberein

expe

rimen

tphp

24 Die Funktion wird als Eventhaumlndler bezeichnet weil je nach uumlbergebener Aktion - siehe Zeile 19 in experi-

menttpl - die entsprechenden Anweisungen (case) ausgefuumlhrt werden 37 Fuumlr den Fall dass die Variable $action den Wert RoumlhreAn hat wird die Funktion power_on() aufgeru-

fen

59 Schreibt in die Logdatei logtxt den Text RoumlhreAn 6061 Oumlffnet den in der Datei configphp zentral gespeicherten Com-Port an den das Interface angeschlossen ist

oder gibt Fehlermeldung Can not access file system im Bedienfeld aus falls der Com-Port sich nicht oumlff-nen laumlsst

62 Sendet die Zeichenfolge On und chr(13) (entspricht der Betaumltigung der Return-Taste im Hyperterminal) an den Mikrocontroller

63 Schlieszligt serielle Schnittstelle

Que

llcod

e M

ikro

cont

rolle

r

166 Wird uumlber die serielle Schnittstelle der Befehl on empfangen und ist das Einschalten zulaumlssig (Zeiten fuumlr

PowerOnDelay und Standby abgelaufen) dann hellip 167 Hochspannungsnetzgeraumlt einschalten 168 Der DA-Wandler PCF8591 wird unter seiner Adresse PCF8591 = 01001000 angesprochen Parameterein-

stellungen mit 01000000 und Ausgangsspannung auf 0 V einstellen 169 Setzt Standby auf vorgegebene Standbyzeit zuruumlck 171 Gibt Meldung aus wie lange PowerOnDelay noch dauert

Tab 5 Uumlbertragung des Befehls Elektronenroumlhre einschalten vom Bedienfeld zum Experi-ment

30

Anhand der Erlaumluterungen der Programmcodes koumlnnen die Ablaumlufe zwischen dem Druumlcken des Buttons Elektronenroumlhre einschalten und dem Einschalten der Elektronenbeugungs-roumlhre oder der Eingabe einer Beschleunigungsspannung und dem Anlegen einer Beschleu-nigungsspannung verfolgt werden Uumlber das Bedienfeld koumlnnen nur die von der Datei expe-rimenttpl bereitgestellten Befehle on und da der insgesamt implementierten Befehle (rarr 22 Abb 10) aufgerufen werden

322 Videouumlbertragung im Webcamfeld Zur Aufnahme von Livebildern des Experiments koumlnnen USB-Webcams und IP-Kameras (Netzwerkkameras) eingesetzt werden Teurere IP-Kameras muumlssen eingesetzt werden wenn die Kamera wie z B beim RCL Roboter im Labyrinth zu weit vom Computer entfernt ist oder eine besonders lichtempfindliche Kamera aus der Uumlberwachungstechnik wie z B beim RCL Millikan-Versuch benoumltigt wird W-LAN-Kameras kommen zum Einsatz wenn Bil-der von einem beweglichen Objekt aus wie z B beim RCL Roboter im Labyrinth uumlbertra-gen werden sollen

Das Videoserverprogramm webcamXP 5 erkennt beim Aufrufen automatisch an den RCL-Server angeschlossenen USB-Webcams Vor dem Kauf einer IP-Kamera ist zu pruumlfen ob das Modell unterstuumltzt wird14 IP-Kameras muumlssen im Kontextmenuuml der Videoquelle konfigu-riert werden Abb 17 zeigt das Webcambild einer USB-Webcam vom Szintillationsschirm der Elektronenbeugungsroumlhre

Abb 17 Webcambild des Szintillationsschirms der Elektro-

nenbeugungsroumlhre einer USB-Webcam in webcamXP 5 beim RCL Elektronenbeugung

14 Vgl Moonware Studios webcamXP IP-cameras for webcamXP

31

Zum Einbinden des Webcambilds in die Laborseite des RCLs wird die laborsprachenabhaumln-gige Datei videohtm (rarr 434) in den Ordnern eng fra ger und ita verwendet Standardmauml-szligig werden zwei Webcambilder und Screenshots unterstuumltzt der Code fuumlr weitere Webcam-bilder kann durch copy and paste hinzugefuumlgt werden

Unter den Technologien Java Javaskript Flash und Windows Media fuumlr die Wiedergabe ei-nes Livestreams auf eine Webseite wurde Javaskript gewaumlhlt weil die anderen Technologien die Installation des Java Runtime Environments (JRE) des Flash- oder Windows Media Players durch den Besucher eines RCLs voraussetzen Die Wiedergabe des Livestreams mit einem Java-Applet startet zudem erst verzoumlgert nachdem das Applet geladen ist und verfuumlgt uumlber eine zu geringe Wiedergabegeschwindigkeit

33 Standard-Lernumgebung Bestandteil der Entwicklung eines RCLs ist die Erstellung einer Standard-Lernumgebung zum RCL Abb 18 zeigt exemplarisch fuumlr die deutschen Webseiten im Ordner ger das Menuuml (larr 11 Abb 3) und die Dateistruktur der Standard-Lernumgebung

Abb 18 Deutschsprachiges Menuuml und Dateistruktur der Standard-Lernumgebung

RCL-spezifisch anzupassende Dateien sind grau hinterlegt

Die englischen Dateinamen introductionhtm setuphtm hellip im Ordner ger korrespondieren mit den deutschen Menuumlpunkten Wird das RCL unter dem Menuumlpunkt RCLs des RCL-Portals aufgerufen dann ruft die Frameset-Datei indexhtm die Dateien menuumlhtm und intro-ductionhtm auf und das Menuuml wird zusammen mit der Webseite Einstieg dargestellt Die Wahl weiterer Menuumlpunkte ruft jeweils die korrespondiere Datei im Ordner auf Bei Wahl des Menuumlpunkts Labor werden mit der Frameset-Datei laboratoryhtm die Dateien videohtm fuumlr das Webcamfeld und die Datei laborindexphp fuumlr das Bedienfeld aufgerufen

32

Im Ordner docsmaterial werden alle Dokumente fuumlr die Webseite Material im Ordner docsothers die Dokumente anderer Webseiten abgelegt Im Ordner docsoriginals sind die Originale von Dokumenten wie z B Word-Dateien und der verwendeten Bilder abgelegt Grafikdateien der Webseiten Einstieg hellip Auswertung hellip Betreuung werden in gleichnami-gen Ordnern wie z B imagesanalysis abgelegt Bei sprachenunabhaumlngigen Grafikdateien wird unter dem Dateinamen abbx bei sprachenabhaumlngigen unter dem Dateinamen abbx_lan mit lan = eng fra ger und ita gespeichert Analoges gilt fuumlr die als gif-Grafiken forxgif oder forx_langif zu speichernden Formeln Originale von Bildern werden im Ordner imagesoriginals abgelegt Die Webseite zur Datei htdocsindexhtm enthaumllt zum lokalen Aufrufen der Standard-Lernumgebung Links zu den vier Index-Dateien in den Ordnern eng fra ger und ita Die Stylesheet-Datei htdocsrcl_stylecss enthaumllt die Styles der Webseiten

In der Regel werden Standard-Lernumgebungen der RCLs des RCL-Portals von verschiede-nen Personen erstellt Fehlende Gestaltungs- und Formatierungsregeln fuumlhren zu einem un-einheitlichen inattraktivem Erscheinungsbild des RCL-Portals Tab 6 gibt einen Uumlberblick der wichtigsten Gestaltungs- und Formatierungsregeln

Element Richtlinien

Gliederung

Die Webseiten Einstieg Aufbau Aufgaben Diskussion Material und Support enthalten vorgegebene Gliederungspunkte teilweise mit ausgefuumlhrten Uumlberschriften

Die umfangreicheren Webseiten Theorie und Auswertung enthalten ein Inhaltsverzeichnis mit internen Links zu Gliederungspunkten Zwischen Punkten der ersten Gliederungsebene (1 2 hellip) ist ein zwei-zeiliger Abstand (ltpgtampnbspltpgtltpgtampnbspltpgt) zwischen Punkten der zweiten (11 12 hellip) und Punkten der nur falls unbedingt notwendig dritten 111 112 hellip) Gliederungsebene ein einzeiliger Abstand zu waumlhlen Nach Abbildungen und Tabellen folgt ein einzeiliger Abstand zum nachfolgenden Text

Links Keine internen Links zwischen den Webseiten der Lernumgebung Externe Links werden prinzipiell in einem neuen Browserfenster geoumlffnet (blank)

Abbildung

Alle Abbildungen erhalten fortlaufend beginnend mit 1 nummerierte Abbildungsunterschriften der Form Abb x hellip

Abbildungen sind moumlglichst spachenunabhaumlngig d h ohne Texte in der Abbildung zu erstellen Zur Beschriftung koumlnnen z B Zahlen verwendet werden die in der Abbildungsunterschrift oder im Text er-laumlutert werden

Tabellen Tabellen werden in jeder Webseite fortlaufend beginnend mit 1 nummeriert Tabellen sind zu zentrieren Rahmenstaumlrke 1

Formeln

Formeln sind nicht als Textzeichen oder Grafik im laufenden Text einzufuumlgen sondern stets zentriert in einer eigenen Zeile als gif-Grafik

Zum Erstellen der Formel-Grafiken eignet sich z B der Formel-Editor MathType15 mit der Aufloumlsungs-Einstellung 120 dpi fuumlr InternetGif

Formeln brauchen im Rahmen des begrenzten Umfangs der Webseiten nicht nummeriert zu werden Groumlszligen-symbole

Griechische Groumlszligensymbole und mathematische Symbole sind nicht als Grafiken im laufenden Text sondern als HTML-Code einzufuumlgen Eine Zeichenreferenz findet sich bei Selfhtml16

Styles Zur Formatierung der Webseiten werden aus der Stylesheet-Datei nur die drei Styles Uumlberschrift fuumlr

die Uumlberschriften Bildunterschrift fuumlr Abbildungs- und Tabellenunterschriften und Tabellentext fuumlr Tex-te in Tabellen benoumltigt

Tab 6 Richtlinien zur Gestaltung und Formatierung der Standard-Lernumgebung

Detailliertere Informationen zum Layout der Standard-Lernumgebung koumlnnen dem RCL-Ordner und dem Erscheinungsbild der Webseiten von RCLs in Browsern entnommen wer-den

15 Vgl Design Science MathType 16 Vgl Selfhtml HTML-Zeichreferenz

33

4 ANHANG

34

41 Interface in Basisschaltung 411 Schaltplan und Bauteilliste Abb 19 zeigt den Schaltplan der Basisschaltung des Interface und Tab 7 die dazugehoumlrige Bauteilliste

Abb 19 Basisschaltung des Interface

Nr Anzahl Kurzbeschreibung des Bauteils Best-Nr bei Reichelt electronic

Einzelpreis in euro

0 1 Epoxyd-Platine (190x112 mm) mit Anteil Loumltpunktraster (Spezi-

alanfertigung) - asymp 10

1 1

Epoxyd-Fotoplatine einseitig 160x100 mm 15 mm 35 microm Epoxyd-Lochrasterplatine 160x100 mm 15 mm 35 microm

BEL 160x100-1 UP 832EP

170 420

1 1 Hohlstecker-Einbaubuchse gewinkelt Loumltfahnen 21 mm HEBW 21 018 2 1 D-SUB-Stecker 9-polig gewinkelt RM 94 D-SUB ST 09EU 029 3 1 Schottky Diode DO41 40 V 1 A SB 140 008 4 1 Draht von abgeschnittenem Beinchen aus Pos-Nr 3 - - 5 1 IC-Sockel 16-polig superflach gedreht vergoldet GS 16P 029 6 1 IC-Sockel 40-polig superflach gedreht vergoldet GS 40P 061 7 1 2x10-pol-Stiftleiste gerade RM 254 SL 2X10G 254 007 8 1 Metallschichtwiderstand 100 kΩ Metall 100k 0082 9 1 Elektrolytkondensator 10x16 mm 470 microF RM 50 mm RAD 47025 006 10 1 Elektrolytkondensator 63x11 mm 100 microF RM 25 mm RAD 10016 004 11 5 Elektrolytkondensator 5x11 mm 10 microF RM 20 mm RAD 1035 004 12 2 Keramik-Kondensator 33 pF Kerko 33p 006 13 3 Vielschicht-Keramikkondensator 100 nF 20 Z5U-25 100n 004

35

14 1 Standardquarz Grundton 110592 MHz 110592-HC49U-S 018 15 1 Spannungsregler 1 A positiv TO-220 microA 7805 028 16 1 Kuumlhlkoumlrper fuumlr Gehaumluse TO-220 99KW V FI356 066 17 1 Zylinderkopfschraube Schlitz M3 10 mm fuumlr Kuumlhlkoumlrper M3x10mm 160 18 2 Sechskantmutter M3 fuumlr Kuumlhlkoumlrper SK M3 001 19 1 Stecker-Schaltnetzteil 12 V 2250 mA MW 3IP25GS 1150 20 1 RS232-Driver DIL-16 MAX 232 CPE 041 21 1 ATmega AVR-RISC-Controller DIL-40 ATmega16-16 DIP 420 22 3 10-poliger Wannenstecker RM 254 stehend (optional) WSL 10G 009 23 1 14-poliger Wannenstecker RM 254 stehend (optional) WSL 14G 014 24 1 40-polige Stiftleiste 1-reihig gerade RM254 (optional) SL 1x40G 254 023 25 1 Kunststoffgehaumluse 1982x1124x760 mm (Serientyp 202) - asymp 10 euro 26 1 D-SUB Nullmodem-Kabel 9-pol BUBU 3 m AK 143 155 27 x DIN-Einbaubuchse 5-pol Schraubver 360deg (optional) DIO-50W EMS 185 28 x DIN-Einbaubuchse 8-polig Schraubversch 270deg (optional) DIO-80SN EMS 180 29 x Pfostenstecker 10-polig mit Verrieglung gew (optional) PSL 10W 028 30 x Klemmleiste RM 254 Oumlffnungshebel 8-polig (optional) Wago 233 220

Tab 7 Bauteilliste mit Bestellnummer und Einzelpreisen der Bauelemente bei Reichelt electronic (Stand 23102010)

Anhand der Bauteilliste in koumlnnen die elektronischen Bauelemente der Basisschaltung (larr Tab 7 Nr 0 ndash 21 optional Nr 22 - 24) bei Reichelt electronic bestellt werden Das Gehaumluse des Interface (larr Tab 7 Nr 25) sollte vom Hersteller HAGOTECH GmbH bezogen werden Weiterhin wird ein Nullmodemkabel (larr Tab 7 Nr 26) zur Verbindung des Interface mit dem Computer benoumltigt Sensoren und Aktoren des Experiments koumlnnen mit optionalen Steck-verbindern (larr Tab 7 Nr 27 - 30) und entsprechende Kabelverbindungen an das Interface angeschlossen werden Die Nummern 0 - 25 stimmen mit der angegebenen Bestuumlckungs-reihenfolge auf der Platine uumlberein Das Interface kostet in der Basisschaltung ca 50 euro

412 Bestuumlckung der Platine Abb 20 zeigt zur Bestuumlckung der Platine benoumltigte Werkzeuge

Abb 20 Werkzeuge zur Bestuumlckung der Platine des Interface

36

Loumltkolben mit feiner Spitze in Meisselform 2 mm oder Loumltstation (1) Loumltzinnabsauger zum Entfernen von Loumltzinn (2) Nasser Schwamm zum Reinigen der Spitze des Loumltkolbens (3) Loumltzinn mit Durchmesser 08 - 10 mm (4) Flachspitzzange zum Biegen von Anschluumlssen der Bauelemente (5) Seitenschneider zum Kuumlrzen der Beinchen von Bauelementen (6) Multimeter zum Pruumlfen der Funktionsfaumlhigkeit der Schaltung (7) Sekundenkleber zur Befestigung von Bauelementen Kleine Bohrmaschine z B von Dremel und 08 mm Bohrer oder duumlnne Rundfeile zum

Weiten von Loumlchern auf der Platine des Interface

Abb 21 zeigt die Platine des Interface von der Loumltseite in der Spezialanfertigung der Elekt-ronik-Werkstatt an der Technischen Universitaumlt Kaiserslautern und in der Selbstbauvariante (larr Tab 7 Nr 0) Abb 22 zeigt das Platinenlayout

Abb 21 Platine des Interface von der Loumltseite als Spezialanfertigung (links) und der Selbstbauvariante

(rechts)

Abb 22 Layout zur Herstellung des geaumltzten Teils der

Platine in der Selbstbauvariante

37

In der Selbstbauvariante kann anhand des Platinenlayouts eine selbst geaumltzte Platine fuumlr die Basisschaltung auf einer Platine im Europakartenformat hergestellt und diese in der Laumlnge gekuumlrzt werden Eine gekuumlrzte Lochrasterplatine bildet den zweiten Teil der Platine Mit den optionalen vier Wannensteckern (larr Tab 7 Nr 22 - 23) oder den vier Stiftleisten (larr Tab 7 Nr 24) an den Ports des Mikrocontrollers koumlnnen leicht elektrische Verbindungen zum Rasterteil der Platine herstellt werden Abb 23 zeigt die fertig bestuumlckte Platine mit den Nummern aus Tab 7

Abb 23 Bestuumlckte Platine des Interface mit nummerierten Bauelementen

Tab 8 beschreibt das Einloumlten der elektronischen Bauelemente anhand der Nummern aus Tab 7 und in der angegebenen Reihenfolge

Nr Bauelement Beschreibung des Einbaus

0 Spezialanfertigung und Selbst-bauvariante der Epoxydharz-

Platine

1

Stromversorgungsbuchse ndash Hohlstecker 21 mm

Wenn die Loumltbeine nicht durch die Loumlcher der Platine passen die Loumlcher mit einer runden Schluumlsselfeile aufweiten

Stromversorgungsbuchse mit Sekundenkleber vor dem Festloumlten auf der Pla-tine fixieren da diese mechanischen Belastungen durch das Einstecken und Herausziehen des 12 V -Steckers ausgesetzt ist

Wahlweise kann die 25 mm-Version der Buchse verwendet werden

2

RS232 Datenstecker

RS232 Datenstecker mit Sekundenkleber vor dem Festloumlten auf der Platine fixieren da dieser mechanischen Belastungen durch das Einstecken und Herausziehen des Null-Modem-Kabels ausgesetzt ist

Alle Beinchen und Befestigungsstifte zur houmlheren Stabilitaumlt anloumlten

3

Ein Ring an einer Seite der Diode (hier links weiszlig) zeigt die Durchlass- bzw Sperrrichtung der Diode an Die Position des Ringes entspricht der Position des Balkens im Schaltungssymbol

38

Diode ndash SB140 Auf der Platine muss der Ring auf der von der Stromversorgungsbuchse ab-

gewandten Seite liegen

4 Drahtbruumlcke

Vor dem Einloumlten des 40-poligen IC-Sockels (Nr 5) muss eine Drahtbruumlcke unter diesem eingeloumltet werden Dazu koumlnnen die abgeschnittenen Beinchen der bereits eingeloumlteten Diode (Nr 3) verwendet werden

5 6

IC-Fassungen

Die 16-polige und 40-polige IC-Fassungen besitzen eventuell eine Markie-rung fuumlr Pin1 (z B Kerbe in der Stirnseite Punkt Pfeilhellip) als Hilfe fuumlr das richtige Einstecken der ICs Die Markierungen muumlssen bei beiden Fassungen nach oben also zum naumlchstliegenden Rand der Platine zeigen

Die ICs unbedingt noch nicht einstecken

7

ISP-Stiftleiste

Die doppelreihige ISP-Stiftleiste dient der Programmierung des Mikrocontrol-lers mit dem AVR-ISP-Programmer (ISP steht fuumlr In System Programming)

ISP-Stiftleiste auf 2 x 5 Stifte kuumlrzen und mit den kurzen Beinchen einloumlten so dass auf die langen Stifte der AVR-ISP-Programmer gesteckt werden kann

8

Widerstand 100 kΩ

Den 100 kΩ-Widerstand rechts neben der ISP-Stiftleiste einloumlten

9

10

11

Elkos

Bei den verwendeten Elektrolyt-Kondensatoren ist die Polung zu beachten (langes Beinchen = Plus-Pol) Weiterhin ist auf den Kondensatoren ein wei-szliger Streifen mit Minus-Zeichen aufgedruckt Die Kondensatoren sollten eine Spannungsfestigkeit von mindestens 16 V besser 25V besitzen

Auf der Kupferseite der Platine zeigt die Form der Loumltaugen die Polung an Rundes Loumltauge = Plus quadratisches Loumltauge = Minus

Der 470 microF Kondensator wird mit dem weiszligen Streifen in Richtung Stromver-sorgungsbuchse direkt unter diese montiert

Der 100 microF Kondensator sitzt direkt unter der 16-poligen IC-Fassung Sein weiszliger Streifen (Minus-Pol) zeigt in Richtung der Stromversorgungsbuchse

Vier der 10 microF Kondensatoren werden links neben der 16-poligen IC-Fassung montiert Deren Polung ist wie folgt Unterster Kondensator Minus nach oben naumlchster Kondensator Minus nach unten die beiden oberen Kondensatoren mit Minus nach oben

Ein weiterer 10 microF Kondensator wird rechts neben die 16-polige IC-Fassung geloumltet Sein Minus-Streifen zeigt nach unten

12

13

Keramik-Kondensatoren

Die Beschriftung 104 bedeutet 10e4 pF = 100 nF Die beiden 33 pF-Kerkos (Keramik-Kondensatoren) werden direkt nebenei-

nander rechts neben die 16-polige IC-Fassung geloumltet Zwei 100 nF-Kondensatoren werden unter dem 470 microF-Elko eingeloumltet ein

weiterer mittig an der linken Seite der 40-poligen IC-Fassung

14

Quarz

Als Quarz wird ein 110592 MHz-Typ verwendet Bei dieser Frequenz ist eine fehlerfreie Kommunikation uumlber RS232 mit 9600 Baud moumlglich Fuumlr den AT-mega16 koumlnnen Quarze bis 16 MHz eingesetzt werden Details siehe Daten-blatt

Der Quarz wird direkt rechts neben die beiden 33 pF-Kerkos geloumltet Die Ori-entierung des Quarz spielt keine Rolle

15

16

17

18

Der Spannungsregler L7805 erzeugt eine stabilisierte Spannung von 5 V Es muss ein Kuumlhlkoumlrper zur Waumlrmeabfuhr vom Spannungsregler verwendet werden

Vor dem Einloumlten zwischen Spannungsregler und Kuumlhlkoumlrper etwas Waumlrme-leitpaste aufgetragen Beide Bauteile fest mit einer Schraube M3x10 und ei-ner 1 Mutter verschrauben

Dann den Spannungsregler einloumlten um 90deg abzubiegen das uumlberstehende Gewinde durch das vorgesehene Loch stecken und alles mit einer 2 Mutter auf der Platine befestigen

1 Mutter

2 Mutter

Schr

aube

L7805

Platine

KuumlhlkoumlrperWaumlrmeleitpaste

Beinchen

Loumlten

39

Spannungsregler L7805 Kuumlhl-koumlrper und Montage

19

Steckernetzteil

Funktionskontrolle vor dem Einsetzen des Mikrocontrollers Polung der Elektrolyt-Kondensatoren (Elkos) pruumlfen Sind alle Beinchen angeloumltet Hat das Loumltzinn an den Beinchen und der Pla-

tine guten Kontakt Sind eventuell zwei benachbarte Beinchen unbeabsichtigt durch Loumltzinn verbunden Alle Loumltverbindungen nochmals genau z B mit ei-ner Lupe pruumlfen

Probeweise das Stecker-Netzteil an die Buchse anschlieszligen Am 100 nF-Kondensator links mittig der 40-poligen IC-Fassung muumlssen 5 V anliegen

Versorgungsspannung unbedingt wieder von der Platine trennen

20

21

ICs MAX232 und ATmega16

Die Nuten auf den ICs am linken Rand muumlssen nach oben zeigen d h Pin1 ist bei beiden ICs in der Abbildung links unten und auf der Platine oben links

Manchmal passen die Beinchen der ICs nicht in die Fassung weil die Fas-sung scheinbar zu schmal ist Dann den IC seitlich mit einer Beinchen-Reihe flach auf den Tisch legen den IC-Koumlrper links und rechts greifen und Bein-chen durch leichten Druck biegen Einzelne verbogene Beinchen vorsichtig mit einer kleinen Flachzange richten

22

23

Wannenstecker 10- und 14-polig

Wannenstecker an den vorgesehe-nen Stellen mit der Nut gegen Ver-polung in Richtung des naumlherliegen-den Platinenrands einloumlten

Die Abbildung rechts zeigt die Pin-Belegung der Wannenstecker

24

Stiftleiste 8-polig 40-pol Stiftleiste in 4 jeweils 8-polige Stuumlcke zerteilen und einloumlten

25

Kunststoffgehaumluse

In der Selbstbauvariante der Platine (Nr 0) vor dem Einsetzten der Platine in das Gehaumluse passend positionierte Kunststoffstege am Gehaumluseboden fest-kleben

Tab 8 Bestuumlckung der Platine des Interface mit Bauelementen

42 Erweiterungsschaltungen 421 Uumlbersicht In Tab 3 sind von RCLs des RCL-Portals Sensoren und Aktoren mit den dazugehoumlrigen Er-weiterungsschaltungen zusammengestellt Da alle RCLs obligatorisch uumlber mindestens eine Webcam verfuumlgen sind diese unter den Sensoren nicht aufgefuumlhrt Die wenigen Erweite-rungsschaltungen fuumlr Sensoren sind unter Sensoren in Klammern aufgelistet Unter Aktoren werden auszliger elektro-mechanischen Wandlern auch gesteuerte Geraumlte oder Bauelemente verstanden Anzeigeinstrumente sind unter Aktoren nur aufgefuumlhrt wenn sie direkt vom In-terface gesteuert werden Mit gekennzeichnete Erweiterungsschaltungen befinden sich au-szligerhalb des Interface

40

RCL Sensoren Aktoren Erweiterungsschaltungen fuumlr Aktoren

Beugung und Interferenz I Referenz-Taster

Schrittmotor (Rotation) Schrittmotorsteuerung Laser-Modul Geschaltete Spannungsversorgung

Beugung und Interferenz II

4 Referenz-Taster Lichtsensor

4 Schrittmotoren (Translation) 4 Schrittmotorsteuerungen 5 Laser-Module Geschaltete Spannungsversorgung LED fuumlr Position des

Lichtsensors Geschaltete Spannungsversorgung

LED fuumlr Linealbeleuchtung Geschaltete Spannungsversorgung

Elektronen-beugung

Hochspannungsnetzgeraumlt Geschaltete Spannungsversorgung Hochspannungsnetzgeraumlt Steuerung der Hochspannung

Fotoeffekt 2 Referenz-Taster Photozelle

2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen

Quecksilberdampflampe Geschaltete Spannungsversorgung

der Drossel fuumlr Quecksilberdampf-lampe

Halbleiter-kennlinien

und Halbleiterkennli-nien - Schuumller-

projekt

Referenz-Taster

Schrittmotor (Rotation) Schrittmotorsteuerung Oszilloskop Geschaltete Spannungsversorgung

Oszilloskop Instrumentenverstaumlrker fuumlr X- und Y-Ablenkung

Multimeter Steuerung Spannungs- oder Strom-anzeige

Heiszliger Draht 4 Endtaster 4 Drehgeber Kurzschlusssensor

4 Gleichstrommotoren 4 Treiber

Zweifarbige LED Steuerung der LED-Farbe

Lichtgeschwin-digkeit

Drehimpulsgeber 2 Taster an Enden

der Eisenbahnstre-cke

2 Schrittmotoren 2 Schrittmotorsteuerungen Oszilloskop Geschaltete Spannungsversorgung

Motor der Lokomotive Steuerung des Ein- und Ausschal-tens und der Bewegungsrichtung

Maut Infrarot-Sensor Gleichstrommotor Geschaltete Spannungsquelle 2 IR-Fernbedienungen Spannungsregler 2-stellige 7-Segmentanzeige LED-Treiber

Millikan-Versuch 2 Referenz-Taster

2 Schrittmotoren 2 Schrittmotorsteuerungen Lichtquelle (LED) fuumlr Millikan-

Kondensator Geschaltete Spannungsversorgung

Airbrush-Kompressor Geschaltete Spannungsversorgung Magnetventil Geschaltete Spannungsversorgung Millikan-Kondensator Gesteuertes Hochspannungsmodul

Optische Com-putertomogra-

phie

2 Referenz-Taster 2 Lichtsensoren

Schrittmotor (Rotation) Schrittmotorsteuerung Schrittmotor (Translation) Schrittmotorsteuerung

2 Laser-Module 2 geschaltete Spannungsversor-gungen

Optische Fou-rier-

Transformation 2 Referenz-Taster

2 Schrittmotoren (Translation) 2 Schrittmotorsteuerungen

Laser-Modul Geschaltete Spannungsversorgung

Oszilloskop Oszilloskop Geschaltete Spannungsversorgung Signalgenerator Steuerung der Signalart

Radioaktivitaumlt 4 Referenz-Taster Geiger-Muumlller-

Zaumlhlrohr

2 Schrittmotoren (Translation) 2 Schrittmotorsteuerungen 2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen 4-stellige 7-Segment-Anzeige Treiber Elektromagnet Geschaltete Spannungsversorgung

Roboter im Labyrinth Infrarot-Sensor

2 Schrittmotoren 2 Schrittmotorsteuerung Infrarot-Sender Treiber

Rutherfordscher Streuversuch

2 Referenz-Taster Halbleiterdetektor

(Impulsformer)

2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen

4-stellige 7-Segment-Anzeige Treiber

Weltpendel

Referenz-Taster Lichtsensor der

Lichtschranke (Im-pulsformer)

Temperatursensor

Schrittmotor (Translation) Schrittmotorsteuerung Elektromagnet Geschaltete Spannungsversorgung

Laser der Lichtschranke Geschaltete Spannungsversorgung

Windkanal Referenz-Taster Schrittmotor (Translation) Schrittmotorsteuerung

41

Dehnungsmess-streifen (Wheat-stonesche Bruumlcke Messverstaumlrker Multimeter)

Geblaumlsemotor Geschaltete Spannungsversorgung

und Ansteuerung mit Pulsweiten-modulation

Anemometer Geschaltete Spannungsversorgung Multimeter Geschaltete Spannungsversorgung

Tab 9 Sensoren Aktoren und Erweiterungsschaltungen der RCLs des RCL-Portals

422 TMC222-Modul zur Schrittmotorsteuerung 4221 Schaltplan und Bauteilliste Abb 1 zeigt die Beschaltung des TMC222 von Trinamic auf dem TMC222-Modul

Abb 24 Beschaltung des TMC222 von Trinamic

Anhand der Bauteilliste in Tab 10 koumlnnen die elektronischen Bauelemente des TMC222-Moduls bei Reichelt electronic bestellt werden Ein TMC222-Modul kostet ungefaumlhr 10 euro

Nr Anzahl Kurzbeschreibung des Bauteils Best-Nr bei Reichelt electronic

Einzelpreis in euro

0 1 Epoxyd-Fotoplatine einseitig 75x100 mm 15 mm 35 microm BEL75X100-1 096 1 1 Integrierter TMC-Schrittmotor-Controller TMC 222 SI asymp 7 2 1 Elektrolytkondensator 8x11 mm Rm 35 mm 100 microF35 V RAD 10035 004 3 1 Tantal-Kondensator Rm 25 10 microF35 V Tantal 1035 014 4 2 Vielschicht-Keramikkondensator 220 nF 20 Z5U-25 220N 011 5 3 Vielschicht-Keramikkondensator 100 nF 20 Z5U-25 100N 004 6 2 Metallschichtwiderstand 100 kΩ Metall 100K 0082 7 1 1x36pol Stiftleiste gewinkelt Rm 254 SL 1X36W 027 8 1 1x36pol Buchsenleiste gerade Rm 254 BL 1X36G 025

Tab 10 Bauteilliste mit Bestellnummer und Einzelpreisen der Bauelemente bei Reichelt electronic (Stand 23102010)

4222 Bestuumlckung der Platine

42

Abb 25 zeigt die fertig bestuumlckte Platine mit den Nummern aus Tab 10

Abb 25 Bestuumlckte Platine des TMC222-Moduls

mit nummerierten Bauelementen

Die Platine (35 mm x 30 mm) kann anhand des Layouts in Abb 26 hergestellt werden Der IC TMC222 wird auf der Loumltseite der Platine aufgeloumltet Das TMC222-Modul kann mit der Stiftleiste (larr Tab 10 Nr 7) in eine Buchsenleiste (larr Tab 10 Nr 8) auf die Platine des In-terface gesteckt werden

Abb 26 Platine des TMC222-Moduls von der Loumltseite (links) und Layout

4223 Quellcode des Mikrocontroller-Programms Im Folgenden ist ein mit Bascom (larr 12 Tab 1 Entwicklungsumgebungen) erstelltes Bei-spiel-Programm zur Ansteuerung des Schrittmotormoduls TMC222 durch den Mikrocontroller ATmega16 angegeben $regfile = m16DEFdat $crystal = 11059200 $baud = 9600 Definitionen Config Scl = Portc0 Taktleitung Config Sda = Portc1 Datenleitung Const Adress = ampB11000000 I2C Adresse des TMC222 Const GetFullstatus1 = ampB10000001 Kommando des TMC222 Const Resetpos = ampB10000110 Kommando des TMC222 Const Motorparameter = ampB10001001 Kommando des TMC222 Const Setposition = ampB10001011 Dim Puffer(10) As Byte

43

Programm I2csend Adress GetFullstatus1 GetFullstatus1 (Initialisierung des TMC222) I2creceive Adress 7 Ack Daten in Puffer auslesen Puffer(1) = Motorparameter puffer auffuumlllen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB11110011 1111irun 0011ihold Puffer(5) = ampB01110001 0111vmax 0001vmin Puffer(6) = ampB00010000 000securepos(bit10-8) 1shaft 0000acceleration Puffer(7) = 0 securepos(bit7-0) Puffer(8) = ampB00001100 000nicht belegt 0accshape 11stepmode 00nicht belegt I2csend Adress Puffer(1) 8 I2csend Adress Resetpos aktuelle Position auf 0 setzen Puffer(1) = Setposition Motor bewegen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB01111111 position(bit 15-8) Puffer(5) = ampB11111111 position(bit 7-0)acute I2csend Adress Puffer(1) 5 End

423 Geschaltete Spannungsquellen und Verbraucher Die Ausgaumlnge des Mikrocontrollers duumlrfen nur mit Stroumlmen kleiner als ungefaumlhr 20 mA belas-tet werden Verbraucher mit einer Stromlast groumlszliger als 20 mA koumlnnen daher nicht direkt an den Mikrocontroller angeschlossen werden Abb 27 zeigt links eine Schaltung zum Schalten eines Verbrauchers wie z B des Relais und rechts eine Schaltung mit dem IC ULN2803A zum Schalten mehrerer Verbraucher wie z B Gluumlhlampen

Abb 27 Erweiterungsschaltungen zum Schalten eines (links) oder

mehrerer Verbraucher (rechts)

Zu beachten ist dass der Transistor BC337 maximal 800 mA schalten kann und fuumlr groumlszligere Stroumlme andere Transistoren verwendet werden muumlssen

424 Steuerung von Gleichstrommotoren

44

Sollen Gleichstrommotoren zum Bewegen von Objekten mit dem Mikrocontroller gesteuert werden dann eignet sich dazu der in Abb 28 dargestellte beschaltete IC L293D

Abb 28 Beschaltung des L293D zum

Steuern zweier Gleichstrom-motoren

Mit Pin 1 = Pin 9 = 1 (High) koumlnnen zwei Gleichstrommotoren M1 und M2 (Versorgungs-spannung UM lt 36 V Spulendauerstrom IM lt 600 mA) unabhaumlngig voneinander ein- und ausgeschaltet sowie in der Drehrichtung uumlber die Ports PA0 und PA1 fuumlr M1 und PA2 und PA3 fuumlr M2 gesteuert werden Z B gilt mit PA0 = PA1 = 0 (M1 ausgeschaltet) PA0 = 1 und PA1 = 0 (M1 dreht sich) PA0 = 0 und PA1 = 1 (M1 dreht sich in Gegenrichtung)

45

43 Quellcodes zum RCL Elektronenbeugung 431 Mikrocontroller-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

46

47

48

49

432 PHP-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

50

51

433 Bedienfeld der Laborseite

Tab 11 erlaumlutert die Funktion der Bloumlcke im Quellcode

Zeilen Funktion 1 Datei defaultconf einbinden 2 Datei headtpl einbinden

5 - 11 Ausgabe der verbleibenden Experimentierzeit 18 - 21 Button zum Einschalten der Elektronenbeugungsroumlhre 28 - 30 Eingabefeld fuumlr die Beschleunigungsspannung

37 Ruumlckmeldung zur eingegebenen Beschleunigungsspannung 42 Datei foottpl einbinden

Tab 11 Funktion der Programmbloumlcke in der Datei experi-menttpl

52

434 Webcamfeld der Laborseite

In Tab 12 ist die Funktion der Programmbloumlcke und die Anpassungen der Vorlage an das RCL Elektronenbeugung beschrieben

Zeilen Funktion Anpassung RCL Elektronenbeugung

5 Titelangabe erscheint als Tabulatorbeschriftung in Browsern

Name des RCLs eintragen

11 - 15 16 - 20

Zwei Javascripts zum getrennten Aufrufen zweier Po-pup-Fenster mit dargestelltem Webcambildern 1 und 2

Javascript 1 die IP-Adresse eintragen Javascript 2 auskommentiert weil nicht benoumltigt

24 - 40 42 - 60

Zwei Javascripts zum Aktualisieren der Webcambilder 1 und 2

Javascript 2 auskommentiert weil nicht benoumltigt

67 - 71 79 - 83

Aufrufen des ersten Webcambilds der Webcams 1 und 2 beim Aufrufen der Datei

Webcambild 2 auskommentiert weil nicht benoumltigt

72 - 78 84 - 90

Buttons zum Aufrufen der Screenshots der Webcam-bilder 1 und 2

Button 2 auskommentiert weil nicht benoumltigt

91 - 95 Zeile der Tabelle zum Eintragen von Informationen die sich auf die Webcambilder oder den Versuch beziehen

Text in Zeile der Tabelle geschrieben

Tab 12 Funktionen der Codeabschnitte in der Datei videohtm und Anpassung der Vor-lage an das RCL Elektronenbeugung

53

44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung Im Folgenden wird die Installation und Konfiguration des AVR-Studios 418 und der Bascom 11198 Demoversion beschrieben Alle Anleitungen sind zeilenweise von links nach rechts zu lesen

441 AVR-Studio 418 4411 Installation Auf der Webseite von ATMEL Register AVR Studio 418 (build 684) anklicken und Registrie-rungsformular ausfuumlllen Danach die Datei AvrStudio418Setup herunterladen Durch Dop-pelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen Next waumlhlen

I accept hellip und Next waumlhlen Installationsordner und Next waumlhlen

54

Installupgrade hellip und Next waumlhlen Install waumlhlen Die Installation beginnt

Finish waumlhlen

4412 Konfiguration AVR Studio 418 in Windows XP Professional unter StartProgramme aufrufen

Startfenster mit Cancel schlieszligen Unter ToolsProgram AVR Auto Connect waumlhlen

55

Im eingeblendeten Fenster auf der Registerkarte Main als Device ATmega16 und als Programming Mode ISP mo-de waumlhlen

Optional kann Signatur gelesen werden

In der Registerkarte Fuses alle Haumlkchen und Auswahlfel-der wie angegeben waumlhlen

Dann Program waumlhlen

442 BASCOM 11198 Demoversion 4421 Installation Auf der Webseite von Bascom unter Bascom AVR Demo die Zip-Datei setupdemoexe her-untergeladen Durch Doppelklick auf den Dateinamen die Installation starten

Next waumlhlen I accept the agreement und Next waumlhlen

56

Next waumlhlen Installationsordner eingeben und Next waumlhlen

Eintrag im Start-Menuuml eingeben und Next waumlhlen Next waumlhlen

Yes restart the computer now und Finish waumlhlen

57

4422 Konfiguration Bascom AVR in Windows XP Professional unter StartProgramme zum Einstellen der Para-meter des Mikrocontrollers und des Terminals aufrufen

OptionsCompilerChip waumlhlen Einstellungen wie im Bild vornehmen und OK waumlhlen

Auf der Registerkarte Communications Einstellungen wie im Bild vornehmen und OK waumlhlen

Unter OptionsCommunication Einstellungen wie im Bild

vornehmen und OK waumlhlen FileNew waumlhlen Unter ToolsTerminal emulator das Terminal aufrufen und

eingeben Die Befehlsliste des RCLs Elektronenbeu-gung wird angezeigt

45 Installation und Konfiguration von Programmen auf dem RCL-Server Im Folgenden wird der Download die Installation und die Konfiguration von Programmen auf dem RCL-Server unter Windows XP Professional beschrieben Alle Anleitungen sind zeilen-weise von links nach rechts zu lesen Die Installation der Programme sollte in der angegebe-nen Reihenfolge erfolgen

58

451 Einrichten des Internet-Zugangs LAN-Verbindung unter StartSystemsteuerungNetzwerkverbindungen aufrufen

Internetprotokoll (TCPIP) und Eigenschaften waumlhlen Folgende IP-Adresse verwenden waumlhlen IP-Adressen ein-

geben und OK waumlhlen

452 Paket XAMPP 174 Unter apache friends - xampp fuumlr windows und XAMPP Windows 174 Installer anklicken und Datei xampp-win32-174-VC6-installerexe speichern Durch Doppelklick auf die Datei die Installation starten

Sprache und Ok waumlhlen Ok waumlhlen

59

Weiter waumlhlen Zielverzeichnis mit Durchsuchen waumlhlen oder eingeben

Apache nicht als Dienst installieren Fertig stellen waumlhlen

Ja waumlhlen Zum Starten des Apache Webservers das Control Panel

unter StartProgrammeXAMPP 173 for Windows mit Start starten Anstelle von Start erscheint Running

Zum Beenden des Apache Webservers Stop waumlhlen Zum Beenden des Control Panels Exit waumlhlen

60

453 Videoserver webcamXP 5 Private Auf der Webseite von Moonware Studios unter webcamXP 55xx die Datei wlite550 herun-terladen Durch Doppelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen I Agree waumlhlen

Next waumlhlen Auszliger webcamXP 5 brauchen keine weiteren Komponen-

ten installiert zu werden

Den vorgeschlagenen Ordner und Install waumlhlen Finish waumlhlen

61

WebcamXP unter StartProgramme aufrufen Zugesandte

Lizenz-Daten in das eingeblendete Fenster eingeben und Register waumlhlen

Beim Starten des Programms stellt webcamXP automa-tisch eine Verbindung zu den am Computer angeschlosse-nen Webcams her

Nach dem Start ist Uumlberwachen gewaumlhlt Durch Rechts-klick mit der Maus auf das Videofenster wird zu jeder Vi-deoquelle ein Kontextmenuuml angezeigt Wird kein Videobild dargestellt das Kontextmenuuml aufrufen Art der Videoquelle waumlhlen (hier USB) und unter den erkannten Videoquellen (hier USB-Videogeraumlt) die gewuumlnschte waumlhlen

Das Videoformat muss fuumlr eine passende Darstellung auf

der Laborseite auf 320 x 240 eingestellt sein Ist das nicht der Fall im Kontextmenuuml unter Video Format einstellen

In gleicher Weise kann eine zweite Videoquelle hinzugefuumlgt werden

In der Registerkarte Web Broadcast kann unter

Broadcast (HTTP) der Videoserver mit Ausschalten ge-stoppt und mit Aktivieren gestartet werden

Zur Zielwahl des Webservers (131246237167 - Internet D16W3X3J - Computer 127001 - Local Host) Videoser-ver stoppen und einstellen Videoserver wieder starten

62

454 Terminalprogramm Hyperterminal Hyperterminal in Windows XP Professional unter StartProgrammeZubehoumlrKommunikation aufrufen

Name der neuen Verbindung - z B Interface - eingeben

und OK waumlhlen Die Verbindung zwischen Computer und Interface wurde

uumlber einen USB-Seriell-Adapter hergestellt Dann erschei-nen zwei zusaumltzliche Eintraumlge (Motorola Comp Modem und COM5) in der Liste Prinzipiell muss eine COMx-Verbindung gewaumlhlt werden

Eigenschaften von COM 5 wie im Bild einstellen und OK

waumlhlen DateiEigenschaften aufrufen und ASCII-Konfiguration

waumlhlen

63

Haken bei Eingegebene Zeichen lokal ausgeben (lokales

Echo) setzen um eingegebenen Zeichen im Hyperterminal zu sehen

Bei funktionsfaumlhiger Verbindung erscheint nach Eingabe von Return die Befehlsliste des Interface

Durch Aufrufen von DateiSpeichern die erstellte Verbin-

dung z B auf dem Desktop speichern Dadurch braucht die Verbindung nicht immer wieder von neuem konfiguriert wer-den

Nach Aufrufen von DateiBeenden die bestehende Verbin-dung mit Ja beenden

64

Wurde ein falscher COM-Port gewaumlhlt reagiert das Inter-

face auf die Eingabe Return nicht Hyperterminal dann beenden

Der COM-Port kann dann nicht unter DateiEigenschaften im Hyperterminal aber unter Eigenschaften des Kontext-menuumls der Datei Interfaceht in der Registerkarte Verbin-den mit geaumlndert werden Dann OK waumlhlen und erneut Verbindung testen

65

455 Fernwartungssoftware TeamViewer 6 Host Auf der Webseite von Teamviewer GmbH unter Fuumlr unbeaufsichtigte Server TeamViewer Vollversion die Datei TeamViewer_Setup-wq herunterladen Das Programm muss auf dem RCL-Server und dem Computer der auf den RCL-Server zugreifen soll installiert werden Durch Doppelklick auf die Datei die Installation starten

Ausfuumlhren waumlhlen Weiter waumlhlen

Fuumlr die private nicht kommerzielle Nutzung ist Teamviewer kostenlos

privat nicht-kommerziell und Weiter waumlhlen

Beide Haumlkchen setzen und Weiter waumlhlen

66

Ja un Weiter waumlhlen Weiter

Computername und Kennwort fuumlr den Zugriff auf den RCL-Server oder den eigenen Computer vergeben Kenn wort notie-ren

Ein Teamviewerkonto ist nicht erforderlich Kann auch spaumlter noch eingerichtet werden

ID fuumlr den Computer auf dem das Programm installiert wird fuumlr Zugriff notieren

Das Programm wird gestartet Standardmaumlszligig vorein-gestellt ist der Start des Programms beim Start des Be-trienssystems

67

46 Selbstbau eines elementaren RCLs 461 Hard- und Software Auch ohne gleich ein vielleicht teures physikalisches Experiment zu steuern laumlsst sich mit wenigen Bauelementen ein elementares RCL realisieren Von einer Webseite im Internet sol-len eine Leuchtdiode (LED) ein- oder ausgeschaltet sowie der Zustand der Leuchtdiode und eines Tasters abgefragt werden An Hard- und Software werden benoumltigt

1 Low-Current-LED 5 mm 2 mA 1 Widerstand 18 kΩ 1 Taster und optional zwei 10-polige Wannenstecker mit ungefaumlhr 10 cm passendem Flachbandkabel und Buchsen

Interface in Basisschaltung Null-Modem-Kabel 12 V DC Steckernetzteil (larr 1)

Installierte Bascom-Demo-Version (larr 42)

AVR ISP-Programmer mit 10-poligem Programmierkabel

Installiertes und konfiguriertes AVR Studio 418 (larr 41)

Installiertes Paket XAMPP (larr 52)

Texteditor wie z B Notepad in Windows XP Professional

Konfigurierte Hyperterminalverbindung (larr 54)

462 Bestuumlckung der Platine Abb 29 zeigt zur Orientierung fuumlr das Einloumlten der Bauelemente die fertig bestuumlckte Platine des Interface

Abb 29 Mit elementarem RCL bestuumlckte Platine

des Interface

LED mit Vorwiderstand und der Taster sind rechts neben dem Mikrocontroller im Lochraster-bereich aufgebaut und uumlber Wannenstecker und Flachbandkabel mit dem Port A des Mikro-controllers verbunden (die drei Bauteile rechts neben dem ATmega16 werden nicht benouml-tigt) Tab 13 erlaumlutert die Schritte zur Bestuumlckung der Platine des Interface

68

Nr Schaltung Erlaumluterung

1

Die Leuchtdiode (LED) mit dem Pluspol (langes Beinchen) an PortA0 (PIN40 oben rechts) des Mikrocontrollers anloumlten

An das kurze Beinchen einen 18kΩ Widerstand loumlten dessen anderes Ende mit der Masse (GND) verbinden

2

Den Taster mit PortA1 (PIN39 = 2 Beinchen von oben rechts) und Masse (GND) verbinden

3

Draufsicht

Belegung des 10-poligen Wannensteckers 1 GND (Masse) im Foto oben links 2 +5 V 3 PortA0 4 PortA1 10 PortA7 im Foto unten rechts

Tab 13 Schritte zum Aufbau des elementaren RCLs

463 Lokal gesteuertes RCL Nachfolgend ist der Basic-Programmcode des Mikrocontrollers zur Steuerung und Abfrage der LED und des Tasters angegeben 01 $regfile = m16DEFdat Microcontroller ATmega16 02 $crystal = 11059200 110592MHz Quarz 03 $baud = 9600 Baudrate 04 05 ---[ Variables ]--------------------------------------------------------------- 06 Dim Rs232kommando As String 10 erst Befehlspuffer dann Kommando 07 Dim Parameter As String 10 Parameter 08 Dim Str_pos As Byte Position von Leerzeichen zur Trennung von Kommando und Pa-rameter 09 10 ---[ Initialisierung ]--------------------------------------------------------- 11 Ddra0 = 1 PortA0 als Ausgang fuumlr LED 12 Porta0 = 0 LED aus 13 Ddra1 = 0 PortA1 als Eingang fuumlr Taster 14 Porta1 = 1 Pull-Up aktivieren 15 16 ---[ Main program loop ]------------------------------------------------------- 17 Do Start der Endlos-Schleife 18 19 If Ischarwaiting() = 1 Then Zeichen uumlber RS232 empfangen 20 Input Rs232kommando neues Kommando lesen 21 Parameter = Parameter initialisieren 22 Str_pos = Instr(rs232kommando ) Leerzeichen im Kommando suchen 23 If Str_pos gt 0 Then falls Leerzeichen dann in Kommando+Parameter zerlegen 24 Incr Str_pos Str_pos soll jetzt auf 1Zeichen des Parameters zeigen 25 Parameter = Mid(rs232kommando Str_pos ) Parameter = Teilstring nach Leerzeichen 26 Parameter = Ucase(parameter) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 27 Str_pos = Str_pos - 2 Str_pos soll jetzt auf letztes Zeichen des Kommandos zeigen 28 Rs232kommando = Left(rs232kommando Str_pos)Kommando = Teilstring vor Leerzeichen 29 Rs232kommando = Ucase(rs232kommando) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 30 End If 31 32 Select Case Rs232kommando Eventhandler Interpretation der Kommandos 33 Case Print Hilfe Hilfeseite anzeigen 34 Print LED on - LED einschalten 35 Print LED off - LED ausschalten 36 Print LED - zeigt Status der LED an 37 Print SW - zeigt Status des Schalters an 38

1K8

LED rotmicroC PortA0(PIN40)

Taster

microC PortA1(PIN39)

1

3

2

69

39 Case LED If Parameter = ON Then LED schalten 40 Porta0 = 1 41 End If 42 If Parameter = OFF Then 43 Porta0 = 0 44 End If 45 46 Case LED If Porta0 = 0 Then Status der LED ausgeben 47 Print LED aus 48 Else 49 Print LED an 50 End If 51 52 Case SW If Pina1 = 1 Then Status des Schalters ausgeben 53 Print Taster offen 54 Else 55 Print Taster geschlossen 56 End If 57 58 Case Else Print gt Rs232kommando lt ungueltiger Befehl - weitere Infos mit Info bei unguumlltigen Eingaben 59 End Select 60 61 End If 62 63 Loop Endlos-Schleife Springe zu Do 64 65 End wird nie erreicht

Der erste Teil des Programms (Zeilen 1 - 15) enthaumllt die Systemparameter Variablen und Initialisierung der Ein- und Ausgaumlnge Der zweite Teil enthaumllt ab Zeile 17 das Hauptpro-gramm in dem Benutzereingaben uumlber die serielle Schnittstelle empfangen interpretiert und in entsprechende Anweisungen umgesetzt werden Tab 14 erlaumlutert den Programmcode de-taillierter

Zeilen Erlaumluterung

1 - 3 Diese Angaben teilen dem Compiler (Bascom) mit welcher Prozessor eingesetzt wird wie schnell dieser getaktet (Quarz) ist und mit welcher Uumlbertragungsgeschwindigkeit die Kommunikation uumlber die serielle Schnittstelle (RS232) mit dem PC erfolgen soll

6 - 8 Es werden drei Variablen genutzt Die Eingabe uumlber die serielle Schnittstelle wird in rs232kommando gespeichert Es wird ein Text der Form Kommando ltLeerzeichengt Parameter erwartet so dass die Variable Parameter den-selbigen aufnimmt Die Variable str_pos wird fuumlr die Trennung von Kommando und Parameter benoumltigt

11 - 14

Mit dem Befehl ddrPX (ddr = data direction) wird festgelegt ob ein Beinchen als Ausgang (=1) oder als Eingang (=0) arbeiten soll Der ATmega16 besitzt 32 Ein-Ausgaumlnge die in vier Ports (P=AD) zu je 8 Pins (X=07) unterteilt sind ddrA0 = 1 legt also das 1 Beinchen (Pin 0) von PortA als Ausgang (=1) fest Mit dem Befehl PortA0 =1 kann dieser Pin dann durch Zuweisen von 1 oder 0 an- bzw ausgeschaltet werden Im Datenblatt erfahren Sie welches der 40 Beinchen des Mikrocontrollers wie bezeichnet wird (Pin-Belegung) Wird ein Beinchen als Eingang verwendet (ddrA1 = 0) koumlnnen Sie optional einen so genannten Pull-Up-Widerstand aktivieren (PortA1=1) oder deaktivieren (PortA1=0) Auch hierzu sollten Sie sich unbedingt mit dem Datenblatt vertraut machen

17 63 Das Hauptprogramm besteht aus einer Endlosschleife d h der Mikrocontroller verrichtet ununterbrochen seinen Job so lange er mit Strom versorgt wird

19 - 30 Falls ein Zeichen uumlber die serielle Schnittstelle empfangen wurde wird dieses und alle folgenden gelesen Anschlie-szligend wird gepruumlft ob der empfangene Text von der Form Kommando ltLeerzeichengt Parameter ist so dass er ge-gebenenfalls in ein Kommando und einen Parameter zerlegt werden kann

32 - 59 Dieser Abschnitt wird mit Event-Handler bezeichnet Hier wird auf die Kommandos (Events) reagiert und die ent-sprechenden Schritte ausgefuumlhrt zB schalten LED je nach Wert der Variablen Parameter an- bzw ausschalten

46 52

In beiden Zeilen wird ein Wert eines Ports abgefragt Unterschiedlich ist dass in Zeile 46 der Status eines Ausgangs abgefragt wird (porta0) und in Zeile 52 der Zustand eines Eingangs (pina0) Die Anweisung IF porta0 = 0 THEN pruumlft (hier ist = ein Vergleich und KEINE Zuweisung) ob zuletzt die LED ausgeschaltet (Zuweisung porta0 = 0) wurde Die Anweisung IF pina1= 1 THEN liest den Status eines Eingangs Hier kann festgestellt werden ob der Eingang uumlber den internen Pull-UP-Widerstand auf +5V liegt (pina1 liefert 1) oder ob der Schalter den Eingang mit Masse (0V) verbindet (pina1 liefert 0)

Tab 14 Erlaumluterung des Mikrocontroller-Programmcodes fuumlr elementares RCL

70

In Bascom AVR eine neue Datei erzeugen (FileNew) den Programmcode ohne Kommenta-re eingeben und mit ProgramCompile (F7) eine Hexadezimaldatei erzeugen Die Hexadezi-maldatei mit dem AVR-Studio und dem AVR-ISP-Programmer in den Mikrocontroller schrei-ben (larr 222 Programmuumlbertragung) Nach dem Verbinden von Computer und Interface per Null-Modem-Kabel kann durch Eingabe von in das konfigurierte Hyperterminal die Befehls-liste in Abb 30 aufgerufen werden

Abb 30 Aufgerufene Befehlsliste im Hyperterminal

Durch Eingabe von LED on oder LED off kann die LED ein- und ausgeschaltet LED zeigt den Status der LED und sw den Status des Tasters an Alternativ zum Hyperterminal kann auch das Terminal in BASCOM unter ToolsTerminal Emulator verwendet werden (larr 422)

464 Ferngesteuertes RCL Zum Ansteuern des Interfaces und zum Bedienen des Versuchsaufbaus uumlber das Internet wird eine Webseite benoumltigt die dem Benutzer alle Bedienelemente des Experiments zur Verfuumlgung stellt

Der Benutzer benoumltigt anklickbare Buttons im Webbrowser

Der Webserver muss die Information welcher Button gedruumlckt wurde empfangen und ein entsprechendes Kommando uumlber die serielle Schnittstelle an das Interface senden

Beide Schritte sind im nachfolgenden PHPHTML-Quellcode zusammengefasst 01 ltDOCTYPE HTML PUBLIC -W3CDTD HTML 401 TransitionalEN httpwwww3orgTRhtml4loosedtdgt 02 lthtmlgt 03 ltheadgt 04 ltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1gt 05 lttitlegtelementares RCLlttitlegt 06 ltheadgt 07 08 ltbodygt 09 ltphp 10 if (isset($_POST[Kommando])) wurde bereits Kommando gesendet 11 if( ( $handle = fopen( COM1 w+ ) ) ) Schnittstelle oumlffnen 12

71

13 throw new Exception( Can not access serial port 2 ) ohne Erfolg 14 15 fwrite( $handle $_POST[Kommando] chr( 13 ) ) Befehl an Interface senden 16 switch ( $_POST[Kommando] ) Antwort von Interface auswerten 17 case LED $tmp = fgets( $handle ) Echo von Interface ignorieren 18 $antwort = fgets( $handle ) Antwort des Interfaces 19 echo Antwort $antwort Ausgabe auf Webseite 20 break switch verlassen 21 22 case SW $tmp = fgets( $handle ) Echo von Interface ignorieren 23 $antwort = fgets( $handle ) Antwort des Interfaces 24 echo Antwort $antwort Ausgabe auf Webseite 25 break switch verlassen 26 27 28 29 fclose( $handle ) Schnittstelle schlieszligen 30 31 else 32 `mode com1 BAUD=9600 PARITY=N data=8 stop=1 xon=off` Schnittstellenparameter setzen 33 34 35 gt 36 37 lth3gtBefehl sendenlth3gt 38 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 39 ltinput type=hidden name=Kommando value=LED ON gt 40 ltinput type=submit value=LED anschalten gt 41 ltformgt 42 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 43 ltinput type=hidden name=Kommando value=LED OFF gt 44 ltinput type=submit value=LED ausschalten gt 45 ltformgt 46 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 47 ltinput type=hidden name=Kommando value=LED gt 48 ltinput type=submit value=LED abfragen gt 49 ltformgt 50 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 51 ltinput type=hidden name=Kommando value=SW gt 52 ltinput type=submit value=Taster abfragen gt 53 ltformgt 54 ltbodygt 55 lthtmlgt Den Quellcode in den Texteditor kopieren und im Ordner htdocs von XAMPP z B unter rclphp speichern HTML-Dateien mit PHP-Code (Zeilen 9-35) muumlssen mit der Erweiterung php gespeichert werden damit der Apache Webserver zwischen HTML-Seiten mit und ohne PHP-Code unterscheiden kann Den installierten Apache Webserver starten (larr 452) und im Adressfeld des Webbrowsers die IP-Adresse http127001rclphp aufrufen Das Bedi-enfeld des elementaren RCLs in Abb 31 wird im Browserfenster angezeigt

72

Abb 31 Laborseite des elementaren RCLs

Im Bedienfeld kann die LED an- und ausgeschaltet sowie der Status von LED und Taster abgefragt werden

  • 0 Warum ein Tutorial zur RCL-Technik
  • 1 Technische Konzeption
    • 11 Einfuumlhrung
    • 12 Wahl der RCL-Technik
      • 2 Lokal gesteuertes RCL
        • 21 Interface
          • 211 Mikrocontroller
          • 212 Basisschaltung und Erweiterungsschaltungen
          • 213 Programmierung des Mikrocontrollers
            • 22 Hyperterminal
            • 23 Positionieren von Objekten
              • 231 Hybrid-Schrittmotoren
              • 232 Schrittmotorsteuerung und Positionierungsmechanik
                  • 3 Ferngesteuertes RCL
                    • 31 RCL-Server
                    • 32 Laborseite
                      • 321 Steuerung des RCLs uumlber das Bedienfeld
                      • 322 Videouumlbertragung im Webcamfeld
                        • 33 Standard-Lernumgebung
                          • 4 ANHANG
                            • 41 Interface in Basisschaltung
                              • 411 Schaltplan und Bauteilliste
                              • 412 Bestuumlckung der Platine
                                • 42 Erweiterungsschaltungen
                                  • 421 Uumlbersicht
                                  • 422 TMC222-Modul zur Schrittmotorsteuerung
                                    • 4221 Schaltplan und Bauteilliste
                                    • 4222 Bestuumlckung der Platine
                                    • 4223 Quellcode des Mikrocontroller-Programms
                                      • 423 Geschaltete Spannungsquellen und Verbraucher
                                      • 424 Steuerung von Gleichstrommotoren
                                        • 43 Quellcodes zum RCL Elektronenbeugung
                                          • 431 Mikrocontroller-Programmierung
                                          • 432 PHP-Programmierung
                                          • 433 Bedienfeld der Laborseite
                                          • 434 Webcamfeld der Laborseite
                                            • 44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung
                                              • 441 AVR-Studio 418
                                                • 4411 Installation
                                                • 4412 Konfiguration
                                                  • 442 BASCOM 11198 Demoversion
                                                    • 4421 Installation
                                                    • 4422 Konfiguration
                                                        • 45 Installation und Konfiguration von Programmen auf dem RCL-Server
                                                          • 451 Einrichten des Internet-Zugangs
                                                          • 452 Paket XAMPP 174
                                                          • 453 Videoserver webcamXP 5 Private
                                                          • 454 Terminalprogramm Hyperterminal
                                                          • 455 Fernwartungssoftware TeamViewer 6 Host
                                                            • 46 Selbstbau eines elementaren RCLs
                                                              • 461 Hard- und Software
                                                              • 462 Bestuumlckung der Platine
                                                              • 463 Lokal gesteuertes RCL
                                                              • 464 Ferngesteuertes RCL

21

Abb 10 Befehlsliste des Mikrocontrollers im Hyperterminal fuumlr das RCL Elektronenbeugung

Tab 4 gibt Erlaumluterungen zur Befehlsliste

BefehlAbfrage Erlaumluterung

DA x Am Eingang des DA-Wandlers wird die Zahl x (0 - 255) im Binaumlrcode

angelegt und die Ausgangsspannung des Hochspannungsnetzgeraumlts bzw die Beschleunigungsspannung der Elektronenkanone eingestellt

OnOff Hochspannungsnetzgeraumlt und Gluumlhkathode der Elektronenkanone ein-

oder ausschalten Beim Einschalten wird die Steuerspannung des Inter-face am Hochspannungsnetzgeraumlt auf asymp 0 V einstellt

Standby Ausgabe der eingestellten Standbyzeit von 300 s setSB x Standbyzeit einstellen

next Standby in Ausgabe der verbleibenden Standbyzeit (254 s) bis das Experiment

ausgeschaltet wird Eine negative Standbyzeit gibt die Zeit seit dem Ab-lauf der Standbyzeit an

Power On Delay Ausgabe der Verzoumlgerungszeit (2 s) bis das Hochspannungsnetzge-

raumltElektronenbeugungsroumlhre nach dem Ausschalten oder nach Ablauf der Standbyzeit erneut eingeschaltet werden kann

setPOD x Verzoumlgerungszeit einstellen

power on enabled in Ausgabe wie lange Hochspannungsnetzgeraumlt nicht eingeschaltet wer-

den kann Zeiten unter 0 bedeuten dass Power-On-Delay-Zeit ablaufen ist

Tab 4 Erlaumluterung der Befehle in Abb 10

23 Positionieren von Objekten In fast allen RCLs des RCL-Portals auszliger den RCLs Elektronenbeugung und Oszilloskop muumlssen Objekte rotatorisch oder translatorisch positioniert werden Eingesetzt werden Hyb-rid-Schrittmotoren als Aktoren eine Schrittmotorsteuerung von Trinamic als Erweiterungs-schaltung (TMC222-Modul) die Positionierungseinheit ausgedienter Flachbrett-Scanner und ein Referenz-Taster als Sensor

231 Hybrid-Schrittmotoren Abb 11 zeigt den vereinfachten schematischen Aufbau eines zweiphasigen Schrittmotors mit getrennten magnetischen Kreisen des Stators und einem permanent magnetisierten zweipoligen Rotor (Polpaarzahl 1)

22

Abb 11 Funktionsprinzip von Schrittmotoren Unipolare (links) und bipolare Schaltung (rechts)

von Schrittmotoren mit Bestromungstabellen fuumlr Voll- und Halbschrittbetrieb Darge-stellt ist der Schritt 0

Der Rotor verfuumlgt bei der dargestellten Polreihenfolge S-S-N-N des Stators uumlber eine stabile Stellung bei einer hypothetischen (magnetische Monopole) Polreihenfolge N-S-N-S gaumlbe es mit diesem Aufbau des Stators nur instabile Stellungen des Rotors Um den Rotor in Bewe-gung zu setzen muss die Polreihenfolge S-S-N-N im oder entgegen den Uhrzeigersinn (Rechts- oder Linksdrehung) weitergeschaltet und der Rotor vom magnetischen Schrittfeld mitgenommen werden

Die magnetische Polaritaumlt eines magnetischen Kreises laumlsst sich entweder durch zwei Spu-len konstanter elektrischer Polaritaumlt mit unterschiedlichem Wicklungssinn (herstellungstech-nisch zu aufwendig) durch eine Spule mit Mittelanzapfung und konstanter elektrischer Pola-ritaumlt der beiden Teilspulen (unipolare Schaltung) oder durch eine Spule mit wechselnder elektrischer Polaritaumlt (bipolare Schaltung) realisieren In Abb 11 sind dazu die elektrischen Beschaltungen und die Bestromungstabellen fuumlr eine Rechtsdrehung des Rotors dargestellt Fuumlr eine Linksdrehung des Rotors muss die Schrittfolge in umgekehrter Reihenfolge durch-laufen werden

Es wird zwischen Vollschrittbetrieb (graue Zeilen der Tabellen) mit Schrittwinkel 90deg bzw Schrittzahl 4 und Halbschrittbetrieb (alle Zeilen der Tabellen) mit Schrittwinkel 45deg bzw Schrittzahl 8 unterschieden Beim Vollschrittbetrieb werden immer beide magnetische Kreise bestromt und die N-S-Polachse des Rotors nimmt nur Stellungen zwischen den Statorpolen

23

an Beim Halbschrittbetrieb wird zwischen den Vollschritten nur einer der magnetischen Krei-se bestromt und die N-S-Polachse des Rotors kann zusaumltzlich 4 Stellungen in Richtung der Statorpole einnehmen Der Hybrid-Schrittmotor ist die am haumlufigsten vertretene Bauform von Schrittmotoren Abb 12 zeigt den Aufbau eines Hybrid-Schrittmotors

Abb 12 Aufbau eines Hybrid-Schrittmotors fuumlr unipolare und

bipolare Schaltung Daten Schrittwinkel 18deg max Drehmoment 155 Ncm

Der Stator besteht aus zwei Straumlngen mit je 4 in Reihe geschalteten Spulen Der Wick-lungssinn der Spulen ist in beiden Straumlngen so dass sich die Polfolge N-S-N-S uumlber den Umfang ergibt Beide Straumlnge zusammen ergeben unabhaumlngig von der Stromrichtung ei-ne Polfolge N-N-S-S-N-N-S-S uumlber den Umfang Ein zweipoliger Rotor (Polpaarzahl 1) kann im Vollschrittbetrieb 4 Stellungen annehmen Der Rotor des Hybridschrittmotors be-steht aber aus axial magnetisierten Permanentmagneten deren Polpaarzahl durch axial versetzte weichmagnetische Zahnscheiben auf 50 erhoumlht wurde Dadurch erhoumlht sich die Schrittzahl auf 4 sdot 50 = 200 und der Schrittwinkel verkleinert sich auf 360deg200 = 18deg Um stabile Rotorstellungen zu erhalten muumlssen die Statorsegmente ebenfalls gezahnt ausge-fuumlhrt werden

Ein solcher Hybrid-Schrittmotor vereint die Vorteile des Reluktanz- und des permanenter-regten Schrittmotors Ein kleiner Schrittwinkel wird durch das von Reluktanzschrittmotoren bekannte Prinzip der Erzeugung einer Vielzahl von Polen des Rotors durch Zahnscheiben erzielt Ein hohes Drehmoment wird durch das von permanenterregten Schrittmotoren be-kannte Prinzip der Ausfuumlhrung des Rotors als Permanentmagnet erzielt Aufgrund der bi-filaren Wicklung besteht jede Statorwicklung aus zwei Teilspulen und der Schrittmotor kann in unipolarer (alle 6 Anschluumlsse verwendet) und bipolarer Schaltung (nur 4 An-schluumlsse verwendet gemeinsamer Anschluss der Teilspulen bleibt unverwendet) wie in Abb 12 dargestellt verwendet werden

24

Schrittmotoren erlauben nicht nur das Bewegen sondern innerhalb der Leistungsgrenzen (keine Schrittverluste) auch ein genaues Positionieren von Objekten Bei bekannter Schrittzahl auf einer gemessenen Strecke oder Schrittzahl fuumlr den Vollwinkel koumlnnen aus-gehend von einer Referenzstellung Objekte translatorisch oder rotatorisch positioniert werden

232 Schrittmotorsteuerung und Positionierungsmechanik Im Folgenden wird die bei allen RCLs mit Schrittmotoren eingesetzte Schrittmotorsteuerung die Mechanik zur translatorischen Positionierung von Objekten und die Funktionsweise eines Referenztasters beschrieben

Schrittmotorsteuerung Abb 13 zeigt das Blockschaltbild und das im Selbstbau herstellbare TMC222-Modul (rarr 4221 rarr 4222) mit dem IC TMC222 von Trinamic zur Steuerung bipolarer 2-phasiger Hybrid-Schrittmotoren

Abb 13 Blockschaltbild (links) und Platine des TMC222-Moduls (rechts) mit IC TMC 222 auf

der Loumltseite der Platine

Der IC TMC222 enthaumllt ein I2C-Interface zum Anschluss an den I2C-Bus des Mikrocon-trollers (Ports PC0 und PC1) Die 10 kΩ-Pull-up-Widerstaumlnde heben die Takt- (SCL clock) und Datenleitung (SDA data) auf ein Potential von 5 V Der IC TMC222 enthaumllt ei-nen Motortreiber fuumlr Spulenstroumlme bis zu 800 mA und einen Motor-Controller zur Steue-rung der Spulenstroumlme Ein Vorteil des TMC-Moduls ist der relativ geringe Programmier-aufwand fuumlr den Mikrocontroller (rarr 4223) da der IC TMC222 nach Uumlbergabe der Steu-erungsparameter (Drehrichtung Drehzahl hellip) vom Mikrocontroller die Ansteuerung des Schrittmotors uumlbernimmt Der IC TMC222 unterstuumltzt das Beschleunigen und Abbremsen des Schrittmotors enthaumllt einen Schrittpositionszaumlhler und unterstuumltzt Mikrostepping (va-riable Spulenstroumlme zur elektronischen Verkleinerung des Schrittwinkels und groumlszligerer Laufruhe)

25

Falls in RCLs Gleichstrommotoren mit houmlheren Drehzahlen als Schrittmotoren benoumltigt werden kann eine andere Erweiterungsschaltung (rarr 424) eingesetzt werden

Positionierungsmechanik und Referenz-Taster Die Mechanik zur rotatorischen Positionierung von Objekten kann meist kostenguumlnstig selbst oder durch Personal in einer Werkstatt angefertigt werden Abb 14 zeigt eine kos-tenguumlnstige Loumlsung zur translatorischen Positionierung von Objekten

Abb 14 Positionierungseinheit eines Flachbrett-

Scanners Schrittmotor (1) Getriebe (2) Li-nearfuumlhrung (3) Antriebsriemen (4) und er-gaumlnzter Referenz-Taster (5)

Falls der geometrische Aufbau und die geforderte Positionierungsgenauigkeit des RCLs es zulassen kann die Schrittmotor-Positionierungs-Einheit ausgedienter Flachbrett-Scanner zur translatorischen Positionierung von Objekten verwendet werden In Einzelfaumll-len wie dem RCL Weltpendel kann die Positionierungsmechanik auch selbst angefertigt werden Der Referenz-Taster in Abb 14 wird eingesetzt um abzufragen ob ein vom Schrittmotor bewegtes Objekt die Position des Tasters erreicht hat und um diese Position zu referenzieren Ohne eine solche Referenzierung kann die Positionierung eines Objekts langfristig ungenau werden So kann z B beim RCL Weltpendel das Auftreffen der Kugel auf den Magneten zum Uumlberspringen von Schrittmotorstellungen fuumlhren Der Zustand des Referenz-Tasters in Abb 15 wird z B uumlber den Port PA0 des Mikrocontrollers abgefragt

Abb 15 Referenz-Taster zum referenzieren der

Position des bewegten Objekts

26

Zu Problemen koumlnnen undefinierte Zustaumlnde der Eingaumlnge des Mikrocontrollers fuumlhren wie sie beim Prellen dem zeitlich begrenzten schwingen eines Tasters beim Oumlffnen oder Schlieszligen entstehen Abhilfe schafft ein passend dimensionierter parallel zum Taster ge-schalteter Kondensator Bei geoumlffnetem Taster ist der Kondensator aufgeladen Beim Schlieszligen haumllt der Kondensator die Spannung uumlber die Schwingphase trotz kurzzeitig wieder geoumlffnetem Schalter noch aufrecht Analoges gilt fuumlr den Uumlbergang vom geschlos-senen zum geoumlffneten Taster

3 Ferngesteuertes RCL 31 RCL-Server Fuumlr den Betrieb eines RCLs wird ein RCL-Server benoumltigt (larr 11) Vorausgesetzt wird dass bei einem neuen Computer alle notwendigen Treiber (Ethernet Video Audio hellip) zum Be-trieb der Hardware des Computers und Windows XP Professional mit Service Pack 3 instal-liert sind Ein Benutzerkonto braucht nicht angelegt zu werden

Der RCL-Server benoumltigt einen Internetzugang mit statischer IP-Adresse und Uploaddatenra-te von mindestens 200 kbits (DSL 2000) fuumlr die fluumlssige Wiedergabe von Bewegungen in Webcambildern Die statische IP-Adresse wird von der Institution am Standort des RCLs vergeben oder kann von Privatpersonen bei einem Provider beantragt werden Mit folgenden Schritten wird der RCL-Server eingerichtet

Internetzugang einrichten (rarr 451) und im Browser testen

Checken ob die Windows Firewall aktiviert ist

Virenschutzproramm Avira Antivir Personal herunterladen (larr Tab 1) installieren und ak-tualisieren

Uumlber Windows Update alle Updates von Windows XP Professional installieren

Fernwartungssoftware TeamViewer 6 Vollversion (larr Tab 1) herunterladen und auf dem RCL-Server und dem eigenen Computer installieren (rarr 455)

Webeditor Notepad++ herunterladen installieren und aktualisieren (larr Tab 1)

Videoserver WebcamXP 5 herunterladen und installieren (rarr 453)

Paket XAMPP herunterladen und installieren (rarr 452) Verknuumlpfungen mit den Dateien xampphtdocsapache_startbat und xampphtdocsapache_stopbat auf dem Desktop oder in der Schnellstartleiste erstellen und Webserver mit erstgenannter Verknuumlpfung starten Webserver durch Eingabe von 127001 oder localhost ins Adressfeld des Brow-sers testen Bei erfolgreichem Test werden die im Ordner xampphtdocs abgelegten Webseiten von XAMPP dargestellt Statische IP-Adresse des RCL-Servers im Browser eines anderen Computers mit Internetzugang eingegeben Bei erfolgreichem Test werden die Webseiten von XAMPP dargestellt In der Datei xamppphpphpini unter Resource Limits die max_execution_time mit dem Windows-Editor von 60 auf 300 erhoumlhen und die

27

Datei speichern damit PHP bei Befehlen mit laumlngerer Ausfuumlhrungsdauer keine Fehler-meldung liefert

Ordner xampphtdocs mit den Webseiten von XAMPP in xampphtdocs_xampp um-benennen und fuumlr spaumltere Testzwecke nicht loumlschen RCL-Ordner htdocs herunterladen (larr Tab 1) extrahieren und in das Verzeichnis xampp verschieben

Abb 16 zeigt die Struktur des RCL-Ordners htdocs

Abb 16 Struktur des RCL-Ordners htdocs RCL-spezifisch anzupassende Dateien sind grau

hinterlegt

Der geoumlffnete Ordner Labor enthaumllt alle PHP- und HTML-Dateien bzw Programmierungen fuumlr die Funktionalitaumlt des Bedienfelds der Laborseite (larr 11 Abb 3) An das RCL anzupas-sen sind die portalsprachenunabhaumlngigen Dateien configphp und experimentphp sowie fuumlr jede Portalsprache die Dateien defaultconf und experimenttpl in den Ordnern eng fra ger und ita

Datei configphp Zeit bis zum automatischen Logout beim Experimentieren mit dem RCL eintragen

Datei experimentphp PHP-Basisprogrammierung um die RCL-spezifische PHP-Programmierung erweitern (rarr 432)

Datei defaultconf Name des RCLs (z B Elektronenbeugung) in jeder Portalsprache ein-getragen

Datei experimenttpl HTML-Basisprogrammierung um RCL-spezifische Ein- und Ausga-befelder erweitern (rarr 433)

28

32 Laborseite 321 Steuerung des RCLs uumlber das Bedienfeld Das Bedienfeld der Laborseite (larr 11 Abb 3) wird von der Dateien indexphp und experi-menttpl erzeugt Befehle wie das Anklicken von Buttons Eingaben und Auswahl aus Listen werden in ein HTML-Formular mit Formularfeldern in der Datei experimenttpl geschrieben Die Daten werden von der PHP-Datei experimentphp ausgewertet und uumlber die serielle Schnittstelle dem Mikrocontroller-Programm zur Steuerung des Experiments uumlbergeben Die Dateien experimentphp und experimenttpl wurden getrennt angelegt um Code und Design zu trennen und nur das Design in der Datei experimenttpl an die Portalsprache anpasst werden muss

Tab 5 enthaumllt Ausschnitte der HTML-Datei experimenttpl (rarr 433) der Datei experi-mentphp (rarr 432) und des Mikrocontroller-Programms (rarr 431) fuumlr das RCL Elektronen-beugung

29

Code mit Erlaumluterung

expe

rimen

ttpl

1821 Tag ltformgtltformgt definiert ein Formular 18 Attribut action legt fest dass Formulardaten in der Datei indexphp verarbeitet werden Uumlbertragen

werden eine Session-ID ($sid) um exklusiven Zugriff des jeweilgen Besuchers zu sichern und ($portal) um die vom Besucher gewaumlhlte Sprache beizubehalten post ist eine Uumlbertragungsmethode zwischen Browser und Webserver und gibt die die vom Besucher gewaumlhlte Aktion zum Ansteuern des Experiments an die Datei experimenttpl weiter

20 Erzeugt im Bedienfeld den Sendebutton (submit) mit der Aufschrift Elektronenroumlhre einschalten (valu-e)

19 Unsichtbares Feld (hidden) mit Variablennamen action und Wert RoumlhreAn Der Variablenname ac-tion stimmt nur zufaumlllig mit action in Zeile 18 uumlberein

expe

rimen

tphp

24 Die Funktion wird als Eventhaumlndler bezeichnet weil je nach uumlbergebener Aktion - siehe Zeile 19 in experi-

menttpl - die entsprechenden Anweisungen (case) ausgefuumlhrt werden 37 Fuumlr den Fall dass die Variable $action den Wert RoumlhreAn hat wird die Funktion power_on() aufgeru-

fen

59 Schreibt in die Logdatei logtxt den Text RoumlhreAn 6061 Oumlffnet den in der Datei configphp zentral gespeicherten Com-Port an den das Interface angeschlossen ist

oder gibt Fehlermeldung Can not access file system im Bedienfeld aus falls der Com-Port sich nicht oumlff-nen laumlsst

62 Sendet die Zeichenfolge On und chr(13) (entspricht der Betaumltigung der Return-Taste im Hyperterminal) an den Mikrocontroller

63 Schlieszligt serielle Schnittstelle

Que

llcod

e M

ikro

cont

rolle

r

166 Wird uumlber die serielle Schnittstelle der Befehl on empfangen und ist das Einschalten zulaumlssig (Zeiten fuumlr

PowerOnDelay und Standby abgelaufen) dann hellip 167 Hochspannungsnetzgeraumlt einschalten 168 Der DA-Wandler PCF8591 wird unter seiner Adresse PCF8591 = 01001000 angesprochen Parameterein-

stellungen mit 01000000 und Ausgangsspannung auf 0 V einstellen 169 Setzt Standby auf vorgegebene Standbyzeit zuruumlck 171 Gibt Meldung aus wie lange PowerOnDelay noch dauert

Tab 5 Uumlbertragung des Befehls Elektronenroumlhre einschalten vom Bedienfeld zum Experi-ment

30

Anhand der Erlaumluterungen der Programmcodes koumlnnen die Ablaumlufe zwischen dem Druumlcken des Buttons Elektronenroumlhre einschalten und dem Einschalten der Elektronenbeugungs-roumlhre oder der Eingabe einer Beschleunigungsspannung und dem Anlegen einer Beschleu-nigungsspannung verfolgt werden Uumlber das Bedienfeld koumlnnen nur die von der Datei expe-rimenttpl bereitgestellten Befehle on und da der insgesamt implementierten Befehle (rarr 22 Abb 10) aufgerufen werden

322 Videouumlbertragung im Webcamfeld Zur Aufnahme von Livebildern des Experiments koumlnnen USB-Webcams und IP-Kameras (Netzwerkkameras) eingesetzt werden Teurere IP-Kameras muumlssen eingesetzt werden wenn die Kamera wie z B beim RCL Roboter im Labyrinth zu weit vom Computer entfernt ist oder eine besonders lichtempfindliche Kamera aus der Uumlberwachungstechnik wie z B beim RCL Millikan-Versuch benoumltigt wird W-LAN-Kameras kommen zum Einsatz wenn Bil-der von einem beweglichen Objekt aus wie z B beim RCL Roboter im Labyrinth uumlbertra-gen werden sollen

Das Videoserverprogramm webcamXP 5 erkennt beim Aufrufen automatisch an den RCL-Server angeschlossenen USB-Webcams Vor dem Kauf einer IP-Kamera ist zu pruumlfen ob das Modell unterstuumltzt wird14 IP-Kameras muumlssen im Kontextmenuuml der Videoquelle konfigu-riert werden Abb 17 zeigt das Webcambild einer USB-Webcam vom Szintillationsschirm der Elektronenbeugungsroumlhre

Abb 17 Webcambild des Szintillationsschirms der Elektro-

nenbeugungsroumlhre einer USB-Webcam in webcamXP 5 beim RCL Elektronenbeugung

14 Vgl Moonware Studios webcamXP IP-cameras for webcamXP

31

Zum Einbinden des Webcambilds in die Laborseite des RCLs wird die laborsprachenabhaumln-gige Datei videohtm (rarr 434) in den Ordnern eng fra ger und ita verwendet Standardmauml-szligig werden zwei Webcambilder und Screenshots unterstuumltzt der Code fuumlr weitere Webcam-bilder kann durch copy and paste hinzugefuumlgt werden

Unter den Technologien Java Javaskript Flash und Windows Media fuumlr die Wiedergabe ei-nes Livestreams auf eine Webseite wurde Javaskript gewaumlhlt weil die anderen Technologien die Installation des Java Runtime Environments (JRE) des Flash- oder Windows Media Players durch den Besucher eines RCLs voraussetzen Die Wiedergabe des Livestreams mit einem Java-Applet startet zudem erst verzoumlgert nachdem das Applet geladen ist und verfuumlgt uumlber eine zu geringe Wiedergabegeschwindigkeit

33 Standard-Lernumgebung Bestandteil der Entwicklung eines RCLs ist die Erstellung einer Standard-Lernumgebung zum RCL Abb 18 zeigt exemplarisch fuumlr die deutschen Webseiten im Ordner ger das Menuuml (larr 11 Abb 3) und die Dateistruktur der Standard-Lernumgebung

Abb 18 Deutschsprachiges Menuuml und Dateistruktur der Standard-Lernumgebung

RCL-spezifisch anzupassende Dateien sind grau hinterlegt

Die englischen Dateinamen introductionhtm setuphtm hellip im Ordner ger korrespondieren mit den deutschen Menuumlpunkten Wird das RCL unter dem Menuumlpunkt RCLs des RCL-Portals aufgerufen dann ruft die Frameset-Datei indexhtm die Dateien menuumlhtm und intro-ductionhtm auf und das Menuuml wird zusammen mit der Webseite Einstieg dargestellt Die Wahl weiterer Menuumlpunkte ruft jeweils die korrespondiere Datei im Ordner auf Bei Wahl des Menuumlpunkts Labor werden mit der Frameset-Datei laboratoryhtm die Dateien videohtm fuumlr das Webcamfeld und die Datei laborindexphp fuumlr das Bedienfeld aufgerufen

32

Im Ordner docsmaterial werden alle Dokumente fuumlr die Webseite Material im Ordner docsothers die Dokumente anderer Webseiten abgelegt Im Ordner docsoriginals sind die Originale von Dokumenten wie z B Word-Dateien und der verwendeten Bilder abgelegt Grafikdateien der Webseiten Einstieg hellip Auswertung hellip Betreuung werden in gleichnami-gen Ordnern wie z B imagesanalysis abgelegt Bei sprachenunabhaumlngigen Grafikdateien wird unter dem Dateinamen abbx bei sprachenabhaumlngigen unter dem Dateinamen abbx_lan mit lan = eng fra ger und ita gespeichert Analoges gilt fuumlr die als gif-Grafiken forxgif oder forx_langif zu speichernden Formeln Originale von Bildern werden im Ordner imagesoriginals abgelegt Die Webseite zur Datei htdocsindexhtm enthaumllt zum lokalen Aufrufen der Standard-Lernumgebung Links zu den vier Index-Dateien in den Ordnern eng fra ger und ita Die Stylesheet-Datei htdocsrcl_stylecss enthaumllt die Styles der Webseiten

In der Regel werden Standard-Lernumgebungen der RCLs des RCL-Portals von verschiede-nen Personen erstellt Fehlende Gestaltungs- und Formatierungsregeln fuumlhren zu einem un-einheitlichen inattraktivem Erscheinungsbild des RCL-Portals Tab 6 gibt einen Uumlberblick der wichtigsten Gestaltungs- und Formatierungsregeln

Element Richtlinien

Gliederung

Die Webseiten Einstieg Aufbau Aufgaben Diskussion Material und Support enthalten vorgegebene Gliederungspunkte teilweise mit ausgefuumlhrten Uumlberschriften

Die umfangreicheren Webseiten Theorie und Auswertung enthalten ein Inhaltsverzeichnis mit internen Links zu Gliederungspunkten Zwischen Punkten der ersten Gliederungsebene (1 2 hellip) ist ein zwei-zeiliger Abstand (ltpgtampnbspltpgtltpgtampnbspltpgt) zwischen Punkten der zweiten (11 12 hellip) und Punkten der nur falls unbedingt notwendig dritten 111 112 hellip) Gliederungsebene ein einzeiliger Abstand zu waumlhlen Nach Abbildungen und Tabellen folgt ein einzeiliger Abstand zum nachfolgenden Text

Links Keine internen Links zwischen den Webseiten der Lernumgebung Externe Links werden prinzipiell in einem neuen Browserfenster geoumlffnet (blank)

Abbildung

Alle Abbildungen erhalten fortlaufend beginnend mit 1 nummerierte Abbildungsunterschriften der Form Abb x hellip

Abbildungen sind moumlglichst spachenunabhaumlngig d h ohne Texte in der Abbildung zu erstellen Zur Beschriftung koumlnnen z B Zahlen verwendet werden die in der Abbildungsunterschrift oder im Text er-laumlutert werden

Tabellen Tabellen werden in jeder Webseite fortlaufend beginnend mit 1 nummeriert Tabellen sind zu zentrieren Rahmenstaumlrke 1

Formeln

Formeln sind nicht als Textzeichen oder Grafik im laufenden Text einzufuumlgen sondern stets zentriert in einer eigenen Zeile als gif-Grafik

Zum Erstellen der Formel-Grafiken eignet sich z B der Formel-Editor MathType15 mit der Aufloumlsungs-Einstellung 120 dpi fuumlr InternetGif

Formeln brauchen im Rahmen des begrenzten Umfangs der Webseiten nicht nummeriert zu werden Groumlszligen-symbole

Griechische Groumlszligensymbole und mathematische Symbole sind nicht als Grafiken im laufenden Text sondern als HTML-Code einzufuumlgen Eine Zeichenreferenz findet sich bei Selfhtml16

Styles Zur Formatierung der Webseiten werden aus der Stylesheet-Datei nur die drei Styles Uumlberschrift fuumlr

die Uumlberschriften Bildunterschrift fuumlr Abbildungs- und Tabellenunterschriften und Tabellentext fuumlr Tex-te in Tabellen benoumltigt

Tab 6 Richtlinien zur Gestaltung und Formatierung der Standard-Lernumgebung

Detailliertere Informationen zum Layout der Standard-Lernumgebung koumlnnen dem RCL-Ordner und dem Erscheinungsbild der Webseiten von RCLs in Browsern entnommen wer-den

15 Vgl Design Science MathType 16 Vgl Selfhtml HTML-Zeichreferenz

33

4 ANHANG

34

41 Interface in Basisschaltung 411 Schaltplan und Bauteilliste Abb 19 zeigt den Schaltplan der Basisschaltung des Interface und Tab 7 die dazugehoumlrige Bauteilliste

Abb 19 Basisschaltung des Interface

Nr Anzahl Kurzbeschreibung des Bauteils Best-Nr bei Reichelt electronic

Einzelpreis in euro

0 1 Epoxyd-Platine (190x112 mm) mit Anteil Loumltpunktraster (Spezi-

alanfertigung) - asymp 10

1 1

Epoxyd-Fotoplatine einseitig 160x100 mm 15 mm 35 microm Epoxyd-Lochrasterplatine 160x100 mm 15 mm 35 microm

BEL 160x100-1 UP 832EP

170 420

1 1 Hohlstecker-Einbaubuchse gewinkelt Loumltfahnen 21 mm HEBW 21 018 2 1 D-SUB-Stecker 9-polig gewinkelt RM 94 D-SUB ST 09EU 029 3 1 Schottky Diode DO41 40 V 1 A SB 140 008 4 1 Draht von abgeschnittenem Beinchen aus Pos-Nr 3 - - 5 1 IC-Sockel 16-polig superflach gedreht vergoldet GS 16P 029 6 1 IC-Sockel 40-polig superflach gedreht vergoldet GS 40P 061 7 1 2x10-pol-Stiftleiste gerade RM 254 SL 2X10G 254 007 8 1 Metallschichtwiderstand 100 kΩ Metall 100k 0082 9 1 Elektrolytkondensator 10x16 mm 470 microF RM 50 mm RAD 47025 006 10 1 Elektrolytkondensator 63x11 mm 100 microF RM 25 mm RAD 10016 004 11 5 Elektrolytkondensator 5x11 mm 10 microF RM 20 mm RAD 1035 004 12 2 Keramik-Kondensator 33 pF Kerko 33p 006 13 3 Vielschicht-Keramikkondensator 100 nF 20 Z5U-25 100n 004

35

14 1 Standardquarz Grundton 110592 MHz 110592-HC49U-S 018 15 1 Spannungsregler 1 A positiv TO-220 microA 7805 028 16 1 Kuumlhlkoumlrper fuumlr Gehaumluse TO-220 99KW V FI356 066 17 1 Zylinderkopfschraube Schlitz M3 10 mm fuumlr Kuumlhlkoumlrper M3x10mm 160 18 2 Sechskantmutter M3 fuumlr Kuumlhlkoumlrper SK M3 001 19 1 Stecker-Schaltnetzteil 12 V 2250 mA MW 3IP25GS 1150 20 1 RS232-Driver DIL-16 MAX 232 CPE 041 21 1 ATmega AVR-RISC-Controller DIL-40 ATmega16-16 DIP 420 22 3 10-poliger Wannenstecker RM 254 stehend (optional) WSL 10G 009 23 1 14-poliger Wannenstecker RM 254 stehend (optional) WSL 14G 014 24 1 40-polige Stiftleiste 1-reihig gerade RM254 (optional) SL 1x40G 254 023 25 1 Kunststoffgehaumluse 1982x1124x760 mm (Serientyp 202) - asymp 10 euro 26 1 D-SUB Nullmodem-Kabel 9-pol BUBU 3 m AK 143 155 27 x DIN-Einbaubuchse 5-pol Schraubver 360deg (optional) DIO-50W EMS 185 28 x DIN-Einbaubuchse 8-polig Schraubversch 270deg (optional) DIO-80SN EMS 180 29 x Pfostenstecker 10-polig mit Verrieglung gew (optional) PSL 10W 028 30 x Klemmleiste RM 254 Oumlffnungshebel 8-polig (optional) Wago 233 220

Tab 7 Bauteilliste mit Bestellnummer und Einzelpreisen der Bauelemente bei Reichelt electronic (Stand 23102010)

Anhand der Bauteilliste in koumlnnen die elektronischen Bauelemente der Basisschaltung (larr Tab 7 Nr 0 ndash 21 optional Nr 22 - 24) bei Reichelt electronic bestellt werden Das Gehaumluse des Interface (larr Tab 7 Nr 25) sollte vom Hersteller HAGOTECH GmbH bezogen werden Weiterhin wird ein Nullmodemkabel (larr Tab 7 Nr 26) zur Verbindung des Interface mit dem Computer benoumltigt Sensoren und Aktoren des Experiments koumlnnen mit optionalen Steck-verbindern (larr Tab 7 Nr 27 - 30) und entsprechende Kabelverbindungen an das Interface angeschlossen werden Die Nummern 0 - 25 stimmen mit der angegebenen Bestuumlckungs-reihenfolge auf der Platine uumlberein Das Interface kostet in der Basisschaltung ca 50 euro

412 Bestuumlckung der Platine Abb 20 zeigt zur Bestuumlckung der Platine benoumltigte Werkzeuge

Abb 20 Werkzeuge zur Bestuumlckung der Platine des Interface

36

Loumltkolben mit feiner Spitze in Meisselform 2 mm oder Loumltstation (1) Loumltzinnabsauger zum Entfernen von Loumltzinn (2) Nasser Schwamm zum Reinigen der Spitze des Loumltkolbens (3) Loumltzinn mit Durchmesser 08 - 10 mm (4) Flachspitzzange zum Biegen von Anschluumlssen der Bauelemente (5) Seitenschneider zum Kuumlrzen der Beinchen von Bauelementen (6) Multimeter zum Pruumlfen der Funktionsfaumlhigkeit der Schaltung (7) Sekundenkleber zur Befestigung von Bauelementen Kleine Bohrmaschine z B von Dremel und 08 mm Bohrer oder duumlnne Rundfeile zum

Weiten von Loumlchern auf der Platine des Interface

Abb 21 zeigt die Platine des Interface von der Loumltseite in der Spezialanfertigung der Elekt-ronik-Werkstatt an der Technischen Universitaumlt Kaiserslautern und in der Selbstbauvariante (larr Tab 7 Nr 0) Abb 22 zeigt das Platinenlayout

Abb 21 Platine des Interface von der Loumltseite als Spezialanfertigung (links) und der Selbstbauvariante

(rechts)

Abb 22 Layout zur Herstellung des geaumltzten Teils der

Platine in der Selbstbauvariante

37

In der Selbstbauvariante kann anhand des Platinenlayouts eine selbst geaumltzte Platine fuumlr die Basisschaltung auf einer Platine im Europakartenformat hergestellt und diese in der Laumlnge gekuumlrzt werden Eine gekuumlrzte Lochrasterplatine bildet den zweiten Teil der Platine Mit den optionalen vier Wannensteckern (larr Tab 7 Nr 22 - 23) oder den vier Stiftleisten (larr Tab 7 Nr 24) an den Ports des Mikrocontrollers koumlnnen leicht elektrische Verbindungen zum Rasterteil der Platine herstellt werden Abb 23 zeigt die fertig bestuumlckte Platine mit den Nummern aus Tab 7

Abb 23 Bestuumlckte Platine des Interface mit nummerierten Bauelementen

Tab 8 beschreibt das Einloumlten der elektronischen Bauelemente anhand der Nummern aus Tab 7 und in der angegebenen Reihenfolge

Nr Bauelement Beschreibung des Einbaus

0 Spezialanfertigung und Selbst-bauvariante der Epoxydharz-

Platine

1

Stromversorgungsbuchse ndash Hohlstecker 21 mm

Wenn die Loumltbeine nicht durch die Loumlcher der Platine passen die Loumlcher mit einer runden Schluumlsselfeile aufweiten

Stromversorgungsbuchse mit Sekundenkleber vor dem Festloumlten auf der Pla-tine fixieren da diese mechanischen Belastungen durch das Einstecken und Herausziehen des 12 V -Steckers ausgesetzt ist

Wahlweise kann die 25 mm-Version der Buchse verwendet werden

2

RS232 Datenstecker

RS232 Datenstecker mit Sekundenkleber vor dem Festloumlten auf der Platine fixieren da dieser mechanischen Belastungen durch das Einstecken und Herausziehen des Null-Modem-Kabels ausgesetzt ist

Alle Beinchen und Befestigungsstifte zur houmlheren Stabilitaumlt anloumlten

3

Ein Ring an einer Seite der Diode (hier links weiszlig) zeigt die Durchlass- bzw Sperrrichtung der Diode an Die Position des Ringes entspricht der Position des Balkens im Schaltungssymbol

38

Diode ndash SB140 Auf der Platine muss der Ring auf der von der Stromversorgungsbuchse ab-

gewandten Seite liegen

4 Drahtbruumlcke

Vor dem Einloumlten des 40-poligen IC-Sockels (Nr 5) muss eine Drahtbruumlcke unter diesem eingeloumltet werden Dazu koumlnnen die abgeschnittenen Beinchen der bereits eingeloumlteten Diode (Nr 3) verwendet werden

5 6

IC-Fassungen

Die 16-polige und 40-polige IC-Fassungen besitzen eventuell eine Markie-rung fuumlr Pin1 (z B Kerbe in der Stirnseite Punkt Pfeilhellip) als Hilfe fuumlr das richtige Einstecken der ICs Die Markierungen muumlssen bei beiden Fassungen nach oben also zum naumlchstliegenden Rand der Platine zeigen

Die ICs unbedingt noch nicht einstecken

7

ISP-Stiftleiste

Die doppelreihige ISP-Stiftleiste dient der Programmierung des Mikrocontrol-lers mit dem AVR-ISP-Programmer (ISP steht fuumlr In System Programming)

ISP-Stiftleiste auf 2 x 5 Stifte kuumlrzen und mit den kurzen Beinchen einloumlten so dass auf die langen Stifte der AVR-ISP-Programmer gesteckt werden kann

8

Widerstand 100 kΩ

Den 100 kΩ-Widerstand rechts neben der ISP-Stiftleiste einloumlten

9

10

11

Elkos

Bei den verwendeten Elektrolyt-Kondensatoren ist die Polung zu beachten (langes Beinchen = Plus-Pol) Weiterhin ist auf den Kondensatoren ein wei-szliger Streifen mit Minus-Zeichen aufgedruckt Die Kondensatoren sollten eine Spannungsfestigkeit von mindestens 16 V besser 25V besitzen

Auf der Kupferseite der Platine zeigt die Form der Loumltaugen die Polung an Rundes Loumltauge = Plus quadratisches Loumltauge = Minus

Der 470 microF Kondensator wird mit dem weiszligen Streifen in Richtung Stromver-sorgungsbuchse direkt unter diese montiert

Der 100 microF Kondensator sitzt direkt unter der 16-poligen IC-Fassung Sein weiszliger Streifen (Minus-Pol) zeigt in Richtung der Stromversorgungsbuchse

Vier der 10 microF Kondensatoren werden links neben der 16-poligen IC-Fassung montiert Deren Polung ist wie folgt Unterster Kondensator Minus nach oben naumlchster Kondensator Minus nach unten die beiden oberen Kondensatoren mit Minus nach oben

Ein weiterer 10 microF Kondensator wird rechts neben die 16-polige IC-Fassung geloumltet Sein Minus-Streifen zeigt nach unten

12

13

Keramik-Kondensatoren

Die Beschriftung 104 bedeutet 10e4 pF = 100 nF Die beiden 33 pF-Kerkos (Keramik-Kondensatoren) werden direkt nebenei-

nander rechts neben die 16-polige IC-Fassung geloumltet Zwei 100 nF-Kondensatoren werden unter dem 470 microF-Elko eingeloumltet ein

weiterer mittig an der linken Seite der 40-poligen IC-Fassung

14

Quarz

Als Quarz wird ein 110592 MHz-Typ verwendet Bei dieser Frequenz ist eine fehlerfreie Kommunikation uumlber RS232 mit 9600 Baud moumlglich Fuumlr den AT-mega16 koumlnnen Quarze bis 16 MHz eingesetzt werden Details siehe Daten-blatt

Der Quarz wird direkt rechts neben die beiden 33 pF-Kerkos geloumltet Die Ori-entierung des Quarz spielt keine Rolle

15

16

17

18

Der Spannungsregler L7805 erzeugt eine stabilisierte Spannung von 5 V Es muss ein Kuumlhlkoumlrper zur Waumlrmeabfuhr vom Spannungsregler verwendet werden

Vor dem Einloumlten zwischen Spannungsregler und Kuumlhlkoumlrper etwas Waumlrme-leitpaste aufgetragen Beide Bauteile fest mit einer Schraube M3x10 und ei-ner 1 Mutter verschrauben

Dann den Spannungsregler einloumlten um 90deg abzubiegen das uumlberstehende Gewinde durch das vorgesehene Loch stecken und alles mit einer 2 Mutter auf der Platine befestigen

1 Mutter

2 Mutter

Schr

aube

L7805

Platine

KuumlhlkoumlrperWaumlrmeleitpaste

Beinchen

Loumlten

39

Spannungsregler L7805 Kuumlhl-koumlrper und Montage

19

Steckernetzteil

Funktionskontrolle vor dem Einsetzen des Mikrocontrollers Polung der Elektrolyt-Kondensatoren (Elkos) pruumlfen Sind alle Beinchen angeloumltet Hat das Loumltzinn an den Beinchen und der Pla-

tine guten Kontakt Sind eventuell zwei benachbarte Beinchen unbeabsichtigt durch Loumltzinn verbunden Alle Loumltverbindungen nochmals genau z B mit ei-ner Lupe pruumlfen

Probeweise das Stecker-Netzteil an die Buchse anschlieszligen Am 100 nF-Kondensator links mittig der 40-poligen IC-Fassung muumlssen 5 V anliegen

Versorgungsspannung unbedingt wieder von der Platine trennen

20

21

ICs MAX232 und ATmega16

Die Nuten auf den ICs am linken Rand muumlssen nach oben zeigen d h Pin1 ist bei beiden ICs in der Abbildung links unten und auf der Platine oben links

Manchmal passen die Beinchen der ICs nicht in die Fassung weil die Fas-sung scheinbar zu schmal ist Dann den IC seitlich mit einer Beinchen-Reihe flach auf den Tisch legen den IC-Koumlrper links und rechts greifen und Bein-chen durch leichten Druck biegen Einzelne verbogene Beinchen vorsichtig mit einer kleinen Flachzange richten

22

23

Wannenstecker 10- und 14-polig

Wannenstecker an den vorgesehe-nen Stellen mit der Nut gegen Ver-polung in Richtung des naumlherliegen-den Platinenrands einloumlten

Die Abbildung rechts zeigt die Pin-Belegung der Wannenstecker

24

Stiftleiste 8-polig 40-pol Stiftleiste in 4 jeweils 8-polige Stuumlcke zerteilen und einloumlten

25

Kunststoffgehaumluse

In der Selbstbauvariante der Platine (Nr 0) vor dem Einsetzten der Platine in das Gehaumluse passend positionierte Kunststoffstege am Gehaumluseboden fest-kleben

Tab 8 Bestuumlckung der Platine des Interface mit Bauelementen

42 Erweiterungsschaltungen 421 Uumlbersicht In Tab 3 sind von RCLs des RCL-Portals Sensoren und Aktoren mit den dazugehoumlrigen Er-weiterungsschaltungen zusammengestellt Da alle RCLs obligatorisch uumlber mindestens eine Webcam verfuumlgen sind diese unter den Sensoren nicht aufgefuumlhrt Die wenigen Erweite-rungsschaltungen fuumlr Sensoren sind unter Sensoren in Klammern aufgelistet Unter Aktoren werden auszliger elektro-mechanischen Wandlern auch gesteuerte Geraumlte oder Bauelemente verstanden Anzeigeinstrumente sind unter Aktoren nur aufgefuumlhrt wenn sie direkt vom In-terface gesteuert werden Mit gekennzeichnete Erweiterungsschaltungen befinden sich au-szligerhalb des Interface

40

RCL Sensoren Aktoren Erweiterungsschaltungen fuumlr Aktoren

Beugung und Interferenz I Referenz-Taster

Schrittmotor (Rotation) Schrittmotorsteuerung Laser-Modul Geschaltete Spannungsversorgung

Beugung und Interferenz II

4 Referenz-Taster Lichtsensor

4 Schrittmotoren (Translation) 4 Schrittmotorsteuerungen 5 Laser-Module Geschaltete Spannungsversorgung LED fuumlr Position des

Lichtsensors Geschaltete Spannungsversorgung

LED fuumlr Linealbeleuchtung Geschaltete Spannungsversorgung

Elektronen-beugung

Hochspannungsnetzgeraumlt Geschaltete Spannungsversorgung Hochspannungsnetzgeraumlt Steuerung der Hochspannung

Fotoeffekt 2 Referenz-Taster Photozelle

2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen

Quecksilberdampflampe Geschaltete Spannungsversorgung

der Drossel fuumlr Quecksilberdampf-lampe

Halbleiter-kennlinien

und Halbleiterkennli-nien - Schuumller-

projekt

Referenz-Taster

Schrittmotor (Rotation) Schrittmotorsteuerung Oszilloskop Geschaltete Spannungsversorgung

Oszilloskop Instrumentenverstaumlrker fuumlr X- und Y-Ablenkung

Multimeter Steuerung Spannungs- oder Strom-anzeige

Heiszliger Draht 4 Endtaster 4 Drehgeber Kurzschlusssensor

4 Gleichstrommotoren 4 Treiber

Zweifarbige LED Steuerung der LED-Farbe

Lichtgeschwin-digkeit

Drehimpulsgeber 2 Taster an Enden

der Eisenbahnstre-cke

2 Schrittmotoren 2 Schrittmotorsteuerungen Oszilloskop Geschaltete Spannungsversorgung

Motor der Lokomotive Steuerung des Ein- und Ausschal-tens und der Bewegungsrichtung

Maut Infrarot-Sensor Gleichstrommotor Geschaltete Spannungsquelle 2 IR-Fernbedienungen Spannungsregler 2-stellige 7-Segmentanzeige LED-Treiber

Millikan-Versuch 2 Referenz-Taster

2 Schrittmotoren 2 Schrittmotorsteuerungen Lichtquelle (LED) fuumlr Millikan-

Kondensator Geschaltete Spannungsversorgung

Airbrush-Kompressor Geschaltete Spannungsversorgung Magnetventil Geschaltete Spannungsversorgung Millikan-Kondensator Gesteuertes Hochspannungsmodul

Optische Com-putertomogra-

phie

2 Referenz-Taster 2 Lichtsensoren

Schrittmotor (Rotation) Schrittmotorsteuerung Schrittmotor (Translation) Schrittmotorsteuerung

2 Laser-Module 2 geschaltete Spannungsversor-gungen

Optische Fou-rier-

Transformation 2 Referenz-Taster

2 Schrittmotoren (Translation) 2 Schrittmotorsteuerungen

Laser-Modul Geschaltete Spannungsversorgung

Oszilloskop Oszilloskop Geschaltete Spannungsversorgung Signalgenerator Steuerung der Signalart

Radioaktivitaumlt 4 Referenz-Taster Geiger-Muumlller-

Zaumlhlrohr

2 Schrittmotoren (Translation) 2 Schrittmotorsteuerungen 2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen 4-stellige 7-Segment-Anzeige Treiber Elektromagnet Geschaltete Spannungsversorgung

Roboter im Labyrinth Infrarot-Sensor

2 Schrittmotoren 2 Schrittmotorsteuerung Infrarot-Sender Treiber

Rutherfordscher Streuversuch

2 Referenz-Taster Halbleiterdetektor

(Impulsformer)

2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen

4-stellige 7-Segment-Anzeige Treiber

Weltpendel

Referenz-Taster Lichtsensor der

Lichtschranke (Im-pulsformer)

Temperatursensor

Schrittmotor (Translation) Schrittmotorsteuerung Elektromagnet Geschaltete Spannungsversorgung

Laser der Lichtschranke Geschaltete Spannungsversorgung

Windkanal Referenz-Taster Schrittmotor (Translation) Schrittmotorsteuerung

41

Dehnungsmess-streifen (Wheat-stonesche Bruumlcke Messverstaumlrker Multimeter)

Geblaumlsemotor Geschaltete Spannungsversorgung

und Ansteuerung mit Pulsweiten-modulation

Anemometer Geschaltete Spannungsversorgung Multimeter Geschaltete Spannungsversorgung

Tab 9 Sensoren Aktoren und Erweiterungsschaltungen der RCLs des RCL-Portals

422 TMC222-Modul zur Schrittmotorsteuerung 4221 Schaltplan und Bauteilliste Abb 1 zeigt die Beschaltung des TMC222 von Trinamic auf dem TMC222-Modul

Abb 24 Beschaltung des TMC222 von Trinamic

Anhand der Bauteilliste in Tab 10 koumlnnen die elektronischen Bauelemente des TMC222-Moduls bei Reichelt electronic bestellt werden Ein TMC222-Modul kostet ungefaumlhr 10 euro

Nr Anzahl Kurzbeschreibung des Bauteils Best-Nr bei Reichelt electronic

Einzelpreis in euro

0 1 Epoxyd-Fotoplatine einseitig 75x100 mm 15 mm 35 microm BEL75X100-1 096 1 1 Integrierter TMC-Schrittmotor-Controller TMC 222 SI asymp 7 2 1 Elektrolytkondensator 8x11 mm Rm 35 mm 100 microF35 V RAD 10035 004 3 1 Tantal-Kondensator Rm 25 10 microF35 V Tantal 1035 014 4 2 Vielschicht-Keramikkondensator 220 nF 20 Z5U-25 220N 011 5 3 Vielschicht-Keramikkondensator 100 nF 20 Z5U-25 100N 004 6 2 Metallschichtwiderstand 100 kΩ Metall 100K 0082 7 1 1x36pol Stiftleiste gewinkelt Rm 254 SL 1X36W 027 8 1 1x36pol Buchsenleiste gerade Rm 254 BL 1X36G 025

Tab 10 Bauteilliste mit Bestellnummer und Einzelpreisen der Bauelemente bei Reichelt electronic (Stand 23102010)

4222 Bestuumlckung der Platine

42

Abb 25 zeigt die fertig bestuumlckte Platine mit den Nummern aus Tab 10

Abb 25 Bestuumlckte Platine des TMC222-Moduls

mit nummerierten Bauelementen

Die Platine (35 mm x 30 mm) kann anhand des Layouts in Abb 26 hergestellt werden Der IC TMC222 wird auf der Loumltseite der Platine aufgeloumltet Das TMC222-Modul kann mit der Stiftleiste (larr Tab 10 Nr 7) in eine Buchsenleiste (larr Tab 10 Nr 8) auf die Platine des In-terface gesteckt werden

Abb 26 Platine des TMC222-Moduls von der Loumltseite (links) und Layout

4223 Quellcode des Mikrocontroller-Programms Im Folgenden ist ein mit Bascom (larr 12 Tab 1 Entwicklungsumgebungen) erstelltes Bei-spiel-Programm zur Ansteuerung des Schrittmotormoduls TMC222 durch den Mikrocontroller ATmega16 angegeben $regfile = m16DEFdat $crystal = 11059200 $baud = 9600 Definitionen Config Scl = Portc0 Taktleitung Config Sda = Portc1 Datenleitung Const Adress = ampB11000000 I2C Adresse des TMC222 Const GetFullstatus1 = ampB10000001 Kommando des TMC222 Const Resetpos = ampB10000110 Kommando des TMC222 Const Motorparameter = ampB10001001 Kommando des TMC222 Const Setposition = ampB10001011 Dim Puffer(10) As Byte

43

Programm I2csend Adress GetFullstatus1 GetFullstatus1 (Initialisierung des TMC222) I2creceive Adress 7 Ack Daten in Puffer auslesen Puffer(1) = Motorparameter puffer auffuumlllen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB11110011 1111irun 0011ihold Puffer(5) = ampB01110001 0111vmax 0001vmin Puffer(6) = ampB00010000 000securepos(bit10-8) 1shaft 0000acceleration Puffer(7) = 0 securepos(bit7-0) Puffer(8) = ampB00001100 000nicht belegt 0accshape 11stepmode 00nicht belegt I2csend Adress Puffer(1) 8 I2csend Adress Resetpos aktuelle Position auf 0 setzen Puffer(1) = Setposition Motor bewegen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB01111111 position(bit 15-8) Puffer(5) = ampB11111111 position(bit 7-0)acute I2csend Adress Puffer(1) 5 End

423 Geschaltete Spannungsquellen und Verbraucher Die Ausgaumlnge des Mikrocontrollers duumlrfen nur mit Stroumlmen kleiner als ungefaumlhr 20 mA belas-tet werden Verbraucher mit einer Stromlast groumlszliger als 20 mA koumlnnen daher nicht direkt an den Mikrocontroller angeschlossen werden Abb 27 zeigt links eine Schaltung zum Schalten eines Verbrauchers wie z B des Relais und rechts eine Schaltung mit dem IC ULN2803A zum Schalten mehrerer Verbraucher wie z B Gluumlhlampen

Abb 27 Erweiterungsschaltungen zum Schalten eines (links) oder

mehrerer Verbraucher (rechts)

Zu beachten ist dass der Transistor BC337 maximal 800 mA schalten kann und fuumlr groumlszligere Stroumlme andere Transistoren verwendet werden muumlssen

424 Steuerung von Gleichstrommotoren

44

Sollen Gleichstrommotoren zum Bewegen von Objekten mit dem Mikrocontroller gesteuert werden dann eignet sich dazu der in Abb 28 dargestellte beschaltete IC L293D

Abb 28 Beschaltung des L293D zum

Steuern zweier Gleichstrom-motoren

Mit Pin 1 = Pin 9 = 1 (High) koumlnnen zwei Gleichstrommotoren M1 und M2 (Versorgungs-spannung UM lt 36 V Spulendauerstrom IM lt 600 mA) unabhaumlngig voneinander ein- und ausgeschaltet sowie in der Drehrichtung uumlber die Ports PA0 und PA1 fuumlr M1 und PA2 und PA3 fuumlr M2 gesteuert werden Z B gilt mit PA0 = PA1 = 0 (M1 ausgeschaltet) PA0 = 1 und PA1 = 0 (M1 dreht sich) PA0 = 0 und PA1 = 1 (M1 dreht sich in Gegenrichtung)

45

43 Quellcodes zum RCL Elektronenbeugung 431 Mikrocontroller-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

46

47

48

49

432 PHP-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

50

51

433 Bedienfeld der Laborseite

Tab 11 erlaumlutert die Funktion der Bloumlcke im Quellcode

Zeilen Funktion 1 Datei defaultconf einbinden 2 Datei headtpl einbinden

5 - 11 Ausgabe der verbleibenden Experimentierzeit 18 - 21 Button zum Einschalten der Elektronenbeugungsroumlhre 28 - 30 Eingabefeld fuumlr die Beschleunigungsspannung

37 Ruumlckmeldung zur eingegebenen Beschleunigungsspannung 42 Datei foottpl einbinden

Tab 11 Funktion der Programmbloumlcke in der Datei experi-menttpl

52

434 Webcamfeld der Laborseite

In Tab 12 ist die Funktion der Programmbloumlcke und die Anpassungen der Vorlage an das RCL Elektronenbeugung beschrieben

Zeilen Funktion Anpassung RCL Elektronenbeugung

5 Titelangabe erscheint als Tabulatorbeschriftung in Browsern

Name des RCLs eintragen

11 - 15 16 - 20

Zwei Javascripts zum getrennten Aufrufen zweier Po-pup-Fenster mit dargestelltem Webcambildern 1 und 2

Javascript 1 die IP-Adresse eintragen Javascript 2 auskommentiert weil nicht benoumltigt

24 - 40 42 - 60

Zwei Javascripts zum Aktualisieren der Webcambilder 1 und 2

Javascript 2 auskommentiert weil nicht benoumltigt

67 - 71 79 - 83

Aufrufen des ersten Webcambilds der Webcams 1 und 2 beim Aufrufen der Datei

Webcambild 2 auskommentiert weil nicht benoumltigt

72 - 78 84 - 90

Buttons zum Aufrufen der Screenshots der Webcam-bilder 1 und 2

Button 2 auskommentiert weil nicht benoumltigt

91 - 95 Zeile der Tabelle zum Eintragen von Informationen die sich auf die Webcambilder oder den Versuch beziehen

Text in Zeile der Tabelle geschrieben

Tab 12 Funktionen der Codeabschnitte in der Datei videohtm und Anpassung der Vor-lage an das RCL Elektronenbeugung

53

44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung Im Folgenden wird die Installation und Konfiguration des AVR-Studios 418 und der Bascom 11198 Demoversion beschrieben Alle Anleitungen sind zeilenweise von links nach rechts zu lesen

441 AVR-Studio 418 4411 Installation Auf der Webseite von ATMEL Register AVR Studio 418 (build 684) anklicken und Registrie-rungsformular ausfuumlllen Danach die Datei AvrStudio418Setup herunterladen Durch Dop-pelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen Next waumlhlen

I accept hellip und Next waumlhlen Installationsordner und Next waumlhlen

54

Installupgrade hellip und Next waumlhlen Install waumlhlen Die Installation beginnt

Finish waumlhlen

4412 Konfiguration AVR Studio 418 in Windows XP Professional unter StartProgramme aufrufen

Startfenster mit Cancel schlieszligen Unter ToolsProgram AVR Auto Connect waumlhlen

55

Im eingeblendeten Fenster auf der Registerkarte Main als Device ATmega16 und als Programming Mode ISP mo-de waumlhlen

Optional kann Signatur gelesen werden

In der Registerkarte Fuses alle Haumlkchen und Auswahlfel-der wie angegeben waumlhlen

Dann Program waumlhlen

442 BASCOM 11198 Demoversion 4421 Installation Auf der Webseite von Bascom unter Bascom AVR Demo die Zip-Datei setupdemoexe her-untergeladen Durch Doppelklick auf den Dateinamen die Installation starten

Next waumlhlen I accept the agreement und Next waumlhlen

56

Next waumlhlen Installationsordner eingeben und Next waumlhlen

Eintrag im Start-Menuuml eingeben und Next waumlhlen Next waumlhlen

Yes restart the computer now und Finish waumlhlen

57

4422 Konfiguration Bascom AVR in Windows XP Professional unter StartProgramme zum Einstellen der Para-meter des Mikrocontrollers und des Terminals aufrufen

OptionsCompilerChip waumlhlen Einstellungen wie im Bild vornehmen und OK waumlhlen

Auf der Registerkarte Communications Einstellungen wie im Bild vornehmen und OK waumlhlen

Unter OptionsCommunication Einstellungen wie im Bild

vornehmen und OK waumlhlen FileNew waumlhlen Unter ToolsTerminal emulator das Terminal aufrufen und

eingeben Die Befehlsliste des RCLs Elektronenbeu-gung wird angezeigt

45 Installation und Konfiguration von Programmen auf dem RCL-Server Im Folgenden wird der Download die Installation und die Konfiguration von Programmen auf dem RCL-Server unter Windows XP Professional beschrieben Alle Anleitungen sind zeilen-weise von links nach rechts zu lesen Die Installation der Programme sollte in der angegebe-nen Reihenfolge erfolgen

58

451 Einrichten des Internet-Zugangs LAN-Verbindung unter StartSystemsteuerungNetzwerkverbindungen aufrufen

Internetprotokoll (TCPIP) und Eigenschaften waumlhlen Folgende IP-Adresse verwenden waumlhlen IP-Adressen ein-

geben und OK waumlhlen

452 Paket XAMPP 174 Unter apache friends - xampp fuumlr windows und XAMPP Windows 174 Installer anklicken und Datei xampp-win32-174-VC6-installerexe speichern Durch Doppelklick auf die Datei die Installation starten

Sprache und Ok waumlhlen Ok waumlhlen

59

Weiter waumlhlen Zielverzeichnis mit Durchsuchen waumlhlen oder eingeben

Apache nicht als Dienst installieren Fertig stellen waumlhlen

Ja waumlhlen Zum Starten des Apache Webservers das Control Panel

unter StartProgrammeXAMPP 173 for Windows mit Start starten Anstelle von Start erscheint Running

Zum Beenden des Apache Webservers Stop waumlhlen Zum Beenden des Control Panels Exit waumlhlen

60

453 Videoserver webcamXP 5 Private Auf der Webseite von Moonware Studios unter webcamXP 55xx die Datei wlite550 herun-terladen Durch Doppelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen I Agree waumlhlen

Next waumlhlen Auszliger webcamXP 5 brauchen keine weiteren Komponen-

ten installiert zu werden

Den vorgeschlagenen Ordner und Install waumlhlen Finish waumlhlen

61

WebcamXP unter StartProgramme aufrufen Zugesandte

Lizenz-Daten in das eingeblendete Fenster eingeben und Register waumlhlen

Beim Starten des Programms stellt webcamXP automa-tisch eine Verbindung zu den am Computer angeschlosse-nen Webcams her

Nach dem Start ist Uumlberwachen gewaumlhlt Durch Rechts-klick mit der Maus auf das Videofenster wird zu jeder Vi-deoquelle ein Kontextmenuuml angezeigt Wird kein Videobild dargestellt das Kontextmenuuml aufrufen Art der Videoquelle waumlhlen (hier USB) und unter den erkannten Videoquellen (hier USB-Videogeraumlt) die gewuumlnschte waumlhlen

Das Videoformat muss fuumlr eine passende Darstellung auf

der Laborseite auf 320 x 240 eingestellt sein Ist das nicht der Fall im Kontextmenuuml unter Video Format einstellen

In gleicher Weise kann eine zweite Videoquelle hinzugefuumlgt werden

In der Registerkarte Web Broadcast kann unter

Broadcast (HTTP) der Videoserver mit Ausschalten ge-stoppt und mit Aktivieren gestartet werden

Zur Zielwahl des Webservers (131246237167 - Internet D16W3X3J - Computer 127001 - Local Host) Videoser-ver stoppen und einstellen Videoserver wieder starten

62

454 Terminalprogramm Hyperterminal Hyperterminal in Windows XP Professional unter StartProgrammeZubehoumlrKommunikation aufrufen

Name der neuen Verbindung - z B Interface - eingeben

und OK waumlhlen Die Verbindung zwischen Computer und Interface wurde

uumlber einen USB-Seriell-Adapter hergestellt Dann erschei-nen zwei zusaumltzliche Eintraumlge (Motorola Comp Modem und COM5) in der Liste Prinzipiell muss eine COMx-Verbindung gewaumlhlt werden

Eigenschaften von COM 5 wie im Bild einstellen und OK

waumlhlen DateiEigenschaften aufrufen und ASCII-Konfiguration

waumlhlen

63

Haken bei Eingegebene Zeichen lokal ausgeben (lokales

Echo) setzen um eingegebenen Zeichen im Hyperterminal zu sehen

Bei funktionsfaumlhiger Verbindung erscheint nach Eingabe von Return die Befehlsliste des Interface

Durch Aufrufen von DateiSpeichern die erstellte Verbin-

dung z B auf dem Desktop speichern Dadurch braucht die Verbindung nicht immer wieder von neuem konfiguriert wer-den

Nach Aufrufen von DateiBeenden die bestehende Verbin-dung mit Ja beenden

64

Wurde ein falscher COM-Port gewaumlhlt reagiert das Inter-

face auf die Eingabe Return nicht Hyperterminal dann beenden

Der COM-Port kann dann nicht unter DateiEigenschaften im Hyperterminal aber unter Eigenschaften des Kontext-menuumls der Datei Interfaceht in der Registerkarte Verbin-den mit geaumlndert werden Dann OK waumlhlen und erneut Verbindung testen

65

455 Fernwartungssoftware TeamViewer 6 Host Auf der Webseite von Teamviewer GmbH unter Fuumlr unbeaufsichtigte Server TeamViewer Vollversion die Datei TeamViewer_Setup-wq herunterladen Das Programm muss auf dem RCL-Server und dem Computer der auf den RCL-Server zugreifen soll installiert werden Durch Doppelklick auf die Datei die Installation starten

Ausfuumlhren waumlhlen Weiter waumlhlen

Fuumlr die private nicht kommerzielle Nutzung ist Teamviewer kostenlos

privat nicht-kommerziell und Weiter waumlhlen

Beide Haumlkchen setzen und Weiter waumlhlen

66

Ja un Weiter waumlhlen Weiter

Computername und Kennwort fuumlr den Zugriff auf den RCL-Server oder den eigenen Computer vergeben Kenn wort notie-ren

Ein Teamviewerkonto ist nicht erforderlich Kann auch spaumlter noch eingerichtet werden

ID fuumlr den Computer auf dem das Programm installiert wird fuumlr Zugriff notieren

Das Programm wird gestartet Standardmaumlszligig vorein-gestellt ist der Start des Programms beim Start des Be-trienssystems

67

46 Selbstbau eines elementaren RCLs 461 Hard- und Software Auch ohne gleich ein vielleicht teures physikalisches Experiment zu steuern laumlsst sich mit wenigen Bauelementen ein elementares RCL realisieren Von einer Webseite im Internet sol-len eine Leuchtdiode (LED) ein- oder ausgeschaltet sowie der Zustand der Leuchtdiode und eines Tasters abgefragt werden An Hard- und Software werden benoumltigt

1 Low-Current-LED 5 mm 2 mA 1 Widerstand 18 kΩ 1 Taster und optional zwei 10-polige Wannenstecker mit ungefaumlhr 10 cm passendem Flachbandkabel und Buchsen

Interface in Basisschaltung Null-Modem-Kabel 12 V DC Steckernetzteil (larr 1)

Installierte Bascom-Demo-Version (larr 42)

AVR ISP-Programmer mit 10-poligem Programmierkabel

Installiertes und konfiguriertes AVR Studio 418 (larr 41)

Installiertes Paket XAMPP (larr 52)

Texteditor wie z B Notepad in Windows XP Professional

Konfigurierte Hyperterminalverbindung (larr 54)

462 Bestuumlckung der Platine Abb 29 zeigt zur Orientierung fuumlr das Einloumlten der Bauelemente die fertig bestuumlckte Platine des Interface

Abb 29 Mit elementarem RCL bestuumlckte Platine

des Interface

LED mit Vorwiderstand und der Taster sind rechts neben dem Mikrocontroller im Lochraster-bereich aufgebaut und uumlber Wannenstecker und Flachbandkabel mit dem Port A des Mikro-controllers verbunden (die drei Bauteile rechts neben dem ATmega16 werden nicht benouml-tigt) Tab 13 erlaumlutert die Schritte zur Bestuumlckung der Platine des Interface

68

Nr Schaltung Erlaumluterung

1

Die Leuchtdiode (LED) mit dem Pluspol (langes Beinchen) an PortA0 (PIN40 oben rechts) des Mikrocontrollers anloumlten

An das kurze Beinchen einen 18kΩ Widerstand loumlten dessen anderes Ende mit der Masse (GND) verbinden

2

Den Taster mit PortA1 (PIN39 = 2 Beinchen von oben rechts) und Masse (GND) verbinden

3

Draufsicht

Belegung des 10-poligen Wannensteckers 1 GND (Masse) im Foto oben links 2 +5 V 3 PortA0 4 PortA1 10 PortA7 im Foto unten rechts

Tab 13 Schritte zum Aufbau des elementaren RCLs

463 Lokal gesteuertes RCL Nachfolgend ist der Basic-Programmcode des Mikrocontrollers zur Steuerung und Abfrage der LED und des Tasters angegeben 01 $regfile = m16DEFdat Microcontroller ATmega16 02 $crystal = 11059200 110592MHz Quarz 03 $baud = 9600 Baudrate 04 05 ---[ Variables ]--------------------------------------------------------------- 06 Dim Rs232kommando As String 10 erst Befehlspuffer dann Kommando 07 Dim Parameter As String 10 Parameter 08 Dim Str_pos As Byte Position von Leerzeichen zur Trennung von Kommando und Pa-rameter 09 10 ---[ Initialisierung ]--------------------------------------------------------- 11 Ddra0 = 1 PortA0 als Ausgang fuumlr LED 12 Porta0 = 0 LED aus 13 Ddra1 = 0 PortA1 als Eingang fuumlr Taster 14 Porta1 = 1 Pull-Up aktivieren 15 16 ---[ Main program loop ]------------------------------------------------------- 17 Do Start der Endlos-Schleife 18 19 If Ischarwaiting() = 1 Then Zeichen uumlber RS232 empfangen 20 Input Rs232kommando neues Kommando lesen 21 Parameter = Parameter initialisieren 22 Str_pos = Instr(rs232kommando ) Leerzeichen im Kommando suchen 23 If Str_pos gt 0 Then falls Leerzeichen dann in Kommando+Parameter zerlegen 24 Incr Str_pos Str_pos soll jetzt auf 1Zeichen des Parameters zeigen 25 Parameter = Mid(rs232kommando Str_pos ) Parameter = Teilstring nach Leerzeichen 26 Parameter = Ucase(parameter) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 27 Str_pos = Str_pos - 2 Str_pos soll jetzt auf letztes Zeichen des Kommandos zeigen 28 Rs232kommando = Left(rs232kommando Str_pos)Kommando = Teilstring vor Leerzeichen 29 Rs232kommando = Ucase(rs232kommando) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 30 End If 31 32 Select Case Rs232kommando Eventhandler Interpretation der Kommandos 33 Case Print Hilfe Hilfeseite anzeigen 34 Print LED on - LED einschalten 35 Print LED off - LED ausschalten 36 Print LED - zeigt Status der LED an 37 Print SW - zeigt Status des Schalters an 38

1K8

LED rotmicroC PortA0(PIN40)

Taster

microC PortA1(PIN39)

1

3

2

69

39 Case LED If Parameter = ON Then LED schalten 40 Porta0 = 1 41 End If 42 If Parameter = OFF Then 43 Porta0 = 0 44 End If 45 46 Case LED If Porta0 = 0 Then Status der LED ausgeben 47 Print LED aus 48 Else 49 Print LED an 50 End If 51 52 Case SW If Pina1 = 1 Then Status des Schalters ausgeben 53 Print Taster offen 54 Else 55 Print Taster geschlossen 56 End If 57 58 Case Else Print gt Rs232kommando lt ungueltiger Befehl - weitere Infos mit Info bei unguumlltigen Eingaben 59 End Select 60 61 End If 62 63 Loop Endlos-Schleife Springe zu Do 64 65 End wird nie erreicht

Der erste Teil des Programms (Zeilen 1 - 15) enthaumllt die Systemparameter Variablen und Initialisierung der Ein- und Ausgaumlnge Der zweite Teil enthaumllt ab Zeile 17 das Hauptpro-gramm in dem Benutzereingaben uumlber die serielle Schnittstelle empfangen interpretiert und in entsprechende Anweisungen umgesetzt werden Tab 14 erlaumlutert den Programmcode de-taillierter

Zeilen Erlaumluterung

1 - 3 Diese Angaben teilen dem Compiler (Bascom) mit welcher Prozessor eingesetzt wird wie schnell dieser getaktet (Quarz) ist und mit welcher Uumlbertragungsgeschwindigkeit die Kommunikation uumlber die serielle Schnittstelle (RS232) mit dem PC erfolgen soll

6 - 8 Es werden drei Variablen genutzt Die Eingabe uumlber die serielle Schnittstelle wird in rs232kommando gespeichert Es wird ein Text der Form Kommando ltLeerzeichengt Parameter erwartet so dass die Variable Parameter den-selbigen aufnimmt Die Variable str_pos wird fuumlr die Trennung von Kommando und Parameter benoumltigt

11 - 14

Mit dem Befehl ddrPX (ddr = data direction) wird festgelegt ob ein Beinchen als Ausgang (=1) oder als Eingang (=0) arbeiten soll Der ATmega16 besitzt 32 Ein-Ausgaumlnge die in vier Ports (P=AD) zu je 8 Pins (X=07) unterteilt sind ddrA0 = 1 legt also das 1 Beinchen (Pin 0) von PortA als Ausgang (=1) fest Mit dem Befehl PortA0 =1 kann dieser Pin dann durch Zuweisen von 1 oder 0 an- bzw ausgeschaltet werden Im Datenblatt erfahren Sie welches der 40 Beinchen des Mikrocontrollers wie bezeichnet wird (Pin-Belegung) Wird ein Beinchen als Eingang verwendet (ddrA1 = 0) koumlnnen Sie optional einen so genannten Pull-Up-Widerstand aktivieren (PortA1=1) oder deaktivieren (PortA1=0) Auch hierzu sollten Sie sich unbedingt mit dem Datenblatt vertraut machen

17 63 Das Hauptprogramm besteht aus einer Endlosschleife d h der Mikrocontroller verrichtet ununterbrochen seinen Job so lange er mit Strom versorgt wird

19 - 30 Falls ein Zeichen uumlber die serielle Schnittstelle empfangen wurde wird dieses und alle folgenden gelesen Anschlie-szligend wird gepruumlft ob der empfangene Text von der Form Kommando ltLeerzeichengt Parameter ist so dass er ge-gebenenfalls in ein Kommando und einen Parameter zerlegt werden kann

32 - 59 Dieser Abschnitt wird mit Event-Handler bezeichnet Hier wird auf die Kommandos (Events) reagiert und die ent-sprechenden Schritte ausgefuumlhrt zB schalten LED je nach Wert der Variablen Parameter an- bzw ausschalten

46 52

In beiden Zeilen wird ein Wert eines Ports abgefragt Unterschiedlich ist dass in Zeile 46 der Status eines Ausgangs abgefragt wird (porta0) und in Zeile 52 der Zustand eines Eingangs (pina0) Die Anweisung IF porta0 = 0 THEN pruumlft (hier ist = ein Vergleich und KEINE Zuweisung) ob zuletzt die LED ausgeschaltet (Zuweisung porta0 = 0) wurde Die Anweisung IF pina1= 1 THEN liest den Status eines Eingangs Hier kann festgestellt werden ob der Eingang uumlber den internen Pull-UP-Widerstand auf +5V liegt (pina1 liefert 1) oder ob der Schalter den Eingang mit Masse (0V) verbindet (pina1 liefert 0)

Tab 14 Erlaumluterung des Mikrocontroller-Programmcodes fuumlr elementares RCL

70

In Bascom AVR eine neue Datei erzeugen (FileNew) den Programmcode ohne Kommenta-re eingeben und mit ProgramCompile (F7) eine Hexadezimaldatei erzeugen Die Hexadezi-maldatei mit dem AVR-Studio und dem AVR-ISP-Programmer in den Mikrocontroller schrei-ben (larr 222 Programmuumlbertragung) Nach dem Verbinden von Computer und Interface per Null-Modem-Kabel kann durch Eingabe von in das konfigurierte Hyperterminal die Befehls-liste in Abb 30 aufgerufen werden

Abb 30 Aufgerufene Befehlsliste im Hyperterminal

Durch Eingabe von LED on oder LED off kann die LED ein- und ausgeschaltet LED zeigt den Status der LED und sw den Status des Tasters an Alternativ zum Hyperterminal kann auch das Terminal in BASCOM unter ToolsTerminal Emulator verwendet werden (larr 422)

464 Ferngesteuertes RCL Zum Ansteuern des Interfaces und zum Bedienen des Versuchsaufbaus uumlber das Internet wird eine Webseite benoumltigt die dem Benutzer alle Bedienelemente des Experiments zur Verfuumlgung stellt

Der Benutzer benoumltigt anklickbare Buttons im Webbrowser

Der Webserver muss die Information welcher Button gedruumlckt wurde empfangen und ein entsprechendes Kommando uumlber die serielle Schnittstelle an das Interface senden

Beide Schritte sind im nachfolgenden PHPHTML-Quellcode zusammengefasst 01 ltDOCTYPE HTML PUBLIC -W3CDTD HTML 401 TransitionalEN httpwwww3orgTRhtml4loosedtdgt 02 lthtmlgt 03 ltheadgt 04 ltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1gt 05 lttitlegtelementares RCLlttitlegt 06 ltheadgt 07 08 ltbodygt 09 ltphp 10 if (isset($_POST[Kommando])) wurde bereits Kommando gesendet 11 if( ( $handle = fopen( COM1 w+ ) ) ) Schnittstelle oumlffnen 12

71

13 throw new Exception( Can not access serial port 2 ) ohne Erfolg 14 15 fwrite( $handle $_POST[Kommando] chr( 13 ) ) Befehl an Interface senden 16 switch ( $_POST[Kommando] ) Antwort von Interface auswerten 17 case LED $tmp = fgets( $handle ) Echo von Interface ignorieren 18 $antwort = fgets( $handle ) Antwort des Interfaces 19 echo Antwort $antwort Ausgabe auf Webseite 20 break switch verlassen 21 22 case SW $tmp = fgets( $handle ) Echo von Interface ignorieren 23 $antwort = fgets( $handle ) Antwort des Interfaces 24 echo Antwort $antwort Ausgabe auf Webseite 25 break switch verlassen 26 27 28 29 fclose( $handle ) Schnittstelle schlieszligen 30 31 else 32 `mode com1 BAUD=9600 PARITY=N data=8 stop=1 xon=off` Schnittstellenparameter setzen 33 34 35 gt 36 37 lth3gtBefehl sendenlth3gt 38 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 39 ltinput type=hidden name=Kommando value=LED ON gt 40 ltinput type=submit value=LED anschalten gt 41 ltformgt 42 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 43 ltinput type=hidden name=Kommando value=LED OFF gt 44 ltinput type=submit value=LED ausschalten gt 45 ltformgt 46 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 47 ltinput type=hidden name=Kommando value=LED gt 48 ltinput type=submit value=LED abfragen gt 49 ltformgt 50 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 51 ltinput type=hidden name=Kommando value=SW gt 52 ltinput type=submit value=Taster abfragen gt 53 ltformgt 54 ltbodygt 55 lthtmlgt Den Quellcode in den Texteditor kopieren und im Ordner htdocs von XAMPP z B unter rclphp speichern HTML-Dateien mit PHP-Code (Zeilen 9-35) muumlssen mit der Erweiterung php gespeichert werden damit der Apache Webserver zwischen HTML-Seiten mit und ohne PHP-Code unterscheiden kann Den installierten Apache Webserver starten (larr 452) und im Adressfeld des Webbrowsers die IP-Adresse http127001rclphp aufrufen Das Bedi-enfeld des elementaren RCLs in Abb 31 wird im Browserfenster angezeigt

72

Abb 31 Laborseite des elementaren RCLs

Im Bedienfeld kann die LED an- und ausgeschaltet sowie der Status von LED und Taster abgefragt werden

  • 0 Warum ein Tutorial zur RCL-Technik
  • 1 Technische Konzeption
    • 11 Einfuumlhrung
    • 12 Wahl der RCL-Technik
      • 2 Lokal gesteuertes RCL
        • 21 Interface
          • 211 Mikrocontroller
          • 212 Basisschaltung und Erweiterungsschaltungen
          • 213 Programmierung des Mikrocontrollers
            • 22 Hyperterminal
            • 23 Positionieren von Objekten
              • 231 Hybrid-Schrittmotoren
              • 232 Schrittmotorsteuerung und Positionierungsmechanik
                  • 3 Ferngesteuertes RCL
                    • 31 RCL-Server
                    • 32 Laborseite
                      • 321 Steuerung des RCLs uumlber das Bedienfeld
                      • 322 Videouumlbertragung im Webcamfeld
                        • 33 Standard-Lernumgebung
                          • 4 ANHANG
                            • 41 Interface in Basisschaltung
                              • 411 Schaltplan und Bauteilliste
                              • 412 Bestuumlckung der Platine
                                • 42 Erweiterungsschaltungen
                                  • 421 Uumlbersicht
                                  • 422 TMC222-Modul zur Schrittmotorsteuerung
                                    • 4221 Schaltplan und Bauteilliste
                                    • 4222 Bestuumlckung der Platine
                                    • 4223 Quellcode des Mikrocontroller-Programms
                                      • 423 Geschaltete Spannungsquellen und Verbraucher
                                      • 424 Steuerung von Gleichstrommotoren
                                        • 43 Quellcodes zum RCL Elektronenbeugung
                                          • 431 Mikrocontroller-Programmierung
                                          • 432 PHP-Programmierung
                                          • 433 Bedienfeld der Laborseite
                                          • 434 Webcamfeld der Laborseite
                                            • 44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung
                                              • 441 AVR-Studio 418
                                                • 4411 Installation
                                                • 4412 Konfiguration
                                                  • 442 BASCOM 11198 Demoversion
                                                    • 4421 Installation
                                                    • 4422 Konfiguration
                                                        • 45 Installation und Konfiguration von Programmen auf dem RCL-Server
                                                          • 451 Einrichten des Internet-Zugangs
                                                          • 452 Paket XAMPP 174
                                                          • 453 Videoserver webcamXP 5 Private
                                                          • 454 Terminalprogramm Hyperterminal
                                                          • 455 Fernwartungssoftware TeamViewer 6 Host
                                                            • 46 Selbstbau eines elementaren RCLs
                                                              • 461 Hard- und Software
                                                              • 462 Bestuumlckung der Platine
                                                              • 463 Lokal gesteuertes RCL
                                                              • 464 Ferngesteuertes RCL

22

Abb 11 Funktionsprinzip von Schrittmotoren Unipolare (links) und bipolare Schaltung (rechts)

von Schrittmotoren mit Bestromungstabellen fuumlr Voll- und Halbschrittbetrieb Darge-stellt ist der Schritt 0

Der Rotor verfuumlgt bei der dargestellten Polreihenfolge S-S-N-N des Stators uumlber eine stabile Stellung bei einer hypothetischen (magnetische Monopole) Polreihenfolge N-S-N-S gaumlbe es mit diesem Aufbau des Stators nur instabile Stellungen des Rotors Um den Rotor in Bewe-gung zu setzen muss die Polreihenfolge S-S-N-N im oder entgegen den Uhrzeigersinn (Rechts- oder Linksdrehung) weitergeschaltet und der Rotor vom magnetischen Schrittfeld mitgenommen werden

Die magnetische Polaritaumlt eines magnetischen Kreises laumlsst sich entweder durch zwei Spu-len konstanter elektrischer Polaritaumlt mit unterschiedlichem Wicklungssinn (herstellungstech-nisch zu aufwendig) durch eine Spule mit Mittelanzapfung und konstanter elektrischer Pola-ritaumlt der beiden Teilspulen (unipolare Schaltung) oder durch eine Spule mit wechselnder elektrischer Polaritaumlt (bipolare Schaltung) realisieren In Abb 11 sind dazu die elektrischen Beschaltungen und die Bestromungstabellen fuumlr eine Rechtsdrehung des Rotors dargestellt Fuumlr eine Linksdrehung des Rotors muss die Schrittfolge in umgekehrter Reihenfolge durch-laufen werden

Es wird zwischen Vollschrittbetrieb (graue Zeilen der Tabellen) mit Schrittwinkel 90deg bzw Schrittzahl 4 und Halbschrittbetrieb (alle Zeilen der Tabellen) mit Schrittwinkel 45deg bzw Schrittzahl 8 unterschieden Beim Vollschrittbetrieb werden immer beide magnetische Kreise bestromt und die N-S-Polachse des Rotors nimmt nur Stellungen zwischen den Statorpolen

23

an Beim Halbschrittbetrieb wird zwischen den Vollschritten nur einer der magnetischen Krei-se bestromt und die N-S-Polachse des Rotors kann zusaumltzlich 4 Stellungen in Richtung der Statorpole einnehmen Der Hybrid-Schrittmotor ist die am haumlufigsten vertretene Bauform von Schrittmotoren Abb 12 zeigt den Aufbau eines Hybrid-Schrittmotors

Abb 12 Aufbau eines Hybrid-Schrittmotors fuumlr unipolare und

bipolare Schaltung Daten Schrittwinkel 18deg max Drehmoment 155 Ncm

Der Stator besteht aus zwei Straumlngen mit je 4 in Reihe geschalteten Spulen Der Wick-lungssinn der Spulen ist in beiden Straumlngen so dass sich die Polfolge N-S-N-S uumlber den Umfang ergibt Beide Straumlnge zusammen ergeben unabhaumlngig von der Stromrichtung ei-ne Polfolge N-N-S-S-N-N-S-S uumlber den Umfang Ein zweipoliger Rotor (Polpaarzahl 1) kann im Vollschrittbetrieb 4 Stellungen annehmen Der Rotor des Hybridschrittmotors be-steht aber aus axial magnetisierten Permanentmagneten deren Polpaarzahl durch axial versetzte weichmagnetische Zahnscheiben auf 50 erhoumlht wurde Dadurch erhoumlht sich die Schrittzahl auf 4 sdot 50 = 200 und der Schrittwinkel verkleinert sich auf 360deg200 = 18deg Um stabile Rotorstellungen zu erhalten muumlssen die Statorsegmente ebenfalls gezahnt ausge-fuumlhrt werden

Ein solcher Hybrid-Schrittmotor vereint die Vorteile des Reluktanz- und des permanenter-regten Schrittmotors Ein kleiner Schrittwinkel wird durch das von Reluktanzschrittmotoren bekannte Prinzip der Erzeugung einer Vielzahl von Polen des Rotors durch Zahnscheiben erzielt Ein hohes Drehmoment wird durch das von permanenterregten Schrittmotoren be-kannte Prinzip der Ausfuumlhrung des Rotors als Permanentmagnet erzielt Aufgrund der bi-filaren Wicklung besteht jede Statorwicklung aus zwei Teilspulen und der Schrittmotor kann in unipolarer (alle 6 Anschluumlsse verwendet) und bipolarer Schaltung (nur 4 An-schluumlsse verwendet gemeinsamer Anschluss der Teilspulen bleibt unverwendet) wie in Abb 12 dargestellt verwendet werden

24

Schrittmotoren erlauben nicht nur das Bewegen sondern innerhalb der Leistungsgrenzen (keine Schrittverluste) auch ein genaues Positionieren von Objekten Bei bekannter Schrittzahl auf einer gemessenen Strecke oder Schrittzahl fuumlr den Vollwinkel koumlnnen aus-gehend von einer Referenzstellung Objekte translatorisch oder rotatorisch positioniert werden

232 Schrittmotorsteuerung und Positionierungsmechanik Im Folgenden wird die bei allen RCLs mit Schrittmotoren eingesetzte Schrittmotorsteuerung die Mechanik zur translatorischen Positionierung von Objekten und die Funktionsweise eines Referenztasters beschrieben

Schrittmotorsteuerung Abb 13 zeigt das Blockschaltbild und das im Selbstbau herstellbare TMC222-Modul (rarr 4221 rarr 4222) mit dem IC TMC222 von Trinamic zur Steuerung bipolarer 2-phasiger Hybrid-Schrittmotoren

Abb 13 Blockschaltbild (links) und Platine des TMC222-Moduls (rechts) mit IC TMC 222 auf

der Loumltseite der Platine

Der IC TMC222 enthaumllt ein I2C-Interface zum Anschluss an den I2C-Bus des Mikrocon-trollers (Ports PC0 und PC1) Die 10 kΩ-Pull-up-Widerstaumlnde heben die Takt- (SCL clock) und Datenleitung (SDA data) auf ein Potential von 5 V Der IC TMC222 enthaumllt ei-nen Motortreiber fuumlr Spulenstroumlme bis zu 800 mA und einen Motor-Controller zur Steue-rung der Spulenstroumlme Ein Vorteil des TMC-Moduls ist der relativ geringe Programmier-aufwand fuumlr den Mikrocontroller (rarr 4223) da der IC TMC222 nach Uumlbergabe der Steu-erungsparameter (Drehrichtung Drehzahl hellip) vom Mikrocontroller die Ansteuerung des Schrittmotors uumlbernimmt Der IC TMC222 unterstuumltzt das Beschleunigen und Abbremsen des Schrittmotors enthaumllt einen Schrittpositionszaumlhler und unterstuumltzt Mikrostepping (va-riable Spulenstroumlme zur elektronischen Verkleinerung des Schrittwinkels und groumlszligerer Laufruhe)

25

Falls in RCLs Gleichstrommotoren mit houmlheren Drehzahlen als Schrittmotoren benoumltigt werden kann eine andere Erweiterungsschaltung (rarr 424) eingesetzt werden

Positionierungsmechanik und Referenz-Taster Die Mechanik zur rotatorischen Positionierung von Objekten kann meist kostenguumlnstig selbst oder durch Personal in einer Werkstatt angefertigt werden Abb 14 zeigt eine kos-tenguumlnstige Loumlsung zur translatorischen Positionierung von Objekten

Abb 14 Positionierungseinheit eines Flachbrett-

Scanners Schrittmotor (1) Getriebe (2) Li-nearfuumlhrung (3) Antriebsriemen (4) und er-gaumlnzter Referenz-Taster (5)

Falls der geometrische Aufbau und die geforderte Positionierungsgenauigkeit des RCLs es zulassen kann die Schrittmotor-Positionierungs-Einheit ausgedienter Flachbrett-Scanner zur translatorischen Positionierung von Objekten verwendet werden In Einzelfaumll-len wie dem RCL Weltpendel kann die Positionierungsmechanik auch selbst angefertigt werden Der Referenz-Taster in Abb 14 wird eingesetzt um abzufragen ob ein vom Schrittmotor bewegtes Objekt die Position des Tasters erreicht hat und um diese Position zu referenzieren Ohne eine solche Referenzierung kann die Positionierung eines Objekts langfristig ungenau werden So kann z B beim RCL Weltpendel das Auftreffen der Kugel auf den Magneten zum Uumlberspringen von Schrittmotorstellungen fuumlhren Der Zustand des Referenz-Tasters in Abb 15 wird z B uumlber den Port PA0 des Mikrocontrollers abgefragt

Abb 15 Referenz-Taster zum referenzieren der

Position des bewegten Objekts

26

Zu Problemen koumlnnen undefinierte Zustaumlnde der Eingaumlnge des Mikrocontrollers fuumlhren wie sie beim Prellen dem zeitlich begrenzten schwingen eines Tasters beim Oumlffnen oder Schlieszligen entstehen Abhilfe schafft ein passend dimensionierter parallel zum Taster ge-schalteter Kondensator Bei geoumlffnetem Taster ist der Kondensator aufgeladen Beim Schlieszligen haumllt der Kondensator die Spannung uumlber die Schwingphase trotz kurzzeitig wieder geoumlffnetem Schalter noch aufrecht Analoges gilt fuumlr den Uumlbergang vom geschlos-senen zum geoumlffneten Taster

3 Ferngesteuertes RCL 31 RCL-Server Fuumlr den Betrieb eines RCLs wird ein RCL-Server benoumltigt (larr 11) Vorausgesetzt wird dass bei einem neuen Computer alle notwendigen Treiber (Ethernet Video Audio hellip) zum Be-trieb der Hardware des Computers und Windows XP Professional mit Service Pack 3 instal-liert sind Ein Benutzerkonto braucht nicht angelegt zu werden

Der RCL-Server benoumltigt einen Internetzugang mit statischer IP-Adresse und Uploaddatenra-te von mindestens 200 kbits (DSL 2000) fuumlr die fluumlssige Wiedergabe von Bewegungen in Webcambildern Die statische IP-Adresse wird von der Institution am Standort des RCLs vergeben oder kann von Privatpersonen bei einem Provider beantragt werden Mit folgenden Schritten wird der RCL-Server eingerichtet

Internetzugang einrichten (rarr 451) und im Browser testen

Checken ob die Windows Firewall aktiviert ist

Virenschutzproramm Avira Antivir Personal herunterladen (larr Tab 1) installieren und ak-tualisieren

Uumlber Windows Update alle Updates von Windows XP Professional installieren

Fernwartungssoftware TeamViewer 6 Vollversion (larr Tab 1) herunterladen und auf dem RCL-Server und dem eigenen Computer installieren (rarr 455)

Webeditor Notepad++ herunterladen installieren und aktualisieren (larr Tab 1)

Videoserver WebcamXP 5 herunterladen und installieren (rarr 453)

Paket XAMPP herunterladen und installieren (rarr 452) Verknuumlpfungen mit den Dateien xampphtdocsapache_startbat und xampphtdocsapache_stopbat auf dem Desktop oder in der Schnellstartleiste erstellen und Webserver mit erstgenannter Verknuumlpfung starten Webserver durch Eingabe von 127001 oder localhost ins Adressfeld des Brow-sers testen Bei erfolgreichem Test werden die im Ordner xampphtdocs abgelegten Webseiten von XAMPP dargestellt Statische IP-Adresse des RCL-Servers im Browser eines anderen Computers mit Internetzugang eingegeben Bei erfolgreichem Test werden die Webseiten von XAMPP dargestellt In der Datei xamppphpphpini unter Resource Limits die max_execution_time mit dem Windows-Editor von 60 auf 300 erhoumlhen und die

27

Datei speichern damit PHP bei Befehlen mit laumlngerer Ausfuumlhrungsdauer keine Fehler-meldung liefert

Ordner xampphtdocs mit den Webseiten von XAMPP in xampphtdocs_xampp um-benennen und fuumlr spaumltere Testzwecke nicht loumlschen RCL-Ordner htdocs herunterladen (larr Tab 1) extrahieren und in das Verzeichnis xampp verschieben

Abb 16 zeigt die Struktur des RCL-Ordners htdocs

Abb 16 Struktur des RCL-Ordners htdocs RCL-spezifisch anzupassende Dateien sind grau

hinterlegt

Der geoumlffnete Ordner Labor enthaumllt alle PHP- und HTML-Dateien bzw Programmierungen fuumlr die Funktionalitaumlt des Bedienfelds der Laborseite (larr 11 Abb 3) An das RCL anzupas-sen sind die portalsprachenunabhaumlngigen Dateien configphp und experimentphp sowie fuumlr jede Portalsprache die Dateien defaultconf und experimenttpl in den Ordnern eng fra ger und ita

Datei configphp Zeit bis zum automatischen Logout beim Experimentieren mit dem RCL eintragen

Datei experimentphp PHP-Basisprogrammierung um die RCL-spezifische PHP-Programmierung erweitern (rarr 432)

Datei defaultconf Name des RCLs (z B Elektronenbeugung) in jeder Portalsprache ein-getragen

Datei experimenttpl HTML-Basisprogrammierung um RCL-spezifische Ein- und Ausga-befelder erweitern (rarr 433)

28

32 Laborseite 321 Steuerung des RCLs uumlber das Bedienfeld Das Bedienfeld der Laborseite (larr 11 Abb 3) wird von der Dateien indexphp und experi-menttpl erzeugt Befehle wie das Anklicken von Buttons Eingaben und Auswahl aus Listen werden in ein HTML-Formular mit Formularfeldern in der Datei experimenttpl geschrieben Die Daten werden von der PHP-Datei experimentphp ausgewertet und uumlber die serielle Schnittstelle dem Mikrocontroller-Programm zur Steuerung des Experiments uumlbergeben Die Dateien experimentphp und experimenttpl wurden getrennt angelegt um Code und Design zu trennen und nur das Design in der Datei experimenttpl an die Portalsprache anpasst werden muss

Tab 5 enthaumllt Ausschnitte der HTML-Datei experimenttpl (rarr 433) der Datei experi-mentphp (rarr 432) und des Mikrocontroller-Programms (rarr 431) fuumlr das RCL Elektronen-beugung

29

Code mit Erlaumluterung

expe

rimen

ttpl

1821 Tag ltformgtltformgt definiert ein Formular 18 Attribut action legt fest dass Formulardaten in der Datei indexphp verarbeitet werden Uumlbertragen

werden eine Session-ID ($sid) um exklusiven Zugriff des jeweilgen Besuchers zu sichern und ($portal) um die vom Besucher gewaumlhlte Sprache beizubehalten post ist eine Uumlbertragungsmethode zwischen Browser und Webserver und gibt die die vom Besucher gewaumlhlte Aktion zum Ansteuern des Experiments an die Datei experimenttpl weiter

20 Erzeugt im Bedienfeld den Sendebutton (submit) mit der Aufschrift Elektronenroumlhre einschalten (valu-e)

19 Unsichtbares Feld (hidden) mit Variablennamen action und Wert RoumlhreAn Der Variablenname ac-tion stimmt nur zufaumlllig mit action in Zeile 18 uumlberein

expe

rimen

tphp

24 Die Funktion wird als Eventhaumlndler bezeichnet weil je nach uumlbergebener Aktion - siehe Zeile 19 in experi-

menttpl - die entsprechenden Anweisungen (case) ausgefuumlhrt werden 37 Fuumlr den Fall dass die Variable $action den Wert RoumlhreAn hat wird die Funktion power_on() aufgeru-

fen

59 Schreibt in die Logdatei logtxt den Text RoumlhreAn 6061 Oumlffnet den in der Datei configphp zentral gespeicherten Com-Port an den das Interface angeschlossen ist

oder gibt Fehlermeldung Can not access file system im Bedienfeld aus falls der Com-Port sich nicht oumlff-nen laumlsst

62 Sendet die Zeichenfolge On und chr(13) (entspricht der Betaumltigung der Return-Taste im Hyperterminal) an den Mikrocontroller

63 Schlieszligt serielle Schnittstelle

Que

llcod

e M

ikro

cont

rolle

r

166 Wird uumlber die serielle Schnittstelle der Befehl on empfangen und ist das Einschalten zulaumlssig (Zeiten fuumlr

PowerOnDelay und Standby abgelaufen) dann hellip 167 Hochspannungsnetzgeraumlt einschalten 168 Der DA-Wandler PCF8591 wird unter seiner Adresse PCF8591 = 01001000 angesprochen Parameterein-

stellungen mit 01000000 und Ausgangsspannung auf 0 V einstellen 169 Setzt Standby auf vorgegebene Standbyzeit zuruumlck 171 Gibt Meldung aus wie lange PowerOnDelay noch dauert

Tab 5 Uumlbertragung des Befehls Elektronenroumlhre einschalten vom Bedienfeld zum Experi-ment

30

Anhand der Erlaumluterungen der Programmcodes koumlnnen die Ablaumlufe zwischen dem Druumlcken des Buttons Elektronenroumlhre einschalten und dem Einschalten der Elektronenbeugungs-roumlhre oder der Eingabe einer Beschleunigungsspannung und dem Anlegen einer Beschleu-nigungsspannung verfolgt werden Uumlber das Bedienfeld koumlnnen nur die von der Datei expe-rimenttpl bereitgestellten Befehle on und da der insgesamt implementierten Befehle (rarr 22 Abb 10) aufgerufen werden

322 Videouumlbertragung im Webcamfeld Zur Aufnahme von Livebildern des Experiments koumlnnen USB-Webcams und IP-Kameras (Netzwerkkameras) eingesetzt werden Teurere IP-Kameras muumlssen eingesetzt werden wenn die Kamera wie z B beim RCL Roboter im Labyrinth zu weit vom Computer entfernt ist oder eine besonders lichtempfindliche Kamera aus der Uumlberwachungstechnik wie z B beim RCL Millikan-Versuch benoumltigt wird W-LAN-Kameras kommen zum Einsatz wenn Bil-der von einem beweglichen Objekt aus wie z B beim RCL Roboter im Labyrinth uumlbertra-gen werden sollen

Das Videoserverprogramm webcamXP 5 erkennt beim Aufrufen automatisch an den RCL-Server angeschlossenen USB-Webcams Vor dem Kauf einer IP-Kamera ist zu pruumlfen ob das Modell unterstuumltzt wird14 IP-Kameras muumlssen im Kontextmenuuml der Videoquelle konfigu-riert werden Abb 17 zeigt das Webcambild einer USB-Webcam vom Szintillationsschirm der Elektronenbeugungsroumlhre

Abb 17 Webcambild des Szintillationsschirms der Elektro-

nenbeugungsroumlhre einer USB-Webcam in webcamXP 5 beim RCL Elektronenbeugung

14 Vgl Moonware Studios webcamXP IP-cameras for webcamXP

31

Zum Einbinden des Webcambilds in die Laborseite des RCLs wird die laborsprachenabhaumln-gige Datei videohtm (rarr 434) in den Ordnern eng fra ger und ita verwendet Standardmauml-szligig werden zwei Webcambilder und Screenshots unterstuumltzt der Code fuumlr weitere Webcam-bilder kann durch copy and paste hinzugefuumlgt werden

Unter den Technologien Java Javaskript Flash und Windows Media fuumlr die Wiedergabe ei-nes Livestreams auf eine Webseite wurde Javaskript gewaumlhlt weil die anderen Technologien die Installation des Java Runtime Environments (JRE) des Flash- oder Windows Media Players durch den Besucher eines RCLs voraussetzen Die Wiedergabe des Livestreams mit einem Java-Applet startet zudem erst verzoumlgert nachdem das Applet geladen ist und verfuumlgt uumlber eine zu geringe Wiedergabegeschwindigkeit

33 Standard-Lernumgebung Bestandteil der Entwicklung eines RCLs ist die Erstellung einer Standard-Lernumgebung zum RCL Abb 18 zeigt exemplarisch fuumlr die deutschen Webseiten im Ordner ger das Menuuml (larr 11 Abb 3) und die Dateistruktur der Standard-Lernumgebung

Abb 18 Deutschsprachiges Menuuml und Dateistruktur der Standard-Lernumgebung

RCL-spezifisch anzupassende Dateien sind grau hinterlegt

Die englischen Dateinamen introductionhtm setuphtm hellip im Ordner ger korrespondieren mit den deutschen Menuumlpunkten Wird das RCL unter dem Menuumlpunkt RCLs des RCL-Portals aufgerufen dann ruft die Frameset-Datei indexhtm die Dateien menuumlhtm und intro-ductionhtm auf und das Menuuml wird zusammen mit der Webseite Einstieg dargestellt Die Wahl weiterer Menuumlpunkte ruft jeweils die korrespondiere Datei im Ordner auf Bei Wahl des Menuumlpunkts Labor werden mit der Frameset-Datei laboratoryhtm die Dateien videohtm fuumlr das Webcamfeld und die Datei laborindexphp fuumlr das Bedienfeld aufgerufen

32

Im Ordner docsmaterial werden alle Dokumente fuumlr die Webseite Material im Ordner docsothers die Dokumente anderer Webseiten abgelegt Im Ordner docsoriginals sind die Originale von Dokumenten wie z B Word-Dateien und der verwendeten Bilder abgelegt Grafikdateien der Webseiten Einstieg hellip Auswertung hellip Betreuung werden in gleichnami-gen Ordnern wie z B imagesanalysis abgelegt Bei sprachenunabhaumlngigen Grafikdateien wird unter dem Dateinamen abbx bei sprachenabhaumlngigen unter dem Dateinamen abbx_lan mit lan = eng fra ger und ita gespeichert Analoges gilt fuumlr die als gif-Grafiken forxgif oder forx_langif zu speichernden Formeln Originale von Bildern werden im Ordner imagesoriginals abgelegt Die Webseite zur Datei htdocsindexhtm enthaumllt zum lokalen Aufrufen der Standard-Lernumgebung Links zu den vier Index-Dateien in den Ordnern eng fra ger und ita Die Stylesheet-Datei htdocsrcl_stylecss enthaumllt die Styles der Webseiten

In der Regel werden Standard-Lernumgebungen der RCLs des RCL-Portals von verschiede-nen Personen erstellt Fehlende Gestaltungs- und Formatierungsregeln fuumlhren zu einem un-einheitlichen inattraktivem Erscheinungsbild des RCL-Portals Tab 6 gibt einen Uumlberblick der wichtigsten Gestaltungs- und Formatierungsregeln

Element Richtlinien

Gliederung

Die Webseiten Einstieg Aufbau Aufgaben Diskussion Material und Support enthalten vorgegebene Gliederungspunkte teilweise mit ausgefuumlhrten Uumlberschriften

Die umfangreicheren Webseiten Theorie und Auswertung enthalten ein Inhaltsverzeichnis mit internen Links zu Gliederungspunkten Zwischen Punkten der ersten Gliederungsebene (1 2 hellip) ist ein zwei-zeiliger Abstand (ltpgtampnbspltpgtltpgtampnbspltpgt) zwischen Punkten der zweiten (11 12 hellip) und Punkten der nur falls unbedingt notwendig dritten 111 112 hellip) Gliederungsebene ein einzeiliger Abstand zu waumlhlen Nach Abbildungen und Tabellen folgt ein einzeiliger Abstand zum nachfolgenden Text

Links Keine internen Links zwischen den Webseiten der Lernumgebung Externe Links werden prinzipiell in einem neuen Browserfenster geoumlffnet (blank)

Abbildung

Alle Abbildungen erhalten fortlaufend beginnend mit 1 nummerierte Abbildungsunterschriften der Form Abb x hellip

Abbildungen sind moumlglichst spachenunabhaumlngig d h ohne Texte in der Abbildung zu erstellen Zur Beschriftung koumlnnen z B Zahlen verwendet werden die in der Abbildungsunterschrift oder im Text er-laumlutert werden

Tabellen Tabellen werden in jeder Webseite fortlaufend beginnend mit 1 nummeriert Tabellen sind zu zentrieren Rahmenstaumlrke 1

Formeln

Formeln sind nicht als Textzeichen oder Grafik im laufenden Text einzufuumlgen sondern stets zentriert in einer eigenen Zeile als gif-Grafik

Zum Erstellen der Formel-Grafiken eignet sich z B der Formel-Editor MathType15 mit der Aufloumlsungs-Einstellung 120 dpi fuumlr InternetGif

Formeln brauchen im Rahmen des begrenzten Umfangs der Webseiten nicht nummeriert zu werden Groumlszligen-symbole

Griechische Groumlszligensymbole und mathematische Symbole sind nicht als Grafiken im laufenden Text sondern als HTML-Code einzufuumlgen Eine Zeichenreferenz findet sich bei Selfhtml16

Styles Zur Formatierung der Webseiten werden aus der Stylesheet-Datei nur die drei Styles Uumlberschrift fuumlr

die Uumlberschriften Bildunterschrift fuumlr Abbildungs- und Tabellenunterschriften und Tabellentext fuumlr Tex-te in Tabellen benoumltigt

Tab 6 Richtlinien zur Gestaltung und Formatierung der Standard-Lernumgebung

Detailliertere Informationen zum Layout der Standard-Lernumgebung koumlnnen dem RCL-Ordner und dem Erscheinungsbild der Webseiten von RCLs in Browsern entnommen wer-den

15 Vgl Design Science MathType 16 Vgl Selfhtml HTML-Zeichreferenz

33

4 ANHANG

34

41 Interface in Basisschaltung 411 Schaltplan und Bauteilliste Abb 19 zeigt den Schaltplan der Basisschaltung des Interface und Tab 7 die dazugehoumlrige Bauteilliste

Abb 19 Basisschaltung des Interface

Nr Anzahl Kurzbeschreibung des Bauteils Best-Nr bei Reichelt electronic

Einzelpreis in euro

0 1 Epoxyd-Platine (190x112 mm) mit Anteil Loumltpunktraster (Spezi-

alanfertigung) - asymp 10

1 1

Epoxyd-Fotoplatine einseitig 160x100 mm 15 mm 35 microm Epoxyd-Lochrasterplatine 160x100 mm 15 mm 35 microm

BEL 160x100-1 UP 832EP

170 420

1 1 Hohlstecker-Einbaubuchse gewinkelt Loumltfahnen 21 mm HEBW 21 018 2 1 D-SUB-Stecker 9-polig gewinkelt RM 94 D-SUB ST 09EU 029 3 1 Schottky Diode DO41 40 V 1 A SB 140 008 4 1 Draht von abgeschnittenem Beinchen aus Pos-Nr 3 - - 5 1 IC-Sockel 16-polig superflach gedreht vergoldet GS 16P 029 6 1 IC-Sockel 40-polig superflach gedreht vergoldet GS 40P 061 7 1 2x10-pol-Stiftleiste gerade RM 254 SL 2X10G 254 007 8 1 Metallschichtwiderstand 100 kΩ Metall 100k 0082 9 1 Elektrolytkondensator 10x16 mm 470 microF RM 50 mm RAD 47025 006 10 1 Elektrolytkondensator 63x11 mm 100 microF RM 25 mm RAD 10016 004 11 5 Elektrolytkondensator 5x11 mm 10 microF RM 20 mm RAD 1035 004 12 2 Keramik-Kondensator 33 pF Kerko 33p 006 13 3 Vielschicht-Keramikkondensator 100 nF 20 Z5U-25 100n 004

35

14 1 Standardquarz Grundton 110592 MHz 110592-HC49U-S 018 15 1 Spannungsregler 1 A positiv TO-220 microA 7805 028 16 1 Kuumlhlkoumlrper fuumlr Gehaumluse TO-220 99KW V FI356 066 17 1 Zylinderkopfschraube Schlitz M3 10 mm fuumlr Kuumlhlkoumlrper M3x10mm 160 18 2 Sechskantmutter M3 fuumlr Kuumlhlkoumlrper SK M3 001 19 1 Stecker-Schaltnetzteil 12 V 2250 mA MW 3IP25GS 1150 20 1 RS232-Driver DIL-16 MAX 232 CPE 041 21 1 ATmega AVR-RISC-Controller DIL-40 ATmega16-16 DIP 420 22 3 10-poliger Wannenstecker RM 254 stehend (optional) WSL 10G 009 23 1 14-poliger Wannenstecker RM 254 stehend (optional) WSL 14G 014 24 1 40-polige Stiftleiste 1-reihig gerade RM254 (optional) SL 1x40G 254 023 25 1 Kunststoffgehaumluse 1982x1124x760 mm (Serientyp 202) - asymp 10 euro 26 1 D-SUB Nullmodem-Kabel 9-pol BUBU 3 m AK 143 155 27 x DIN-Einbaubuchse 5-pol Schraubver 360deg (optional) DIO-50W EMS 185 28 x DIN-Einbaubuchse 8-polig Schraubversch 270deg (optional) DIO-80SN EMS 180 29 x Pfostenstecker 10-polig mit Verrieglung gew (optional) PSL 10W 028 30 x Klemmleiste RM 254 Oumlffnungshebel 8-polig (optional) Wago 233 220

Tab 7 Bauteilliste mit Bestellnummer und Einzelpreisen der Bauelemente bei Reichelt electronic (Stand 23102010)

Anhand der Bauteilliste in koumlnnen die elektronischen Bauelemente der Basisschaltung (larr Tab 7 Nr 0 ndash 21 optional Nr 22 - 24) bei Reichelt electronic bestellt werden Das Gehaumluse des Interface (larr Tab 7 Nr 25) sollte vom Hersteller HAGOTECH GmbH bezogen werden Weiterhin wird ein Nullmodemkabel (larr Tab 7 Nr 26) zur Verbindung des Interface mit dem Computer benoumltigt Sensoren und Aktoren des Experiments koumlnnen mit optionalen Steck-verbindern (larr Tab 7 Nr 27 - 30) und entsprechende Kabelverbindungen an das Interface angeschlossen werden Die Nummern 0 - 25 stimmen mit der angegebenen Bestuumlckungs-reihenfolge auf der Platine uumlberein Das Interface kostet in der Basisschaltung ca 50 euro

412 Bestuumlckung der Platine Abb 20 zeigt zur Bestuumlckung der Platine benoumltigte Werkzeuge

Abb 20 Werkzeuge zur Bestuumlckung der Platine des Interface

36

Loumltkolben mit feiner Spitze in Meisselform 2 mm oder Loumltstation (1) Loumltzinnabsauger zum Entfernen von Loumltzinn (2) Nasser Schwamm zum Reinigen der Spitze des Loumltkolbens (3) Loumltzinn mit Durchmesser 08 - 10 mm (4) Flachspitzzange zum Biegen von Anschluumlssen der Bauelemente (5) Seitenschneider zum Kuumlrzen der Beinchen von Bauelementen (6) Multimeter zum Pruumlfen der Funktionsfaumlhigkeit der Schaltung (7) Sekundenkleber zur Befestigung von Bauelementen Kleine Bohrmaschine z B von Dremel und 08 mm Bohrer oder duumlnne Rundfeile zum

Weiten von Loumlchern auf der Platine des Interface

Abb 21 zeigt die Platine des Interface von der Loumltseite in der Spezialanfertigung der Elekt-ronik-Werkstatt an der Technischen Universitaumlt Kaiserslautern und in der Selbstbauvariante (larr Tab 7 Nr 0) Abb 22 zeigt das Platinenlayout

Abb 21 Platine des Interface von der Loumltseite als Spezialanfertigung (links) und der Selbstbauvariante

(rechts)

Abb 22 Layout zur Herstellung des geaumltzten Teils der

Platine in der Selbstbauvariante

37

In der Selbstbauvariante kann anhand des Platinenlayouts eine selbst geaumltzte Platine fuumlr die Basisschaltung auf einer Platine im Europakartenformat hergestellt und diese in der Laumlnge gekuumlrzt werden Eine gekuumlrzte Lochrasterplatine bildet den zweiten Teil der Platine Mit den optionalen vier Wannensteckern (larr Tab 7 Nr 22 - 23) oder den vier Stiftleisten (larr Tab 7 Nr 24) an den Ports des Mikrocontrollers koumlnnen leicht elektrische Verbindungen zum Rasterteil der Platine herstellt werden Abb 23 zeigt die fertig bestuumlckte Platine mit den Nummern aus Tab 7

Abb 23 Bestuumlckte Platine des Interface mit nummerierten Bauelementen

Tab 8 beschreibt das Einloumlten der elektronischen Bauelemente anhand der Nummern aus Tab 7 und in der angegebenen Reihenfolge

Nr Bauelement Beschreibung des Einbaus

0 Spezialanfertigung und Selbst-bauvariante der Epoxydharz-

Platine

1

Stromversorgungsbuchse ndash Hohlstecker 21 mm

Wenn die Loumltbeine nicht durch die Loumlcher der Platine passen die Loumlcher mit einer runden Schluumlsselfeile aufweiten

Stromversorgungsbuchse mit Sekundenkleber vor dem Festloumlten auf der Pla-tine fixieren da diese mechanischen Belastungen durch das Einstecken und Herausziehen des 12 V -Steckers ausgesetzt ist

Wahlweise kann die 25 mm-Version der Buchse verwendet werden

2

RS232 Datenstecker

RS232 Datenstecker mit Sekundenkleber vor dem Festloumlten auf der Platine fixieren da dieser mechanischen Belastungen durch das Einstecken und Herausziehen des Null-Modem-Kabels ausgesetzt ist

Alle Beinchen und Befestigungsstifte zur houmlheren Stabilitaumlt anloumlten

3

Ein Ring an einer Seite der Diode (hier links weiszlig) zeigt die Durchlass- bzw Sperrrichtung der Diode an Die Position des Ringes entspricht der Position des Balkens im Schaltungssymbol

38

Diode ndash SB140 Auf der Platine muss der Ring auf der von der Stromversorgungsbuchse ab-

gewandten Seite liegen

4 Drahtbruumlcke

Vor dem Einloumlten des 40-poligen IC-Sockels (Nr 5) muss eine Drahtbruumlcke unter diesem eingeloumltet werden Dazu koumlnnen die abgeschnittenen Beinchen der bereits eingeloumlteten Diode (Nr 3) verwendet werden

5 6

IC-Fassungen

Die 16-polige und 40-polige IC-Fassungen besitzen eventuell eine Markie-rung fuumlr Pin1 (z B Kerbe in der Stirnseite Punkt Pfeilhellip) als Hilfe fuumlr das richtige Einstecken der ICs Die Markierungen muumlssen bei beiden Fassungen nach oben also zum naumlchstliegenden Rand der Platine zeigen

Die ICs unbedingt noch nicht einstecken

7

ISP-Stiftleiste

Die doppelreihige ISP-Stiftleiste dient der Programmierung des Mikrocontrol-lers mit dem AVR-ISP-Programmer (ISP steht fuumlr In System Programming)

ISP-Stiftleiste auf 2 x 5 Stifte kuumlrzen und mit den kurzen Beinchen einloumlten so dass auf die langen Stifte der AVR-ISP-Programmer gesteckt werden kann

8

Widerstand 100 kΩ

Den 100 kΩ-Widerstand rechts neben der ISP-Stiftleiste einloumlten

9

10

11

Elkos

Bei den verwendeten Elektrolyt-Kondensatoren ist die Polung zu beachten (langes Beinchen = Plus-Pol) Weiterhin ist auf den Kondensatoren ein wei-szliger Streifen mit Minus-Zeichen aufgedruckt Die Kondensatoren sollten eine Spannungsfestigkeit von mindestens 16 V besser 25V besitzen

Auf der Kupferseite der Platine zeigt die Form der Loumltaugen die Polung an Rundes Loumltauge = Plus quadratisches Loumltauge = Minus

Der 470 microF Kondensator wird mit dem weiszligen Streifen in Richtung Stromver-sorgungsbuchse direkt unter diese montiert

Der 100 microF Kondensator sitzt direkt unter der 16-poligen IC-Fassung Sein weiszliger Streifen (Minus-Pol) zeigt in Richtung der Stromversorgungsbuchse

Vier der 10 microF Kondensatoren werden links neben der 16-poligen IC-Fassung montiert Deren Polung ist wie folgt Unterster Kondensator Minus nach oben naumlchster Kondensator Minus nach unten die beiden oberen Kondensatoren mit Minus nach oben

Ein weiterer 10 microF Kondensator wird rechts neben die 16-polige IC-Fassung geloumltet Sein Minus-Streifen zeigt nach unten

12

13

Keramik-Kondensatoren

Die Beschriftung 104 bedeutet 10e4 pF = 100 nF Die beiden 33 pF-Kerkos (Keramik-Kondensatoren) werden direkt nebenei-

nander rechts neben die 16-polige IC-Fassung geloumltet Zwei 100 nF-Kondensatoren werden unter dem 470 microF-Elko eingeloumltet ein

weiterer mittig an der linken Seite der 40-poligen IC-Fassung

14

Quarz

Als Quarz wird ein 110592 MHz-Typ verwendet Bei dieser Frequenz ist eine fehlerfreie Kommunikation uumlber RS232 mit 9600 Baud moumlglich Fuumlr den AT-mega16 koumlnnen Quarze bis 16 MHz eingesetzt werden Details siehe Daten-blatt

Der Quarz wird direkt rechts neben die beiden 33 pF-Kerkos geloumltet Die Ori-entierung des Quarz spielt keine Rolle

15

16

17

18

Der Spannungsregler L7805 erzeugt eine stabilisierte Spannung von 5 V Es muss ein Kuumlhlkoumlrper zur Waumlrmeabfuhr vom Spannungsregler verwendet werden

Vor dem Einloumlten zwischen Spannungsregler und Kuumlhlkoumlrper etwas Waumlrme-leitpaste aufgetragen Beide Bauteile fest mit einer Schraube M3x10 und ei-ner 1 Mutter verschrauben

Dann den Spannungsregler einloumlten um 90deg abzubiegen das uumlberstehende Gewinde durch das vorgesehene Loch stecken und alles mit einer 2 Mutter auf der Platine befestigen

1 Mutter

2 Mutter

Schr

aube

L7805

Platine

KuumlhlkoumlrperWaumlrmeleitpaste

Beinchen

Loumlten

39

Spannungsregler L7805 Kuumlhl-koumlrper und Montage

19

Steckernetzteil

Funktionskontrolle vor dem Einsetzen des Mikrocontrollers Polung der Elektrolyt-Kondensatoren (Elkos) pruumlfen Sind alle Beinchen angeloumltet Hat das Loumltzinn an den Beinchen und der Pla-

tine guten Kontakt Sind eventuell zwei benachbarte Beinchen unbeabsichtigt durch Loumltzinn verbunden Alle Loumltverbindungen nochmals genau z B mit ei-ner Lupe pruumlfen

Probeweise das Stecker-Netzteil an die Buchse anschlieszligen Am 100 nF-Kondensator links mittig der 40-poligen IC-Fassung muumlssen 5 V anliegen

Versorgungsspannung unbedingt wieder von der Platine trennen

20

21

ICs MAX232 und ATmega16

Die Nuten auf den ICs am linken Rand muumlssen nach oben zeigen d h Pin1 ist bei beiden ICs in der Abbildung links unten und auf der Platine oben links

Manchmal passen die Beinchen der ICs nicht in die Fassung weil die Fas-sung scheinbar zu schmal ist Dann den IC seitlich mit einer Beinchen-Reihe flach auf den Tisch legen den IC-Koumlrper links und rechts greifen und Bein-chen durch leichten Druck biegen Einzelne verbogene Beinchen vorsichtig mit einer kleinen Flachzange richten

22

23

Wannenstecker 10- und 14-polig

Wannenstecker an den vorgesehe-nen Stellen mit der Nut gegen Ver-polung in Richtung des naumlherliegen-den Platinenrands einloumlten

Die Abbildung rechts zeigt die Pin-Belegung der Wannenstecker

24

Stiftleiste 8-polig 40-pol Stiftleiste in 4 jeweils 8-polige Stuumlcke zerteilen und einloumlten

25

Kunststoffgehaumluse

In der Selbstbauvariante der Platine (Nr 0) vor dem Einsetzten der Platine in das Gehaumluse passend positionierte Kunststoffstege am Gehaumluseboden fest-kleben

Tab 8 Bestuumlckung der Platine des Interface mit Bauelementen

42 Erweiterungsschaltungen 421 Uumlbersicht In Tab 3 sind von RCLs des RCL-Portals Sensoren und Aktoren mit den dazugehoumlrigen Er-weiterungsschaltungen zusammengestellt Da alle RCLs obligatorisch uumlber mindestens eine Webcam verfuumlgen sind diese unter den Sensoren nicht aufgefuumlhrt Die wenigen Erweite-rungsschaltungen fuumlr Sensoren sind unter Sensoren in Klammern aufgelistet Unter Aktoren werden auszliger elektro-mechanischen Wandlern auch gesteuerte Geraumlte oder Bauelemente verstanden Anzeigeinstrumente sind unter Aktoren nur aufgefuumlhrt wenn sie direkt vom In-terface gesteuert werden Mit gekennzeichnete Erweiterungsschaltungen befinden sich au-szligerhalb des Interface

40

RCL Sensoren Aktoren Erweiterungsschaltungen fuumlr Aktoren

Beugung und Interferenz I Referenz-Taster

Schrittmotor (Rotation) Schrittmotorsteuerung Laser-Modul Geschaltete Spannungsversorgung

Beugung und Interferenz II

4 Referenz-Taster Lichtsensor

4 Schrittmotoren (Translation) 4 Schrittmotorsteuerungen 5 Laser-Module Geschaltete Spannungsversorgung LED fuumlr Position des

Lichtsensors Geschaltete Spannungsversorgung

LED fuumlr Linealbeleuchtung Geschaltete Spannungsversorgung

Elektronen-beugung

Hochspannungsnetzgeraumlt Geschaltete Spannungsversorgung Hochspannungsnetzgeraumlt Steuerung der Hochspannung

Fotoeffekt 2 Referenz-Taster Photozelle

2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen

Quecksilberdampflampe Geschaltete Spannungsversorgung

der Drossel fuumlr Quecksilberdampf-lampe

Halbleiter-kennlinien

und Halbleiterkennli-nien - Schuumller-

projekt

Referenz-Taster

Schrittmotor (Rotation) Schrittmotorsteuerung Oszilloskop Geschaltete Spannungsversorgung

Oszilloskop Instrumentenverstaumlrker fuumlr X- und Y-Ablenkung

Multimeter Steuerung Spannungs- oder Strom-anzeige

Heiszliger Draht 4 Endtaster 4 Drehgeber Kurzschlusssensor

4 Gleichstrommotoren 4 Treiber

Zweifarbige LED Steuerung der LED-Farbe

Lichtgeschwin-digkeit

Drehimpulsgeber 2 Taster an Enden

der Eisenbahnstre-cke

2 Schrittmotoren 2 Schrittmotorsteuerungen Oszilloskop Geschaltete Spannungsversorgung

Motor der Lokomotive Steuerung des Ein- und Ausschal-tens und der Bewegungsrichtung

Maut Infrarot-Sensor Gleichstrommotor Geschaltete Spannungsquelle 2 IR-Fernbedienungen Spannungsregler 2-stellige 7-Segmentanzeige LED-Treiber

Millikan-Versuch 2 Referenz-Taster

2 Schrittmotoren 2 Schrittmotorsteuerungen Lichtquelle (LED) fuumlr Millikan-

Kondensator Geschaltete Spannungsversorgung

Airbrush-Kompressor Geschaltete Spannungsversorgung Magnetventil Geschaltete Spannungsversorgung Millikan-Kondensator Gesteuertes Hochspannungsmodul

Optische Com-putertomogra-

phie

2 Referenz-Taster 2 Lichtsensoren

Schrittmotor (Rotation) Schrittmotorsteuerung Schrittmotor (Translation) Schrittmotorsteuerung

2 Laser-Module 2 geschaltete Spannungsversor-gungen

Optische Fou-rier-

Transformation 2 Referenz-Taster

2 Schrittmotoren (Translation) 2 Schrittmotorsteuerungen

Laser-Modul Geschaltete Spannungsversorgung

Oszilloskop Oszilloskop Geschaltete Spannungsversorgung Signalgenerator Steuerung der Signalart

Radioaktivitaumlt 4 Referenz-Taster Geiger-Muumlller-

Zaumlhlrohr

2 Schrittmotoren (Translation) 2 Schrittmotorsteuerungen 2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen 4-stellige 7-Segment-Anzeige Treiber Elektromagnet Geschaltete Spannungsversorgung

Roboter im Labyrinth Infrarot-Sensor

2 Schrittmotoren 2 Schrittmotorsteuerung Infrarot-Sender Treiber

Rutherfordscher Streuversuch

2 Referenz-Taster Halbleiterdetektor

(Impulsformer)

2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen

4-stellige 7-Segment-Anzeige Treiber

Weltpendel

Referenz-Taster Lichtsensor der

Lichtschranke (Im-pulsformer)

Temperatursensor

Schrittmotor (Translation) Schrittmotorsteuerung Elektromagnet Geschaltete Spannungsversorgung

Laser der Lichtschranke Geschaltete Spannungsversorgung

Windkanal Referenz-Taster Schrittmotor (Translation) Schrittmotorsteuerung

41

Dehnungsmess-streifen (Wheat-stonesche Bruumlcke Messverstaumlrker Multimeter)

Geblaumlsemotor Geschaltete Spannungsversorgung

und Ansteuerung mit Pulsweiten-modulation

Anemometer Geschaltete Spannungsversorgung Multimeter Geschaltete Spannungsversorgung

Tab 9 Sensoren Aktoren und Erweiterungsschaltungen der RCLs des RCL-Portals

422 TMC222-Modul zur Schrittmotorsteuerung 4221 Schaltplan und Bauteilliste Abb 1 zeigt die Beschaltung des TMC222 von Trinamic auf dem TMC222-Modul

Abb 24 Beschaltung des TMC222 von Trinamic

Anhand der Bauteilliste in Tab 10 koumlnnen die elektronischen Bauelemente des TMC222-Moduls bei Reichelt electronic bestellt werden Ein TMC222-Modul kostet ungefaumlhr 10 euro

Nr Anzahl Kurzbeschreibung des Bauteils Best-Nr bei Reichelt electronic

Einzelpreis in euro

0 1 Epoxyd-Fotoplatine einseitig 75x100 mm 15 mm 35 microm BEL75X100-1 096 1 1 Integrierter TMC-Schrittmotor-Controller TMC 222 SI asymp 7 2 1 Elektrolytkondensator 8x11 mm Rm 35 mm 100 microF35 V RAD 10035 004 3 1 Tantal-Kondensator Rm 25 10 microF35 V Tantal 1035 014 4 2 Vielschicht-Keramikkondensator 220 nF 20 Z5U-25 220N 011 5 3 Vielschicht-Keramikkondensator 100 nF 20 Z5U-25 100N 004 6 2 Metallschichtwiderstand 100 kΩ Metall 100K 0082 7 1 1x36pol Stiftleiste gewinkelt Rm 254 SL 1X36W 027 8 1 1x36pol Buchsenleiste gerade Rm 254 BL 1X36G 025

Tab 10 Bauteilliste mit Bestellnummer und Einzelpreisen der Bauelemente bei Reichelt electronic (Stand 23102010)

4222 Bestuumlckung der Platine

42

Abb 25 zeigt die fertig bestuumlckte Platine mit den Nummern aus Tab 10

Abb 25 Bestuumlckte Platine des TMC222-Moduls

mit nummerierten Bauelementen

Die Platine (35 mm x 30 mm) kann anhand des Layouts in Abb 26 hergestellt werden Der IC TMC222 wird auf der Loumltseite der Platine aufgeloumltet Das TMC222-Modul kann mit der Stiftleiste (larr Tab 10 Nr 7) in eine Buchsenleiste (larr Tab 10 Nr 8) auf die Platine des In-terface gesteckt werden

Abb 26 Platine des TMC222-Moduls von der Loumltseite (links) und Layout

4223 Quellcode des Mikrocontroller-Programms Im Folgenden ist ein mit Bascom (larr 12 Tab 1 Entwicklungsumgebungen) erstelltes Bei-spiel-Programm zur Ansteuerung des Schrittmotormoduls TMC222 durch den Mikrocontroller ATmega16 angegeben $regfile = m16DEFdat $crystal = 11059200 $baud = 9600 Definitionen Config Scl = Portc0 Taktleitung Config Sda = Portc1 Datenleitung Const Adress = ampB11000000 I2C Adresse des TMC222 Const GetFullstatus1 = ampB10000001 Kommando des TMC222 Const Resetpos = ampB10000110 Kommando des TMC222 Const Motorparameter = ampB10001001 Kommando des TMC222 Const Setposition = ampB10001011 Dim Puffer(10) As Byte

43

Programm I2csend Adress GetFullstatus1 GetFullstatus1 (Initialisierung des TMC222) I2creceive Adress 7 Ack Daten in Puffer auslesen Puffer(1) = Motorparameter puffer auffuumlllen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB11110011 1111irun 0011ihold Puffer(5) = ampB01110001 0111vmax 0001vmin Puffer(6) = ampB00010000 000securepos(bit10-8) 1shaft 0000acceleration Puffer(7) = 0 securepos(bit7-0) Puffer(8) = ampB00001100 000nicht belegt 0accshape 11stepmode 00nicht belegt I2csend Adress Puffer(1) 8 I2csend Adress Resetpos aktuelle Position auf 0 setzen Puffer(1) = Setposition Motor bewegen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB01111111 position(bit 15-8) Puffer(5) = ampB11111111 position(bit 7-0)acute I2csend Adress Puffer(1) 5 End

423 Geschaltete Spannungsquellen und Verbraucher Die Ausgaumlnge des Mikrocontrollers duumlrfen nur mit Stroumlmen kleiner als ungefaumlhr 20 mA belas-tet werden Verbraucher mit einer Stromlast groumlszliger als 20 mA koumlnnen daher nicht direkt an den Mikrocontroller angeschlossen werden Abb 27 zeigt links eine Schaltung zum Schalten eines Verbrauchers wie z B des Relais und rechts eine Schaltung mit dem IC ULN2803A zum Schalten mehrerer Verbraucher wie z B Gluumlhlampen

Abb 27 Erweiterungsschaltungen zum Schalten eines (links) oder

mehrerer Verbraucher (rechts)

Zu beachten ist dass der Transistor BC337 maximal 800 mA schalten kann und fuumlr groumlszligere Stroumlme andere Transistoren verwendet werden muumlssen

424 Steuerung von Gleichstrommotoren

44

Sollen Gleichstrommotoren zum Bewegen von Objekten mit dem Mikrocontroller gesteuert werden dann eignet sich dazu der in Abb 28 dargestellte beschaltete IC L293D

Abb 28 Beschaltung des L293D zum

Steuern zweier Gleichstrom-motoren

Mit Pin 1 = Pin 9 = 1 (High) koumlnnen zwei Gleichstrommotoren M1 und M2 (Versorgungs-spannung UM lt 36 V Spulendauerstrom IM lt 600 mA) unabhaumlngig voneinander ein- und ausgeschaltet sowie in der Drehrichtung uumlber die Ports PA0 und PA1 fuumlr M1 und PA2 und PA3 fuumlr M2 gesteuert werden Z B gilt mit PA0 = PA1 = 0 (M1 ausgeschaltet) PA0 = 1 und PA1 = 0 (M1 dreht sich) PA0 = 0 und PA1 = 1 (M1 dreht sich in Gegenrichtung)

45

43 Quellcodes zum RCL Elektronenbeugung 431 Mikrocontroller-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

46

47

48

49

432 PHP-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

50

51

433 Bedienfeld der Laborseite

Tab 11 erlaumlutert die Funktion der Bloumlcke im Quellcode

Zeilen Funktion 1 Datei defaultconf einbinden 2 Datei headtpl einbinden

5 - 11 Ausgabe der verbleibenden Experimentierzeit 18 - 21 Button zum Einschalten der Elektronenbeugungsroumlhre 28 - 30 Eingabefeld fuumlr die Beschleunigungsspannung

37 Ruumlckmeldung zur eingegebenen Beschleunigungsspannung 42 Datei foottpl einbinden

Tab 11 Funktion der Programmbloumlcke in der Datei experi-menttpl

52

434 Webcamfeld der Laborseite

In Tab 12 ist die Funktion der Programmbloumlcke und die Anpassungen der Vorlage an das RCL Elektronenbeugung beschrieben

Zeilen Funktion Anpassung RCL Elektronenbeugung

5 Titelangabe erscheint als Tabulatorbeschriftung in Browsern

Name des RCLs eintragen

11 - 15 16 - 20

Zwei Javascripts zum getrennten Aufrufen zweier Po-pup-Fenster mit dargestelltem Webcambildern 1 und 2

Javascript 1 die IP-Adresse eintragen Javascript 2 auskommentiert weil nicht benoumltigt

24 - 40 42 - 60

Zwei Javascripts zum Aktualisieren der Webcambilder 1 und 2

Javascript 2 auskommentiert weil nicht benoumltigt

67 - 71 79 - 83

Aufrufen des ersten Webcambilds der Webcams 1 und 2 beim Aufrufen der Datei

Webcambild 2 auskommentiert weil nicht benoumltigt

72 - 78 84 - 90

Buttons zum Aufrufen der Screenshots der Webcam-bilder 1 und 2

Button 2 auskommentiert weil nicht benoumltigt

91 - 95 Zeile der Tabelle zum Eintragen von Informationen die sich auf die Webcambilder oder den Versuch beziehen

Text in Zeile der Tabelle geschrieben

Tab 12 Funktionen der Codeabschnitte in der Datei videohtm und Anpassung der Vor-lage an das RCL Elektronenbeugung

53

44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung Im Folgenden wird die Installation und Konfiguration des AVR-Studios 418 und der Bascom 11198 Demoversion beschrieben Alle Anleitungen sind zeilenweise von links nach rechts zu lesen

441 AVR-Studio 418 4411 Installation Auf der Webseite von ATMEL Register AVR Studio 418 (build 684) anklicken und Registrie-rungsformular ausfuumlllen Danach die Datei AvrStudio418Setup herunterladen Durch Dop-pelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen Next waumlhlen

I accept hellip und Next waumlhlen Installationsordner und Next waumlhlen

54

Installupgrade hellip und Next waumlhlen Install waumlhlen Die Installation beginnt

Finish waumlhlen

4412 Konfiguration AVR Studio 418 in Windows XP Professional unter StartProgramme aufrufen

Startfenster mit Cancel schlieszligen Unter ToolsProgram AVR Auto Connect waumlhlen

55

Im eingeblendeten Fenster auf der Registerkarte Main als Device ATmega16 und als Programming Mode ISP mo-de waumlhlen

Optional kann Signatur gelesen werden

In der Registerkarte Fuses alle Haumlkchen und Auswahlfel-der wie angegeben waumlhlen

Dann Program waumlhlen

442 BASCOM 11198 Demoversion 4421 Installation Auf der Webseite von Bascom unter Bascom AVR Demo die Zip-Datei setupdemoexe her-untergeladen Durch Doppelklick auf den Dateinamen die Installation starten

Next waumlhlen I accept the agreement und Next waumlhlen

56

Next waumlhlen Installationsordner eingeben und Next waumlhlen

Eintrag im Start-Menuuml eingeben und Next waumlhlen Next waumlhlen

Yes restart the computer now und Finish waumlhlen

57

4422 Konfiguration Bascom AVR in Windows XP Professional unter StartProgramme zum Einstellen der Para-meter des Mikrocontrollers und des Terminals aufrufen

OptionsCompilerChip waumlhlen Einstellungen wie im Bild vornehmen und OK waumlhlen

Auf der Registerkarte Communications Einstellungen wie im Bild vornehmen und OK waumlhlen

Unter OptionsCommunication Einstellungen wie im Bild

vornehmen und OK waumlhlen FileNew waumlhlen Unter ToolsTerminal emulator das Terminal aufrufen und

eingeben Die Befehlsliste des RCLs Elektronenbeu-gung wird angezeigt

45 Installation und Konfiguration von Programmen auf dem RCL-Server Im Folgenden wird der Download die Installation und die Konfiguration von Programmen auf dem RCL-Server unter Windows XP Professional beschrieben Alle Anleitungen sind zeilen-weise von links nach rechts zu lesen Die Installation der Programme sollte in der angegebe-nen Reihenfolge erfolgen

58

451 Einrichten des Internet-Zugangs LAN-Verbindung unter StartSystemsteuerungNetzwerkverbindungen aufrufen

Internetprotokoll (TCPIP) und Eigenschaften waumlhlen Folgende IP-Adresse verwenden waumlhlen IP-Adressen ein-

geben und OK waumlhlen

452 Paket XAMPP 174 Unter apache friends - xampp fuumlr windows und XAMPP Windows 174 Installer anklicken und Datei xampp-win32-174-VC6-installerexe speichern Durch Doppelklick auf die Datei die Installation starten

Sprache und Ok waumlhlen Ok waumlhlen

59

Weiter waumlhlen Zielverzeichnis mit Durchsuchen waumlhlen oder eingeben

Apache nicht als Dienst installieren Fertig stellen waumlhlen

Ja waumlhlen Zum Starten des Apache Webservers das Control Panel

unter StartProgrammeXAMPP 173 for Windows mit Start starten Anstelle von Start erscheint Running

Zum Beenden des Apache Webservers Stop waumlhlen Zum Beenden des Control Panels Exit waumlhlen

60

453 Videoserver webcamXP 5 Private Auf der Webseite von Moonware Studios unter webcamXP 55xx die Datei wlite550 herun-terladen Durch Doppelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen I Agree waumlhlen

Next waumlhlen Auszliger webcamXP 5 brauchen keine weiteren Komponen-

ten installiert zu werden

Den vorgeschlagenen Ordner und Install waumlhlen Finish waumlhlen

61

WebcamXP unter StartProgramme aufrufen Zugesandte

Lizenz-Daten in das eingeblendete Fenster eingeben und Register waumlhlen

Beim Starten des Programms stellt webcamXP automa-tisch eine Verbindung zu den am Computer angeschlosse-nen Webcams her

Nach dem Start ist Uumlberwachen gewaumlhlt Durch Rechts-klick mit der Maus auf das Videofenster wird zu jeder Vi-deoquelle ein Kontextmenuuml angezeigt Wird kein Videobild dargestellt das Kontextmenuuml aufrufen Art der Videoquelle waumlhlen (hier USB) und unter den erkannten Videoquellen (hier USB-Videogeraumlt) die gewuumlnschte waumlhlen

Das Videoformat muss fuumlr eine passende Darstellung auf

der Laborseite auf 320 x 240 eingestellt sein Ist das nicht der Fall im Kontextmenuuml unter Video Format einstellen

In gleicher Weise kann eine zweite Videoquelle hinzugefuumlgt werden

In der Registerkarte Web Broadcast kann unter

Broadcast (HTTP) der Videoserver mit Ausschalten ge-stoppt und mit Aktivieren gestartet werden

Zur Zielwahl des Webservers (131246237167 - Internet D16W3X3J - Computer 127001 - Local Host) Videoser-ver stoppen und einstellen Videoserver wieder starten

62

454 Terminalprogramm Hyperterminal Hyperterminal in Windows XP Professional unter StartProgrammeZubehoumlrKommunikation aufrufen

Name der neuen Verbindung - z B Interface - eingeben

und OK waumlhlen Die Verbindung zwischen Computer und Interface wurde

uumlber einen USB-Seriell-Adapter hergestellt Dann erschei-nen zwei zusaumltzliche Eintraumlge (Motorola Comp Modem und COM5) in der Liste Prinzipiell muss eine COMx-Verbindung gewaumlhlt werden

Eigenschaften von COM 5 wie im Bild einstellen und OK

waumlhlen DateiEigenschaften aufrufen und ASCII-Konfiguration

waumlhlen

63

Haken bei Eingegebene Zeichen lokal ausgeben (lokales

Echo) setzen um eingegebenen Zeichen im Hyperterminal zu sehen

Bei funktionsfaumlhiger Verbindung erscheint nach Eingabe von Return die Befehlsliste des Interface

Durch Aufrufen von DateiSpeichern die erstellte Verbin-

dung z B auf dem Desktop speichern Dadurch braucht die Verbindung nicht immer wieder von neuem konfiguriert wer-den

Nach Aufrufen von DateiBeenden die bestehende Verbin-dung mit Ja beenden

64

Wurde ein falscher COM-Port gewaumlhlt reagiert das Inter-

face auf die Eingabe Return nicht Hyperterminal dann beenden

Der COM-Port kann dann nicht unter DateiEigenschaften im Hyperterminal aber unter Eigenschaften des Kontext-menuumls der Datei Interfaceht in der Registerkarte Verbin-den mit geaumlndert werden Dann OK waumlhlen und erneut Verbindung testen

65

455 Fernwartungssoftware TeamViewer 6 Host Auf der Webseite von Teamviewer GmbH unter Fuumlr unbeaufsichtigte Server TeamViewer Vollversion die Datei TeamViewer_Setup-wq herunterladen Das Programm muss auf dem RCL-Server und dem Computer der auf den RCL-Server zugreifen soll installiert werden Durch Doppelklick auf die Datei die Installation starten

Ausfuumlhren waumlhlen Weiter waumlhlen

Fuumlr die private nicht kommerzielle Nutzung ist Teamviewer kostenlos

privat nicht-kommerziell und Weiter waumlhlen

Beide Haumlkchen setzen und Weiter waumlhlen

66

Ja un Weiter waumlhlen Weiter

Computername und Kennwort fuumlr den Zugriff auf den RCL-Server oder den eigenen Computer vergeben Kenn wort notie-ren

Ein Teamviewerkonto ist nicht erforderlich Kann auch spaumlter noch eingerichtet werden

ID fuumlr den Computer auf dem das Programm installiert wird fuumlr Zugriff notieren

Das Programm wird gestartet Standardmaumlszligig vorein-gestellt ist der Start des Programms beim Start des Be-trienssystems

67

46 Selbstbau eines elementaren RCLs 461 Hard- und Software Auch ohne gleich ein vielleicht teures physikalisches Experiment zu steuern laumlsst sich mit wenigen Bauelementen ein elementares RCL realisieren Von einer Webseite im Internet sol-len eine Leuchtdiode (LED) ein- oder ausgeschaltet sowie der Zustand der Leuchtdiode und eines Tasters abgefragt werden An Hard- und Software werden benoumltigt

1 Low-Current-LED 5 mm 2 mA 1 Widerstand 18 kΩ 1 Taster und optional zwei 10-polige Wannenstecker mit ungefaumlhr 10 cm passendem Flachbandkabel und Buchsen

Interface in Basisschaltung Null-Modem-Kabel 12 V DC Steckernetzteil (larr 1)

Installierte Bascom-Demo-Version (larr 42)

AVR ISP-Programmer mit 10-poligem Programmierkabel

Installiertes und konfiguriertes AVR Studio 418 (larr 41)

Installiertes Paket XAMPP (larr 52)

Texteditor wie z B Notepad in Windows XP Professional

Konfigurierte Hyperterminalverbindung (larr 54)

462 Bestuumlckung der Platine Abb 29 zeigt zur Orientierung fuumlr das Einloumlten der Bauelemente die fertig bestuumlckte Platine des Interface

Abb 29 Mit elementarem RCL bestuumlckte Platine

des Interface

LED mit Vorwiderstand und der Taster sind rechts neben dem Mikrocontroller im Lochraster-bereich aufgebaut und uumlber Wannenstecker und Flachbandkabel mit dem Port A des Mikro-controllers verbunden (die drei Bauteile rechts neben dem ATmega16 werden nicht benouml-tigt) Tab 13 erlaumlutert die Schritte zur Bestuumlckung der Platine des Interface

68

Nr Schaltung Erlaumluterung

1

Die Leuchtdiode (LED) mit dem Pluspol (langes Beinchen) an PortA0 (PIN40 oben rechts) des Mikrocontrollers anloumlten

An das kurze Beinchen einen 18kΩ Widerstand loumlten dessen anderes Ende mit der Masse (GND) verbinden

2

Den Taster mit PortA1 (PIN39 = 2 Beinchen von oben rechts) und Masse (GND) verbinden

3

Draufsicht

Belegung des 10-poligen Wannensteckers 1 GND (Masse) im Foto oben links 2 +5 V 3 PortA0 4 PortA1 10 PortA7 im Foto unten rechts

Tab 13 Schritte zum Aufbau des elementaren RCLs

463 Lokal gesteuertes RCL Nachfolgend ist der Basic-Programmcode des Mikrocontrollers zur Steuerung und Abfrage der LED und des Tasters angegeben 01 $regfile = m16DEFdat Microcontroller ATmega16 02 $crystal = 11059200 110592MHz Quarz 03 $baud = 9600 Baudrate 04 05 ---[ Variables ]--------------------------------------------------------------- 06 Dim Rs232kommando As String 10 erst Befehlspuffer dann Kommando 07 Dim Parameter As String 10 Parameter 08 Dim Str_pos As Byte Position von Leerzeichen zur Trennung von Kommando und Pa-rameter 09 10 ---[ Initialisierung ]--------------------------------------------------------- 11 Ddra0 = 1 PortA0 als Ausgang fuumlr LED 12 Porta0 = 0 LED aus 13 Ddra1 = 0 PortA1 als Eingang fuumlr Taster 14 Porta1 = 1 Pull-Up aktivieren 15 16 ---[ Main program loop ]------------------------------------------------------- 17 Do Start der Endlos-Schleife 18 19 If Ischarwaiting() = 1 Then Zeichen uumlber RS232 empfangen 20 Input Rs232kommando neues Kommando lesen 21 Parameter = Parameter initialisieren 22 Str_pos = Instr(rs232kommando ) Leerzeichen im Kommando suchen 23 If Str_pos gt 0 Then falls Leerzeichen dann in Kommando+Parameter zerlegen 24 Incr Str_pos Str_pos soll jetzt auf 1Zeichen des Parameters zeigen 25 Parameter = Mid(rs232kommando Str_pos ) Parameter = Teilstring nach Leerzeichen 26 Parameter = Ucase(parameter) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 27 Str_pos = Str_pos - 2 Str_pos soll jetzt auf letztes Zeichen des Kommandos zeigen 28 Rs232kommando = Left(rs232kommando Str_pos)Kommando = Teilstring vor Leerzeichen 29 Rs232kommando = Ucase(rs232kommando) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 30 End If 31 32 Select Case Rs232kommando Eventhandler Interpretation der Kommandos 33 Case Print Hilfe Hilfeseite anzeigen 34 Print LED on - LED einschalten 35 Print LED off - LED ausschalten 36 Print LED - zeigt Status der LED an 37 Print SW - zeigt Status des Schalters an 38

1K8

LED rotmicroC PortA0(PIN40)

Taster

microC PortA1(PIN39)

1

3

2

69

39 Case LED If Parameter = ON Then LED schalten 40 Porta0 = 1 41 End If 42 If Parameter = OFF Then 43 Porta0 = 0 44 End If 45 46 Case LED If Porta0 = 0 Then Status der LED ausgeben 47 Print LED aus 48 Else 49 Print LED an 50 End If 51 52 Case SW If Pina1 = 1 Then Status des Schalters ausgeben 53 Print Taster offen 54 Else 55 Print Taster geschlossen 56 End If 57 58 Case Else Print gt Rs232kommando lt ungueltiger Befehl - weitere Infos mit Info bei unguumlltigen Eingaben 59 End Select 60 61 End If 62 63 Loop Endlos-Schleife Springe zu Do 64 65 End wird nie erreicht

Der erste Teil des Programms (Zeilen 1 - 15) enthaumllt die Systemparameter Variablen und Initialisierung der Ein- und Ausgaumlnge Der zweite Teil enthaumllt ab Zeile 17 das Hauptpro-gramm in dem Benutzereingaben uumlber die serielle Schnittstelle empfangen interpretiert und in entsprechende Anweisungen umgesetzt werden Tab 14 erlaumlutert den Programmcode de-taillierter

Zeilen Erlaumluterung

1 - 3 Diese Angaben teilen dem Compiler (Bascom) mit welcher Prozessor eingesetzt wird wie schnell dieser getaktet (Quarz) ist und mit welcher Uumlbertragungsgeschwindigkeit die Kommunikation uumlber die serielle Schnittstelle (RS232) mit dem PC erfolgen soll

6 - 8 Es werden drei Variablen genutzt Die Eingabe uumlber die serielle Schnittstelle wird in rs232kommando gespeichert Es wird ein Text der Form Kommando ltLeerzeichengt Parameter erwartet so dass die Variable Parameter den-selbigen aufnimmt Die Variable str_pos wird fuumlr die Trennung von Kommando und Parameter benoumltigt

11 - 14

Mit dem Befehl ddrPX (ddr = data direction) wird festgelegt ob ein Beinchen als Ausgang (=1) oder als Eingang (=0) arbeiten soll Der ATmega16 besitzt 32 Ein-Ausgaumlnge die in vier Ports (P=AD) zu je 8 Pins (X=07) unterteilt sind ddrA0 = 1 legt also das 1 Beinchen (Pin 0) von PortA als Ausgang (=1) fest Mit dem Befehl PortA0 =1 kann dieser Pin dann durch Zuweisen von 1 oder 0 an- bzw ausgeschaltet werden Im Datenblatt erfahren Sie welches der 40 Beinchen des Mikrocontrollers wie bezeichnet wird (Pin-Belegung) Wird ein Beinchen als Eingang verwendet (ddrA1 = 0) koumlnnen Sie optional einen so genannten Pull-Up-Widerstand aktivieren (PortA1=1) oder deaktivieren (PortA1=0) Auch hierzu sollten Sie sich unbedingt mit dem Datenblatt vertraut machen

17 63 Das Hauptprogramm besteht aus einer Endlosschleife d h der Mikrocontroller verrichtet ununterbrochen seinen Job so lange er mit Strom versorgt wird

19 - 30 Falls ein Zeichen uumlber die serielle Schnittstelle empfangen wurde wird dieses und alle folgenden gelesen Anschlie-szligend wird gepruumlft ob der empfangene Text von der Form Kommando ltLeerzeichengt Parameter ist so dass er ge-gebenenfalls in ein Kommando und einen Parameter zerlegt werden kann

32 - 59 Dieser Abschnitt wird mit Event-Handler bezeichnet Hier wird auf die Kommandos (Events) reagiert und die ent-sprechenden Schritte ausgefuumlhrt zB schalten LED je nach Wert der Variablen Parameter an- bzw ausschalten

46 52

In beiden Zeilen wird ein Wert eines Ports abgefragt Unterschiedlich ist dass in Zeile 46 der Status eines Ausgangs abgefragt wird (porta0) und in Zeile 52 der Zustand eines Eingangs (pina0) Die Anweisung IF porta0 = 0 THEN pruumlft (hier ist = ein Vergleich und KEINE Zuweisung) ob zuletzt die LED ausgeschaltet (Zuweisung porta0 = 0) wurde Die Anweisung IF pina1= 1 THEN liest den Status eines Eingangs Hier kann festgestellt werden ob der Eingang uumlber den internen Pull-UP-Widerstand auf +5V liegt (pina1 liefert 1) oder ob der Schalter den Eingang mit Masse (0V) verbindet (pina1 liefert 0)

Tab 14 Erlaumluterung des Mikrocontroller-Programmcodes fuumlr elementares RCL

70

In Bascom AVR eine neue Datei erzeugen (FileNew) den Programmcode ohne Kommenta-re eingeben und mit ProgramCompile (F7) eine Hexadezimaldatei erzeugen Die Hexadezi-maldatei mit dem AVR-Studio und dem AVR-ISP-Programmer in den Mikrocontroller schrei-ben (larr 222 Programmuumlbertragung) Nach dem Verbinden von Computer und Interface per Null-Modem-Kabel kann durch Eingabe von in das konfigurierte Hyperterminal die Befehls-liste in Abb 30 aufgerufen werden

Abb 30 Aufgerufene Befehlsliste im Hyperterminal

Durch Eingabe von LED on oder LED off kann die LED ein- und ausgeschaltet LED zeigt den Status der LED und sw den Status des Tasters an Alternativ zum Hyperterminal kann auch das Terminal in BASCOM unter ToolsTerminal Emulator verwendet werden (larr 422)

464 Ferngesteuertes RCL Zum Ansteuern des Interfaces und zum Bedienen des Versuchsaufbaus uumlber das Internet wird eine Webseite benoumltigt die dem Benutzer alle Bedienelemente des Experiments zur Verfuumlgung stellt

Der Benutzer benoumltigt anklickbare Buttons im Webbrowser

Der Webserver muss die Information welcher Button gedruumlckt wurde empfangen und ein entsprechendes Kommando uumlber die serielle Schnittstelle an das Interface senden

Beide Schritte sind im nachfolgenden PHPHTML-Quellcode zusammengefasst 01 ltDOCTYPE HTML PUBLIC -W3CDTD HTML 401 TransitionalEN httpwwww3orgTRhtml4loosedtdgt 02 lthtmlgt 03 ltheadgt 04 ltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1gt 05 lttitlegtelementares RCLlttitlegt 06 ltheadgt 07 08 ltbodygt 09 ltphp 10 if (isset($_POST[Kommando])) wurde bereits Kommando gesendet 11 if( ( $handle = fopen( COM1 w+ ) ) ) Schnittstelle oumlffnen 12

71

13 throw new Exception( Can not access serial port 2 ) ohne Erfolg 14 15 fwrite( $handle $_POST[Kommando] chr( 13 ) ) Befehl an Interface senden 16 switch ( $_POST[Kommando] ) Antwort von Interface auswerten 17 case LED $tmp = fgets( $handle ) Echo von Interface ignorieren 18 $antwort = fgets( $handle ) Antwort des Interfaces 19 echo Antwort $antwort Ausgabe auf Webseite 20 break switch verlassen 21 22 case SW $tmp = fgets( $handle ) Echo von Interface ignorieren 23 $antwort = fgets( $handle ) Antwort des Interfaces 24 echo Antwort $antwort Ausgabe auf Webseite 25 break switch verlassen 26 27 28 29 fclose( $handle ) Schnittstelle schlieszligen 30 31 else 32 `mode com1 BAUD=9600 PARITY=N data=8 stop=1 xon=off` Schnittstellenparameter setzen 33 34 35 gt 36 37 lth3gtBefehl sendenlth3gt 38 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 39 ltinput type=hidden name=Kommando value=LED ON gt 40 ltinput type=submit value=LED anschalten gt 41 ltformgt 42 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 43 ltinput type=hidden name=Kommando value=LED OFF gt 44 ltinput type=submit value=LED ausschalten gt 45 ltformgt 46 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 47 ltinput type=hidden name=Kommando value=LED gt 48 ltinput type=submit value=LED abfragen gt 49 ltformgt 50 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 51 ltinput type=hidden name=Kommando value=SW gt 52 ltinput type=submit value=Taster abfragen gt 53 ltformgt 54 ltbodygt 55 lthtmlgt Den Quellcode in den Texteditor kopieren und im Ordner htdocs von XAMPP z B unter rclphp speichern HTML-Dateien mit PHP-Code (Zeilen 9-35) muumlssen mit der Erweiterung php gespeichert werden damit der Apache Webserver zwischen HTML-Seiten mit und ohne PHP-Code unterscheiden kann Den installierten Apache Webserver starten (larr 452) und im Adressfeld des Webbrowsers die IP-Adresse http127001rclphp aufrufen Das Bedi-enfeld des elementaren RCLs in Abb 31 wird im Browserfenster angezeigt

72

Abb 31 Laborseite des elementaren RCLs

Im Bedienfeld kann die LED an- und ausgeschaltet sowie der Status von LED und Taster abgefragt werden

  • 0 Warum ein Tutorial zur RCL-Technik
  • 1 Technische Konzeption
    • 11 Einfuumlhrung
    • 12 Wahl der RCL-Technik
      • 2 Lokal gesteuertes RCL
        • 21 Interface
          • 211 Mikrocontroller
          • 212 Basisschaltung und Erweiterungsschaltungen
          • 213 Programmierung des Mikrocontrollers
            • 22 Hyperterminal
            • 23 Positionieren von Objekten
              • 231 Hybrid-Schrittmotoren
              • 232 Schrittmotorsteuerung und Positionierungsmechanik
                  • 3 Ferngesteuertes RCL
                    • 31 RCL-Server
                    • 32 Laborseite
                      • 321 Steuerung des RCLs uumlber das Bedienfeld
                      • 322 Videouumlbertragung im Webcamfeld
                        • 33 Standard-Lernumgebung
                          • 4 ANHANG
                            • 41 Interface in Basisschaltung
                              • 411 Schaltplan und Bauteilliste
                              • 412 Bestuumlckung der Platine
                                • 42 Erweiterungsschaltungen
                                  • 421 Uumlbersicht
                                  • 422 TMC222-Modul zur Schrittmotorsteuerung
                                    • 4221 Schaltplan und Bauteilliste
                                    • 4222 Bestuumlckung der Platine
                                    • 4223 Quellcode des Mikrocontroller-Programms
                                      • 423 Geschaltete Spannungsquellen und Verbraucher
                                      • 424 Steuerung von Gleichstrommotoren
                                        • 43 Quellcodes zum RCL Elektronenbeugung
                                          • 431 Mikrocontroller-Programmierung
                                          • 432 PHP-Programmierung
                                          • 433 Bedienfeld der Laborseite
                                          • 434 Webcamfeld der Laborseite
                                            • 44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung
                                              • 441 AVR-Studio 418
                                                • 4411 Installation
                                                • 4412 Konfiguration
                                                  • 442 BASCOM 11198 Demoversion
                                                    • 4421 Installation
                                                    • 4422 Konfiguration
                                                        • 45 Installation und Konfiguration von Programmen auf dem RCL-Server
                                                          • 451 Einrichten des Internet-Zugangs
                                                          • 452 Paket XAMPP 174
                                                          • 453 Videoserver webcamXP 5 Private
                                                          • 454 Terminalprogramm Hyperterminal
                                                          • 455 Fernwartungssoftware TeamViewer 6 Host
                                                            • 46 Selbstbau eines elementaren RCLs
                                                              • 461 Hard- und Software
                                                              • 462 Bestuumlckung der Platine
                                                              • 463 Lokal gesteuertes RCL
                                                              • 464 Ferngesteuertes RCL

23

an Beim Halbschrittbetrieb wird zwischen den Vollschritten nur einer der magnetischen Krei-se bestromt und die N-S-Polachse des Rotors kann zusaumltzlich 4 Stellungen in Richtung der Statorpole einnehmen Der Hybrid-Schrittmotor ist die am haumlufigsten vertretene Bauform von Schrittmotoren Abb 12 zeigt den Aufbau eines Hybrid-Schrittmotors

Abb 12 Aufbau eines Hybrid-Schrittmotors fuumlr unipolare und

bipolare Schaltung Daten Schrittwinkel 18deg max Drehmoment 155 Ncm

Der Stator besteht aus zwei Straumlngen mit je 4 in Reihe geschalteten Spulen Der Wick-lungssinn der Spulen ist in beiden Straumlngen so dass sich die Polfolge N-S-N-S uumlber den Umfang ergibt Beide Straumlnge zusammen ergeben unabhaumlngig von der Stromrichtung ei-ne Polfolge N-N-S-S-N-N-S-S uumlber den Umfang Ein zweipoliger Rotor (Polpaarzahl 1) kann im Vollschrittbetrieb 4 Stellungen annehmen Der Rotor des Hybridschrittmotors be-steht aber aus axial magnetisierten Permanentmagneten deren Polpaarzahl durch axial versetzte weichmagnetische Zahnscheiben auf 50 erhoumlht wurde Dadurch erhoumlht sich die Schrittzahl auf 4 sdot 50 = 200 und der Schrittwinkel verkleinert sich auf 360deg200 = 18deg Um stabile Rotorstellungen zu erhalten muumlssen die Statorsegmente ebenfalls gezahnt ausge-fuumlhrt werden

Ein solcher Hybrid-Schrittmotor vereint die Vorteile des Reluktanz- und des permanenter-regten Schrittmotors Ein kleiner Schrittwinkel wird durch das von Reluktanzschrittmotoren bekannte Prinzip der Erzeugung einer Vielzahl von Polen des Rotors durch Zahnscheiben erzielt Ein hohes Drehmoment wird durch das von permanenterregten Schrittmotoren be-kannte Prinzip der Ausfuumlhrung des Rotors als Permanentmagnet erzielt Aufgrund der bi-filaren Wicklung besteht jede Statorwicklung aus zwei Teilspulen und der Schrittmotor kann in unipolarer (alle 6 Anschluumlsse verwendet) und bipolarer Schaltung (nur 4 An-schluumlsse verwendet gemeinsamer Anschluss der Teilspulen bleibt unverwendet) wie in Abb 12 dargestellt verwendet werden

24

Schrittmotoren erlauben nicht nur das Bewegen sondern innerhalb der Leistungsgrenzen (keine Schrittverluste) auch ein genaues Positionieren von Objekten Bei bekannter Schrittzahl auf einer gemessenen Strecke oder Schrittzahl fuumlr den Vollwinkel koumlnnen aus-gehend von einer Referenzstellung Objekte translatorisch oder rotatorisch positioniert werden

232 Schrittmotorsteuerung und Positionierungsmechanik Im Folgenden wird die bei allen RCLs mit Schrittmotoren eingesetzte Schrittmotorsteuerung die Mechanik zur translatorischen Positionierung von Objekten und die Funktionsweise eines Referenztasters beschrieben

Schrittmotorsteuerung Abb 13 zeigt das Blockschaltbild und das im Selbstbau herstellbare TMC222-Modul (rarr 4221 rarr 4222) mit dem IC TMC222 von Trinamic zur Steuerung bipolarer 2-phasiger Hybrid-Schrittmotoren

Abb 13 Blockschaltbild (links) und Platine des TMC222-Moduls (rechts) mit IC TMC 222 auf

der Loumltseite der Platine

Der IC TMC222 enthaumllt ein I2C-Interface zum Anschluss an den I2C-Bus des Mikrocon-trollers (Ports PC0 und PC1) Die 10 kΩ-Pull-up-Widerstaumlnde heben die Takt- (SCL clock) und Datenleitung (SDA data) auf ein Potential von 5 V Der IC TMC222 enthaumllt ei-nen Motortreiber fuumlr Spulenstroumlme bis zu 800 mA und einen Motor-Controller zur Steue-rung der Spulenstroumlme Ein Vorteil des TMC-Moduls ist der relativ geringe Programmier-aufwand fuumlr den Mikrocontroller (rarr 4223) da der IC TMC222 nach Uumlbergabe der Steu-erungsparameter (Drehrichtung Drehzahl hellip) vom Mikrocontroller die Ansteuerung des Schrittmotors uumlbernimmt Der IC TMC222 unterstuumltzt das Beschleunigen und Abbremsen des Schrittmotors enthaumllt einen Schrittpositionszaumlhler und unterstuumltzt Mikrostepping (va-riable Spulenstroumlme zur elektronischen Verkleinerung des Schrittwinkels und groumlszligerer Laufruhe)

25

Falls in RCLs Gleichstrommotoren mit houmlheren Drehzahlen als Schrittmotoren benoumltigt werden kann eine andere Erweiterungsschaltung (rarr 424) eingesetzt werden

Positionierungsmechanik und Referenz-Taster Die Mechanik zur rotatorischen Positionierung von Objekten kann meist kostenguumlnstig selbst oder durch Personal in einer Werkstatt angefertigt werden Abb 14 zeigt eine kos-tenguumlnstige Loumlsung zur translatorischen Positionierung von Objekten

Abb 14 Positionierungseinheit eines Flachbrett-

Scanners Schrittmotor (1) Getriebe (2) Li-nearfuumlhrung (3) Antriebsriemen (4) und er-gaumlnzter Referenz-Taster (5)

Falls der geometrische Aufbau und die geforderte Positionierungsgenauigkeit des RCLs es zulassen kann die Schrittmotor-Positionierungs-Einheit ausgedienter Flachbrett-Scanner zur translatorischen Positionierung von Objekten verwendet werden In Einzelfaumll-len wie dem RCL Weltpendel kann die Positionierungsmechanik auch selbst angefertigt werden Der Referenz-Taster in Abb 14 wird eingesetzt um abzufragen ob ein vom Schrittmotor bewegtes Objekt die Position des Tasters erreicht hat und um diese Position zu referenzieren Ohne eine solche Referenzierung kann die Positionierung eines Objekts langfristig ungenau werden So kann z B beim RCL Weltpendel das Auftreffen der Kugel auf den Magneten zum Uumlberspringen von Schrittmotorstellungen fuumlhren Der Zustand des Referenz-Tasters in Abb 15 wird z B uumlber den Port PA0 des Mikrocontrollers abgefragt

Abb 15 Referenz-Taster zum referenzieren der

Position des bewegten Objekts

26

Zu Problemen koumlnnen undefinierte Zustaumlnde der Eingaumlnge des Mikrocontrollers fuumlhren wie sie beim Prellen dem zeitlich begrenzten schwingen eines Tasters beim Oumlffnen oder Schlieszligen entstehen Abhilfe schafft ein passend dimensionierter parallel zum Taster ge-schalteter Kondensator Bei geoumlffnetem Taster ist der Kondensator aufgeladen Beim Schlieszligen haumllt der Kondensator die Spannung uumlber die Schwingphase trotz kurzzeitig wieder geoumlffnetem Schalter noch aufrecht Analoges gilt fuumlr den Uumlbergang vom geschlos-senen zum geoumlffneten Taster

3 Ferngesteuertes RCL 31 RCL-Server Fuumlr den Betrieb eines RCLs wird ein RCL-Server benoumltigt (larr 11) Vorausgesetzt wird dass bei einem neuen Computer alle notwendigen Treiber (Ethernet Video Audio hellip) zum Be-trieb der Hardware des Computers und Windows XP Professional mit Service Pack 3 instal-liert sind Ein Benutzerkonto braucht nicht angelegt zu werden

Der RCL-Server benoumltigt einen Internetzugang mit statischer IP-Adresse und Uploaddatenra-te von mindestens 200 kbits (DSL 2000) fuumlr die fluumlssige Wiedergabe von Bewegungen in Webcambildern Die statische IP-Adresse wird von der Institution am Standort des RCLs vergeben oder kann von Privatpersonen bei einem Provider beantragt werden Mit folgenden Schritten wird der RCL-Server eingerichtet

Internetzugang einrichten (rarr 451) und im Browser testen

Checken ob die Windows Firewall aktiviert ist

Virenschutzproramm Avira Antivir Personal herunterladen (larr Tab 1) installieren und ak-tualisieren

Uumlber Windows Update alle Updates von Windows XP Professional installieren

Fernwartungssoftware TeamViewer 6 Vollversion (larr Tab 1) herunterladen und auf dem RCL-Server und dem eigenen Computer installieren (rarr 455)

Webeditor Notepad++ herunterladen installieren und aktualisieren (larr Tab 1)

Videoserver WebcamXP 5 herunterladen und installieren (rarr 453)

Paket XAMPP herunterladen und installieren (rarr 452) Verknuumlpfungen mit den Dateien xampphtdocsapache_startbat und xampphtdocsapache_stopbat auf dem Desktop oder in der Schnellstartleiste erstellen und Webserver mit erstgenannter Verknuumlpfung starten Webserver durch Eingabe von 127001 oder localhost ins Adressfeld des Brow-sers testen Bei erfolgreichem Test werden die im Ordner xampphtdocs abgelegten Webseiten von XAMPP dargestellt Statische IP-Adresse des RCL-Servers im Browser eines anderen Computers mit Internetzugang eingegeben Bei erfolgreichem Test werden die Webseiten von XAMPP dargestellt In der Datei xamppphpphpini unter Resource Limits die max_execution_time mit dem Windows-Editor von 60 auf 300 erhoumlhen und die

27

Datei speichern damit PHP bei Befehlen mit laumlngerer Ausfuumlhrungsdauer keine Fehler-meldung liefert

Ordner xampphtdocs mit den Webseiten von XAMPP in xampphtdocs_xampp um-benennen und fuumlr spaumltere Testzwecke nicht loumlschen RCL-Ordner htdocs herunterladen (larr Tab 1) extrahieren und in das Verzeichnis xampp verschieben

Abb 16 zeigt die Struktur des RCL-Ordners htdocs

Abb 16 Struktur des RCL-Ordners htdocs RCL-spezifisch anzupassende Dateien sind grau

hinterlegt

Der geoumlffnete Ordner Labor enthaumllt alle PHP- und HTML-Dateien bzw Programmierungen fuumlr die Funktionalitaumlt des Bedienfelds der Laborseite (larr 11 Abb 3) An das RCL anzupas-sen sind die portalsprachenunabhaumlngigen Dateien configphp und experimentphp sowie fuumlr jede Portalsprache die Dateien defaultconf und experimenttpl in den Ordnern eng fra ger und ita

Datei configphp Zeit bis zum automatischen Logout beim Experimentieren mit dem RCL eintragen

Datei experimentphp PHP-Basisprogrammierung um die RCL-spezifische PHP-Programmierung erweitern (rarr 432)

Datei defaultconf Name des RCLs (z B Elektronenbeugung) in jeder Portalsprache ein-getragen

Datei experimenttpl HTML-Basisprogrammierung um RCL-spezifische Ein- und Ausga-befelder erweitern (rarr 433)

28

32 Laborseite 321 Steuerung des RCLs uumlber das Bedienfeld Das Bedienfeld der Laborseite (larr 11 Abb 3) wird von der Dateien indexphp und experi-menttpl erzeugt Befehle wie das Anklicken von Buttons Eingaben und Auswahl aus Listen werden in ein HTML-Formular mit Formularfeldern in der Datei experimenttpl geschrieben Die Daten werden von der PHP-Datei experimentphp ausgewertet und uumlber die serielle Schnittstelle dem Mikrocontroller-Programm zur Steuerung des Experiments uumlbergeben Die Dateien experimentphp und experimenttpl wurden getrennt angelegt um Code und Design zu trennen und nur das Design in der Datei experimenttpl an die Portalsprache anpasst werden muss

Tab 5 enthaumllt Ausschnitte der HTML-Datei experimenttpl (rarr 433) der Datei experi-mentphp (rarr 432) und des Mikrocontroller-Programms (rarr 431) fuumlr das RCL Elektronen-beugung

29

Code mit Erlaumluterung

expe

rimen

ttpl

1821 Tag ltformgtltformgt definiert ein Formular 18 Attribut action legt fest dass Formulardaten in der Datei indexphp verarbeitet werden Uumlbertragen

werden eine Session-ID ($sid) um exklusiven Zugriff des jeweilgen Besuchers zu sichern und ($portal) um die vom Besucher gewaumlhlte Sprache beizubehalten post ist eine Uumlbertragungsmethode zwischen Browser und Webserver und gibt die die vom Besucher gewaumlhlte Aktion zum Ansteuern des Experiments an die Datei experimenttpl weiter

20 Erzeugt im Bedienfeld den Sendebutton (submit) mit der Aufschrift Elektronenroumlhre einschalten (valu-e)

19 Unsichtbares Feld (hidden) mit Variablennamen action und Wert RoumlhreAn Der Variablenname ac-tion stimmt nur zufaumlllig mit action in Zeile 18 uumlberein

expe

rimen

tphp

24 Die Funktion wird als Eventhaumlndler bezeichnet weil je nach uumlbergebener Aktion - siehe Zeile 19 in experi-

menttpl - die entsprechenden Anweisungen (case) ausgefuumlhrt werden 37 Fuumlr den Fall dass die Variable $action den Wert RoumlhreAn hat wird die Funktion power_on() aufgeru-

fen

59 Schreibt in die Logdatei logtxt den Text RoumlhreAn 6061 Oumlffnet den in der Datei configphp zentral gespeicherten Com-Port an den das Interface angeschlossen ist

oder gibt Fehlermeldung Can not access file system im Bedienfeld aus falls der Com-Port sich nicht oumlff-nen laumlsst

62 Sendet die Zeichenfolge On und chr(13) (entspricht der Betaumltigung der Return-Taste im Hyperterminal) an den Mikrocontroller

63 Schlieszligt serielle Schnittstelle

Que

llcod

e M

ikro

cont

rolle

r

166 Wird uumlber die serielle Schnittstelle der Befehl on empfangen und ist das Einschalten zulaumlssig (Zeiten fuumlr

PowerOnDelay und Standby abgelaufen) dann hellip 167 Hochspannungsnetzgeraumlt einschalten 168 Der DA-Wandler PCF8591 wird unter seiner Adresse PCF8591 = 01001000 angesprochen Parameterein-

stellungen mit 01000000 und Ausgangsspannung auf 0 V einstellen 169 Setzt Standby auf vorgegebene Standbyzeit zuruumlck 171 Gibt Meldung aus wie lange PowerOnDelay noch dauert

Tab 5 Uumlbertragung des Befehls Elektronenroumlhre einschalten vom Bedienfeld zum Experi-ment

30

Anhand der Erlaumluterungen der Programmcodes koumlnnen die Ablaumlufe zwischen dem Druumlcken des Buttons Elektronenroumlhre einschalten und dem Einschalten der Elektronenbeugungs-roumlhre oder der Eingabe einer Beschleunigungsspannung und dem Anlegen einer Beschleu-nigungsspannung verfolgt werden Uumlber das Bedienfeld koumlnnen nur die von der Datei expe-rimenttpl bereitgestellten Befehle on und da der insgesamt implementierten Befehle (rarr 22 Abb 10) aufgerufen werden

322 Videouumlbertragung im Webcamfeld Zur Aufnahme von Livebildern des Experiments koumlnnen USB-Webcams und IP-Kameras (Netzwerkkameras) eingesetzt werden Teurere IP-Kameras muumlssen eingesetzt werden wenn die Kamera wie z B beim RCL Roboter im Labyrinth zu weit vom Computer entfernt ist oder eine besonders lichtempfindliche Kamera aus der Uumlberwachungstechnik wie z B beim RCL Millikan-Versuch benoumltigt wird W-LAN-Kameras kommen zum Einsatz wenn Bil-der von einem beweglichen Objekt aus wie z B beim RCL Roboter im Labyrinth uumlbertra-gen werden sollen

Das Videoserverprogramm webcamXP 5 erkennt beim Aufrufen automatisch an den RCL-Server angeschlossenen USB-Webcams Vor dem Kauf einer IP-Kamera ist zu pruumlfen ob das Modell unterstuumltzt wird14 IP-Kameras muumlssen im Kontextmenuuml der Videoquelle konfigu-riert werden Abb 17 zeigt das Webcambild einer USB-Webcam vom Szintillationsschirm der Elektronenbeugungsroumlhre

Abb 17 Webcambild des Szintillationsschirms der Elektro-

nenbeugungsroumlhre einer USB-Webcam in webcamXP 5 beim RCL Elektronenbeugung

14 Vgl Moonware Studios webcamXP IP-cameras for webcamXP

31

Zum Einbinden des Webcambilds in die Laborseite des RCLs wird die laborsprachenabhaumln-gige Datei videohtm (rarr 434) in den Ordnern eng fra ger und ita verwendet Standardmauml-szligig werden zwei Webcambilder und Screenshots unterstuumltzt der Code fuumlr weitere Webcam-bilder kann durch copy and paste hinzugefuumlgt werden

Unter den Technologien Java Javaskript Flash und Windows Media fuumlr die Wiedergabe ei-nes Livestreams auf eine Webseite wurde Javaskript gewaumlhlt weil die anderen Technologien die Installation des Java Runtime Environments (JRE) des Flash- oder Windows Media Players durch den Besucher eines RCLs voraussetzen Die Wiedergabe des Livestreams mit einem Java-Applet startet zudem erst verzoumlgert nachdem das Applet geladen ist und verfuumlgt uumlber eine zu geringe Wiedergabegeschwindigkeit

33 Standard-Lernumgebung Bestandteil der Entwicklung eines RCLs ist die Erstellung einer Standard-Lernumgebung zum RCL Abb 18 zeigt exemplarisch fuumlr die deutschen Webseiten im Ordner ger das Menuuml (larr 11 Abb 3) und die Dateistruktur der Standard-Lernumgebung

Abb 18 Deutschsprachiges Menuuml und Dateistruktur der Standard-Lernumgebung

RCL-spezifisch anzupassende Dateien sind grau hinterlegt

Die englischen Dateinamen introductionhtm setuphtm hellip im Ordner ger korrespondieren mit den deutschen Menuumlpunkten Wird das RCL unter dem Menuumlpunkt RCLs des RCL-Portals aufgerufen dann ruft die Frameset-Datei indexhtm die Dateien menuumlhtm und intro-ductionhtm auf und das Menuuml wird zusammen mit der Webseite Einstieg dargestellt Die Wahl weiterer Menuumlpunkte ruft jeweils die korrespondiere Datei im Ordner auf Bei Wahl des Menuumlpunkts Labor werden mit der Frameset-Datei laboratoryhtm die Dateien videohtm fuumlr das Webcamfeld und die Datei laborindexphp fuumlr das Bedienfeld aufgerufen

32

Im Ordner docsmaterial werden alle Dokumente fuumlr die Webseite Material im Ordner docsothers die Dokumente anderer Webseiten abgelegt Im Ordner docsoriginals sind die Originale von Dokumenten wie z B Word-Dateien und der verwendeten Bilder abgelegt Grafikdateien der Webseiten Einstieg hellip Auswertung hellip Betreuung werden in gleichnami-gen Ordnern wie z B imagesanalysis abgelegt Bei sprachenunabhaumlngigen Grafikdateien wird unter dem Dateinamen abbx bei sprachenabhaumlngigen unter dem Dateinamen abbx_lan mit lan = eng fra ger und ita gespeichert Analoges gilt fuumlr die als gif-Grafiken forxgif oder forx_langif zu speichernden Formeln Originale von Bildern werden im Ordner imagesoriginals abgelegt Die Webseite zur Datei htdocsindexhtm enthaumllt zum lokalen Aufrufen der Standard-Lernumgebung Links zu den vier Index-Dateien in den Ordnern eng fra ger und ita Die Stylesheet-Datei htdocsrcl_stylecss enthaumllt die Styles der Webseiten

In der Regel werden Standard-Lernumgebungen der RCLs des RCL-Portals von verschiede-nen Personen erstellt Fehlende Gestaltungs- und Formatierungsregeln fuumlhren zu einem un-einheitlichen inattraktivem Erscheinungsbild des RCL-Portals Tab 6 gibt einen Uumlberblick der wichtigsten Gestaltungs- und Formatierungsregeln

Element Richtlinien

Gliederung

Die Webseiten Einstieg Aufbau Aufgaben Diskussion Material und Support enthalten vorgegebene Gliederungspunkte teilweise mit ausgefuumlhrten Uumlberschriften

Die umfangreicheren Webseiten Theorie und Auswertung enthalten ein Inhaltsverzeichnis mit internen Links zu Gliederungspunkten Zwischen Punkten der ersten Gliederungsebene (1 2 hellip) ist ein zwei-zeiliger Abstand (ltpgtampnbspltpgtltpgtampnbspltpgt) zwischen Punkten der zweiten (11 12 hellip) und Punkten der nur falls unbedingt notwendig dritten 111 112 hellip) Gliederungsebene ein einzeiliger Abstand zu waumlhlen Nach Abbildungen und Tabellen folgt ein einzeiliger Abstand zum nachfolgenden Text

Links Keine internen Links zwischen den Webseiten der Lernumgebung Externe Links werden prinzipiell in einem neuen Browserfenster geoumlffnet (blank)

Abbildung

Alle Abbildungen erhalten fortlaufend beginnend mit 1 nummerierte Abbildungsunterschriften der Form Abb x hellip

Abbildungen sind moumlglichst spachenunabhaumlngig d h ohne Texte in der Abbildung zu erstellen Zur Beschriftung koumlnnen z B Zahlen verwendet werden die in der Abbildungsunterschrift oder im Text er-laumlutert werden

Tabellen Tabellen werden in jeder Webseite fortlaufend beginnend mit 1 nummeriert Tabellen sind zu zentrieren Rahmenstaumlrke 1

Formeln

Formeln sind nicht als Textzeichen oder Grafik im laufenden Text einzufuumlgen sondern stets zentriert in einer eigenen Zeile als gif-Grafik

Zum Erstellen der Formel-Grafiken eignet sich z B der Formel-Editor MathType15 mit der Aufloumlsungs-Einstellung 120 dpi fuumlr InternetGif

Formeln brauchen im Rahmen des begrenzten Umfangs der Webseiten nicht nummeriert zu werden Groumlszligen-symbole

Griechische Groumlszligensymbole und mathematische Symbole sind nicht als Grafiken im laufenden Text sondern als HTML-Code einzufuumlgen Eine Zeichenreferenz findet sich bei Selfhtml16

Styles Zur Formatierung der Webseiten werden aus der Stylesheet-Datei nur die drei Styles Uumlberschrift fuumlr

die Uumlberschriften Bildunterschrift fuumlr Abbildungs- und Tabellenunterschriften und Tabellentext fuumlr Tex-te in Tabellen benoumltigt

Tab 6 Richtlinien zur Gestaltung und Formatierung der Standard-Lernumgebung

Detailliertere Informationen zum Layout der Standard-Lernumgebung koumlnnen dem RCL-Ordner und dem Erscheinungsbild der Webseiten von RCLs in Browsern entnommen wer-den

15 Vgl Design Science MathType 16 Vgl Selfhtml HTML-Zeichreferenz

33

4 ANHANG

34

41 Interface in Basisschaltung 411 Schaltplan und Bauteilliste Abb 19 zeigt den Schaltplan der Basisschaltung des Interface und Tab 7 die dazugehoumlrige Bauteilliste

Abb 19 Basisschaltung des Interface

Nr Anzahl Kurzbeschreibung des Bauteils Best-Nr bei Reichelt electronic

Einzelpreis in euro

0 1 Epoxyd-Platine (190x112 mm) mit Anteil Loumltpunktraster (Spezi-

alanfertigung) - asymp 10

1 1

Epoxyd-Fotoplatine einseitig 160x100 mm 15 mm 35 microm Epoxyd-Lochrasterplatine 160x100 mm 15 mm 35 microm

BEL 160x100-1 UP 832EP

170 420

1 1 Hohlstecker-Einbaubuchse gewinkelt Loumltfahnen 21 mm HEBW 21 018 2 1 D-SUB-Stecker 9-polig gewinkelt RM 94 D-SUB ST 09EU 029 3 1 Schottky Diode DO41 40 V 1 A SB 140 008 4 1 Draht von abgeschnittenem Beinchen aus Pos-Nr 3 - - 5 1 IC-Sockel 16-polig superflach gedreht vergoldet GS 16P 029 6 1 IC-Sockel 40-polig superflach gedreht vergoldet GS 40P 061 7 1 2x10-pol-Stiftleiste gerade RM 254 SL 2X10G 254 007 8 1 Metallschichtwiderstand 100 kΩ Metall 100k 0082 9 1 Elektrolytkondensator 10x16 mm 470 microF RM 50 mm RAD 47025 006 10 1 Elektrolytkondensator 63x11 mm 100 microF RM 25 mm RAD 10016 004 11 5 Elektrolytkondensator 5x11 mm 10 microF RM 20 mm RAD 1035 004 12 2 Keramik-Kondensator 33 pF Kerko 33p 006 13 3 Vielschicht-Keramikkondensator 100 nF 20 Z5U-25 100n 004

35

14 1 Standardquarz Grundton 110592 MHz 110592-HC49U-S 018 15 1 Spannungsregler 1 A positiv TO-220 microA 7805 028 16 1 Kuumlhlkoumlrper fuumlr Gehaumluse TO-220 99KW V FI356 066 17 1 Zylinderkopfschraube Schlitz M3 10 mm fuumlr Kuumlhlkoumlrper M3x10mm 160 18 2 Sechskantmutter M3 fuumlr Kuumlhlkoumlrper SK M3 001 19 1 Stecker-Schaltnetzteil 12 V 2250 mA MW 3IP25GS 1150 20 1 RS232-Driver DIL-16 MAX 232 CPE 041 21 1 ATmega AVR-RISC-Controller DIL-40 ATmega16-16 DIP 420 22 3 10-poliger Wannenstecker RM 254 stehend (optional) WSL 10G 009 23 1 14-poliger Wannenstecker RM 254 stehend (optional) WSL 14G 014 24 1 40-polige Stiftleiste 1-reihig gerade RM254 (optional) SL 1x40G 254 023 25 1 Kunststoffgehaumluse 1982x1124x760 mm (Serientyp 202) - asymp 10 euro 26 1 D-SUB Nullmodem-Kabel 9-pol BUBU 3 m AK 143 155 27 x DIN-Einbaubuchse 5-pol Schraubver 360deg (optional) DIO-50W EMS 185 28 x DIN-Einbaubuchse 8-polig Schraubversch 270deg (optional) DIO-80SN EMS 180 29 x Pfostenstecker 10-polig mit Verrieglung gew (optional) PSL 10W 028 30 x Klemmleiste RM 254 Oumlffnungshebel 8-polig (optional) Wago 233 220

Tab 7 Bauteilliste mit Bestellnummer und Einzelpreisen der Bauelemente bei Reichelt electronic (Stand 23102010)

Anhand der Bauteilliste in koumlnnen die elektronischen Bauelemente der Basisschaltung (larr Tab 7 Nr 0 ndash 21 optional Nr 22 - 24) bei Reichelt electronic bestellt werden Das Gehaumluse des Interface (larr Tab 7 Nr 25) sollte vom Hersteller HAGOTECH GmbH bezogen werden Weiterhin wird ein Nullmodemkabel (larr Tab 7 Nr 26) zur Verbindung des Interface mit dem Computer benoumltigt Sensoren und Aktoren des Experiments koumlnnen mit optionalen Steck-verbindern (larr Tab 7 Nr 27 - 30) und entsprechende Kabelverbindungen an das Interface angeschlossen werden Die Nummern 0 - 25 stimmen mit der angegebenen Bestuumlckungs-reihenfolge auf der Platine uumlberein Das Interface kostet in der Basisschaltung ca 50 euro

412 Bestuumlckung der Platine Abb 20 zeigt zur Bestuumlckung der Platine benoumltigte Werkzeuge

Abb 20 Werkzeuge zur Bestuumlckung der Platine des Interface

36

Loumltkolben mit feiner Spitze in Meisselform 2 mm oder Loumltstation (1) Loumltzinnabsauger zum Entfernen von Loumltzinn (2) Nasser Schwamm zum Reinigen der Spitze des Loumltkolbens (3) Loumltzinn mit Durchmesser 08 - 10 mm (4) Flachspitzzange zum Biegen von Anschluumlssen der Bauelemente (5) Seitenschneider zum Kuumlrzen der Beinchen von Bauelementen (6) Multimeter zum Pruumlfen der Funktionsfaumlhigkeit der Schaltung (7) Sekundenkleber zur Befestigung von Bauelementen Kleine Bohrmaschine z B von Dremel und 08 mm Bohrer oder duumlnne Rundfeile zum

Weiten von Loumlchern auf der Platine des Interface

Abb 21 zeigt die Platine des Interface von der Loumltseite in der Spezialanfertigung der Elekt-ronik-Werkstatt an der Technischen Universitaumlt Kaiserslautern und in der Selbstbauvariante (larr Tab 7 Nr 0) Abb 22 zeigt das Platinenlayout

Abb 21 Platine des Interface von der Loumltseite als Spezialanfertigung (links) und der Selbstbauvariante

(rechts)

Abb 22 Layout zur Herstellung des geaumltzten Teils der

Platine in der Selbstbauvariante

37

In der Selbstbauvariante kann anhand des Platinenlayouts eine selbst geaumltzte Platine fuumlr die Basisschaltung auf einer Platine im Europakartenformat hergestellt und diese in der Laumlnge gekuumlrzt werden Eine gekuumlrzte Lochrasterplatine bildet den zweiten Teil der Platine Mit den optionalen vier Wannensteckern (larr Tab 7 Nr 22 - 23) oder den vier Stiftleisten (larr Tab 7 Nr 24) an den Ports des Mikrocontrollers koumlnnen leicht elektrische Verbindungen zum Rasterteil der Platine herstellt werden Abb 23 zeigt die fertig bestuumlckte Platine mit den Nummern aus Tab 7

Abb 23 Bestuumlckte Platine des Interface mit nummerierten Bauelementen

Tab 8 beschreibt das Einloumlten der elektronischen Bauelemente anhand der Nummern aus Tab 7 und in der angegebenen Reihenfolge

Nr Bauelement Beschreibung des Einbaus

0 Spezialanfertigung und Selbst-bauvariante der Epoxydharz-

Platine

1

Stromversorgungsbuchse ndash Hohlstecker 21 mm

Wenn die Loumltbeine nicht durch die Loumlcher der Platine passen die Loumlcher mit einer runden Schluumlsselfeile aufweiten

Stromversorgungsbuchse mit Sekundenkleber vor dem Festloumlten auf der Pla-tine fixieren da diese mechanischen Belastungen durch das Einstecken und Herausziehen des 12 V -Steckers ausgesetzt ist

Wahlweise kann die 25 mm-Version der Buchse verwendet werden

2

RS232 Datenstecker

RS232 Datenstecker mit Sekundenkleber vor dem Festloumlten auf der Platine fixieren da dieser mechanischen Belastungen durch das Einstecken und Herausziehen des Null-Modem-Kabels ausgesetzt ist

Alle Beinchen und Befestigungsstifte zur houmlheren Stabilitaumlt anloumlten

3

Ein Ring an einer Seite der Diode (hier links weiszlig) zeigt die Durchlass- bzw Sperrrichtung der Diode an Die Position des Ringes entspricht der Position des Balkens im Schaltungssymbol

38

Diode ndash SB140 Auf der Platine muss der Ring auf der von der Stromversorgungsbuchse ab-

gewandten Seite liegen

4 Drahtbruumlcke

Vor dem Einloumlten des 40-poligen IC-Sockels (Nr 5) muss eine Drahtbruumlcke unter diesem eingeloumltet werden Dazu koumlnnen die abgeschnittenen Beinchen der bereits eingeloumlteten Diode (Nr 3) verwendet werden

5 6

IC-Fassungen

Die 16-polige und 40-polige IC-Fassungen besitzen eventuell eine Markie-rung fuumlr Pin1 (z B Kerbe in der Stirnseite Punkt Pfeilhellip) als Hilfe fuumlr das richtige Einstecken der ICs Die Markierungen muumlssen bei beiden Fassungen nach oben also zum naumlchstliegenden Rand der Platine zeigen

Die ICs unbedingt noch nicht einstecken

7

ISP-Stiftleiste

Die doppelreihige ISP-Stiftleiste dient der Programmierung des Mikrocontrol-lers mit dem AVR-ISP-Programmer (ISP steht fuumlr In System Programming)

ISP-Stiftleiste auf 2 x 5 Stifte kuumlrzen und mit den kurzen Beinchen einloumlten so dass auf die langen Stifte der AVR-ISP-Programmer gesteckt werden kann

8

Widerstand 100 kΩ

Den 100 kΩ-Widerstand rechts neben der ISP-Stiftleiste einloumlten

9

10

11

Elkos

Bei den verwendeten Elektrolyt-Kondensatoren ist die Polung zu beachten (langes Beinchen = Plus-Pol) Weiterhin ist auf den Kondensatoren ein wei-szliger Streifen mit Minus-Zeichen aufgedruckt Die Kondensatoren sollten eine Spannungsfestigkeit von mindestens 16 V besser 25V besitzen

Auf der Kupferseite der Platine zeigt die Form der Loumltaugen die Polung an Rundes Loumltauge = Plus quadratisches Loumltauge = Minus

Der 470 microF Kondensator wird mit dem weiszligen Streifen in Richtung Stromver-sorgungsbuchse direkt unter diese montiert

Der 100 microF Kondensator sitzt direkt unter der 16-poligen IC-Fassung Sein weiszliger Streifen (Minus-Pol) zeigt in Richtung der Stromversorgungsbuchse

Vier der 10 microF Kondensatoren werden links neben der 16-poligen IC-Fassung montiert Deren Polung ist wie folgt Unterster Kondensator Minus nach oben naumlchster Kondensator Minus nach unten die beiden oberen Kondensatoren mit Minus nach oben

Ein weiterer 10 microF Kondensator wird rechts neben die 16-polige IC-Fassung geloumltet Sein Minus-Streifen zeigt nach unten

12

13

Keramik-Kondensatoren

Die Beschriftung 104 bedeutet 10e4 pF = 100 nF Die beiden 33 pF-Kerkos (Keramik-Kondensatoren) werden direkt nebenei-

nander rechts neben die 16-polige IC-Fassung geloumltet Zwei 100 nF-Kondensatoren werden unter dem 470 microF-Elko eingeloumltet ein

weiterer mittig an der linken Seite der 40-poligen IC-Fassung

14

Quarz

Als Quarz wird ein 110592 MHz-Typ verwendet Bei dieser Frequenz ist eine fehlerfreie Kommunikation uumlber RS232 mit 9600 Baud moumlglich Fuumlr den AT-mega16 koumlnnen Quarze bis 16 MHz eingesetzt werden Details siehe Daten-blatt

Der Quarz wird direkt rechts neben die beiden 33 pF-Kerkos geloumltet Die Ori-entierung des Quarz spielt keine Rolle

15

16

17

18

Der Spannungsregler L7805 erzeugt eine stabilisierte Spannung von 5 V Es muss ein Kuumlhlkoumlrper zur Waumlrmeabfuhr vom Spannungsregler verwendet werden

Vor dem Einloumlten zwischen Spannungsregler und Kuumlhlkoumlrper etwas Waumlrme-leitpaste aufgetragen Beide Bauteile fest mit einer Schraube M3x10 und ei-ner 1 Mutter verschrauben

Dann den Spannungsregler einloumlten um 90deg abzubiegen das uumlberstehende Gewinde durch das vorgesehene Loch stecken und alles mit einer 2 Mutter auf der Platine befestigen

1 Mutter

2 Mutter

Schr

aube

L7805

Platine

KuumlhlkoumlrperWaumlrmeleitpaste

Beinchen

Loumlten

39

Spannungsregler L7805 Kuumlhl-koumlrper und Montage

19

Steckernetzteil

Funktionskontrolle vor dem Einsetzen des Mikrocontrollers Polung der Elektrolyt-Kondensatoren (Elkos) pruumlfen Sind alle Beinchen angeloumltet Hat das Loumltzinn an den Beinchen und der Pla-

tine guten Kontakt Sind eventuell zwei benachbarte Beinchen unbeabsichtigt durch Loumltzinn verbunden Alle Loumltverbindungen nochmals genau z B mit ei-ner Lupe pruumlfen

Probeweise das Stecker-Netzteil an die Buchse anschlieszligen Am 100 nF-Kondensator links mittig der 40-poligen IC-Fassung muumlssen 5 V anliegen

Versorgungsspannung unbedingt wieder von der Platine trennen

20

21

ICs MAX232 und ATmega16

Die Nuten auf den ICs am linken Rand muumlssen nach oben zeigen d h Pin1 ist bei beiden ICs in der Abbildung links unten und auf der Platine oben links

Manchmal passen die Beinchen der ICs nicht in die Fassung weil die Fas-sung scheinbar zu schmal ist Dann den IC seitlich mit einer Beinchen-Reihe flach auf den Tisch legen den IC-Koumlrper links und rechts greifen und Bein-chen durch leichten Druck biegen Einzelne verbogene Beinchen vorsichtig mit einer kleinen Flachzange richten

22

23

Wannenstecker 10- und 14-polig

Wannenstecker an den vorgesehe-nen Stellen mit der Nut gegen Ver-polung in Richtung des naumlherliegen-den Platinenrands einloumlten

Die Abbildung rechts zeigt die Pin-Belegung der Wannenstecker

24

Stiftleiste 8-polig 40-pol Stiftleiste in 4 jeweils 8-polige Stuumlcke zerteilen und einloumlten

25

Kunststoffgehaumluse

In der Selbstbauvariante der Platine (Nr 0) vor dem Einsetzten der Platine in das Gehaumluse passend positionierte Kunststoffstege am Gehaumluseboden fest-kleben

Tab 8 Bestuumlckung der Platine des Interface mit Bauelementen

42 Erweiterungsschaltungen 421 Uumlbersicht In Tab 3 sind von RCLs des RCL-Portals Sensoren und Aktoren mit den dazugehoumlrigen Er-weiterungsschaltungen zusammengestellt Da alle RCLs obligatorisch uumlber mindestens eine Webcam verfuumlgen sind diese unter den Sensoren nicht aufgefuumlhrt Die wenigen Erweite-rungsschaltungen fuumlr Sensoren sind unter Sensoren in Klammern aufgelistet Unter Aktoren werden auszliger elektro-mechanischen Wandlern auch gesteuerte Geraumlte oder Bauelemente verstanden Anzeigeinstrumente sind unter Aktoren nur aufgefuumlhrt wenn sie direkt vom In-terface gesteuert werden Mit gekennzeichnete Erweiterungsschaltungen befinden sich au-szligerhalb des Interface

40

RCL Sensoren Aktoren Erweiterungsschaltungen fuumlr Aktoren

Beugung und Interferenz I Referenz-Taster

Schrittmotor (Rotation) Schrittmotorsteuerung Laser-Modul Geschaltete Spannungsversorgung

Beugung und Interferenz II

4 Referenz-Taster Lichtsensor

4 Schrittmotoren (Translation) 4 Schrittmotorsteuerungen 5 Laser-Module Geschaltete Spannungsversorgung LED fuumlr Position des

Lichtsensors Geschaltete Spannungsversorgung

LED fuumlr Linealbeleuchtung Geschaltete Spannungsversorgung

Elektronen-beugung

Hochspannungsnetzgeraumlt Geschaltete Spannungsversorgung Hochspannungsnetzgeraumlt Steuerung der Hochspannung

Fotoeffekt 2 Referenz-Taster Photozelle

2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen

Quecksilberdampflampe Geschaltete Spannungsversorgung

der Drossel fuumlr Quecksilberdampf-lampe

Halbleiter-kennlinien

und Halbleiterkennli-nien - Schuumller-

projekt

Referenz-Taster

Schrittmotor (Rotation) Schrittmotorsteuerung Oszilloskop Geschaltete Spannungsversorgung

Oszilloskop Instrumentenverstaumlrker fuumlr X- und Y-Ablenkung

Multimeter Steuerung Spannungs- oder Strom-anzeige

Heiszliger Draht 4 Endtaster 4 Drehgeber Kurzschlusssensor

4 Gleichstrommotoren 4 Treiber

Zweifarbige LED Steuerung der LED-Farbe

Lichtgeschwin-digkeit

Drehimpulsgeber 2 Taster an Enden

der Eisenbahnstre-cke

2 Schrittmotoren 2 Schrittmotorsteuerungen Oszilloskop Geschaltete Spannungsversorgung

Motor der Lokomotive Steuerung des Ein- und Ausschal-tens und der Bewegungsrichtung

Maut Infrarot-Sensor Gleichstrommotor Geschaltete Spannungsquelle 2 IR-Fernbedienungen Spannungsregler 2-stellige 7-Segmentanzeige LED-Treiber

Millikan-Versuch 2 Referenz-Taster

2 Schrittmotoren 2 Schrittmotorsteuerungen Lichtquelle (LED) fuumlr Millikan-

Kondensator Geschaltete Spannungsversorgung

Airbrush-Kompressor Geschaltete Spannungsversorgung Magnetventil Geschaltete Spannungsversorgung Millikan-Kondensator Gesteuertes Hochspannungsmodul

Optische Com-putertomogra-

phie

2 Referenz-Taster 2 Lichtsensoren

Schrittmotor (Rotation) Schrittmotorsteuerung Schrittmotor (Translation) Schrittmotorsteuerung

2 Laser-Module 2 geschaltete Spannungsversor-gungen

Optische Fou-rier-

Transformation 2 Referenz-Taster

2 Schrittmotoren (Translation) 2 Schrittmotorsteuerungen

Laser-Modul Geschaltete Spannungsversorgung

Oszilloskop Oszilloskop Geschaltete Spannungsversorgung Signalgenerator Steuerung der Signalart

Radioaktivitaumlt 4 Referenz-Taster Geiger-Muumlller-

Zaumlhlrohr

2 Schrittmotoren (Translation) 2 Schrittmotorsteuerungen 2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen 4-stellige 7-Segment-Anzeige Treiber Elektromagnet Geschaltete Spannungsversorgung

Roboter im Labyrinth Infrarot-Sensor

2 Schrittmotoren 2 Schrittmotorsteuerung Infrarot-Sender Treiber

Rutherfordscher Streuversuch

2 Referenz-Taster Halbleiterdetektor

(Impulsformer)

2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen

4-stellige 7-Segment-Anzeige Treiber

Weltpendel

Referenz-Taster Lichtsensor der

Lichtschranke (Im-pulsformer)

Temperatursensor

Schrittmotor (Translation) Schrittmotorsteuerung Elektromagnet Geschaltete Spannungsversorgung

Laser der Lichtschranke Geschaltete Spannungsversorgung

Windkanal Referenz-Taster Schrittmotor (Translation) Schrittmotorsteuerung

41

Dehnungsmess-streifen (Wheat-stonesche Bruumlcke Messverstaumlrker Multimeter)

Geblaumlsemotor Geschaltete Spannungsversorgung

und Ansteuerung mit Pulsweiten-modulation

Anemometer Geschaltete Spannungsversorgung Multimeter Geschaltete Spannungsversorgung

Tab 9 Sensoren Aktoren und Erweiterungsschaltungen der RCLs des RCL-Portals

422 TMC222-Modul zur Schrittmotorsteuerung 4221 Schaltplan und Bauteilliste Abb 1 zeigt die Beschaltung des TMC222 von Trinamic auf dem TMC222-Modul

Abb 24 Beschaltung des TMC222 von Trinamic

Anhand der Bauteilliste in Tab 10 koumlnnen die elektronischen Bauelemente des TMC222-Moduls bei Reichelt electronic bestellt werden Ein TMC222-Modul kostet ungefaumlhr 10 euro

Nr Anzahl Kurzbeschreibung des Bauteils Best-Nr bei Reichelt electronic

Einzelpreis in euro

0 1 Epoxyd-Fotoplatine einseitig 75x100 mm 15 mm 35 microm BEL75X100-1 096 1 1 Integrierter TMC-Schrittmotor-Controller TMC 222 SI asymp 7 2 1 Elektrolytkondensator 8x11 mm Rm 35 mm 100 microF35 V RAD 10035 004 3 1 Tantal-Kondensator Rm 25 10 microF35 V Tantal 1035 014 4 2 Vielschicht-Keramikkondensator 220 nF 20 Z5U-25 220N 011 5 3 Vielschicht-Keramikkondensator 100 nF 20 Z5U-25 100N 004 6 2 Metallschichtwiderstand 100 kΩ Metall 100K 0082 7 1 1x36pol Stiftleiste gewinkelt Rm 254 SL 1X36W 027 8 1 1x36pol Buchsenleiste gerade Rm 254 BL 1X36G 025

Tab 10 Bauteilliste mit Bestellnummer und Einzelpreisen der Bauelemente bei Reichelt electronic (Stand 23102010)

4222 Bestuumlckung der Platine

42

Abb 25 zeigt die fertig bestuumlckte Platine mit den Nummern aus Tab 10

Abb 25 Bestuumlckte Platine des TMC222-Moduls

mit nummerierten Bauelementen

Die Platine (35 mm x 30 mm) kann anhand des Layouts in Abb 26 hergestellt werden Der IC TMC222 wird auf der Loumltseite der Platine aufgeloumltet Das TMC222-Modul kann mit der Stiftleiste (larr Tab 10 Nr 7) in eine Buchsenleiste (larr Tab 10 Nr 8) auf die Platine des In-terface gesteckt werden

Abb 26 Platine des TMC222-Moduls von der Loumltseite (links) und Layout

4223 Quellcode des Mikrocontroller-Programms Im Folgenden ist ein mit Bascom (larr 12 Tab 1 Entwicklungsumgebungen) erstelltes Bei-spiel-Programm zur Ansteuerung des Schrittmotormoduls TMC222 durch den Mikrocontroller ATmega16 angegeben $regfile = m16DEFdat $crystal = 11059200 $baud = 9600 Definitionen Config Scl = Portc0 Taktleitung Config Sda = Portc1 Datenleitung Const Adress = ampB11000000 I2C Adresse des TMC222 Const GetFullstatus1 = ampB10000001 Kommando des TMC222 Const Resetpos = ampB10000110 Kommando des TMC222 Const Motorparameter = ampB10001001 Kommando des TMC222 Const Setposition = ampB10001011 Dim Puffer(10) As Byte

43

Programm I2csend Adress GetFullstatus1 GetFullstatus1 (Initialisierung des TMC222) I2creceive Adress 7 Ack Daten in Puffer auslesen Puffer(1) = Motorparameter puffer auffuumlllen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB11110011 1111irun 0011ihold Puffer(5) = ampB01110001 0111vmax 0001vmin Puffer(6) = ampB00010000 000securepos(bit10-8) 1shaft 0000acceleration Puffer(7) = 0 securepos(bit7-0) Puffer(8) = ampB00001100 000nicht belegt 0accshape 11stepmode 00nicht belegt I2csend Adress Puffer(1) 8 I2csend Adress Resetpos aktuelle Position auf 0 setzen Puffer(1) = Setposition Motor bewegen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB01111111 position(bit 15-8) Puffer(5) = ampB11111111 position(bit 7-0)acute I2csend Adress Puffer(1) 5 End

423 Geschaltete Spannungsquellen und Verbraucher Die Ausgaumlnge des Mikrocontrollers duumlrfen nur mit Stroumlmen kleiner als ungefaumlhr 20 mA belas-tet werden Verbraucher mit einer Stromlast groumlszliger als 20 mA koumlnnen daher nicht direkt an den Mikrocontroller angeschlossen werden Abb 27 zeigt links eine Schaltung zum Schalten eines Verbrauchers wie z B des Relais und rechts eine Schaltung mit dem IC ULN2803A zum Schalten mehrerer Verbraucher wie z B Gluumlhlampen

Abb 27 Erweiterungsschaltungen zum Schalten eines (links) oder

mehrerer Verbraucher (rechts)

Zu beachten ist dass der Transistor BC337 maximal 800 mA schalten kann und fuumlr groumlszligere Stroumlme andere Transistoren verwendet werden muumlssen

424 Steuerung von Gleichstrommotoren

44

Sollen Gleichstrommotoren zum Bewegen von Objekten mit dem Mikrocontroller gesteuert werden dann eignet sich dazu der in Abb 28 dargestellte beschaltete IC L293D

Abb 28 Beschaltung des L293D zum

Steuern zweier Gleichstrom-motoren

Mit Pin 1 = Pin 9 = 1 (High) koumlnnen zwei Gleichstrommotoren M1 und M2 (Versorgungs-spannung UM lt 36 V Spulendauerstrom IM lt 600 mA) unabhaumlngig voneinander ein- und ausgeschaltet sowie in der Drehrichtung uumlber die Ports PA0 und PA1 fuumlr M1 und PA2 und PA3 fuumlr M2 gesteuert werden Z B gilt mit PA0 = PA1 = 0 (M1 ausgeschaltet) PA0 = 1 und PA1 = 0 (M1 dreht sich) PA0 = 0 und PA1 = 1 (M1 dreht sich in Gegenrichtung)

45

43 Quellcodes zum RCL Elektronenbeugung 431 Mikrocontroller-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

46

47

48

49

432 PHP-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

50

51

433 Bedienfeld der Laborseite

Tab 11 erlaumlutert die Funktion der Bloumlcke im Quellcode

Zeilen Funktion 1 Datei defaultconf einbinden 2 Datei headtpl einbinden

5 - 11 Ausgabe der verbleibenden Experimentierzeit 18 - 21 Button zum Einschalten der Elektronenbeugungsroumlhre 28 - 30 Eingabefeld fuumlr die Beschleunigungsspannung

37 Ruumlckmeldung zur eingegebenen Beschleunigungsspannung 42 Datei foottpl einbinden

Tab 11 Funktion der Programmbloumlcke in der Datei experi-menttpl

52

434 Webcamfeld der Laborseite

In Tab 12 ist die Funktion der Programmbloumlcke und die Anpassungen der Vorlage an das RCL Elektronenbeugung beschrieben

Zeilen Funktion Anpassung RCL Elektronenbeugung

5 Titelangabe erscheint als Tabulatorbeschriftung in Browsern

Name des RCLs eintragen

11 - 15 16 - 20

Zwei Javascripts zum getrennten Aufrufen zweier Po-pup-Fenster mit dargestelltem Webcambildern 1 und 2

Javascript 1 die IP-Adresse eintragen Javascript 2 auskommentiert weil nicht benoumltigt

24 - 40 42 - 60

Zwei Javascripts zum Aktualisieren der Webcambilder 1 und 2

Javascript 2 auskommentiert weil nicht benoumltigt

67 - 71 79 - 83

Aufrufen des ersten Webcambilds der Webcams 1 und 2 beim Aufrufen der Datei

Webcambild 2 auskommentiert weil nicht benoumltigt

72 - 78 84 - 90

Buttons zum Aufrufen der Screenshots der Webcam-bilder 1 und 2

Button 2 auskommentiert weil nicht benoumltigt

91 - 95 Zeile der Tabelle zum Eintragen von Informationen die sich auf die Webcambilder oder den Versuch beziehen

Text in Zeile der Tabelle geschrieben

Tab 12 Funktionen der Codeabschnitte in der Datei videohtm und Anpassung der Vor-lage an das RCL Elektronenbeugung

53

44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung Im Folgenden wird die Installation und Konfiguration des AVR-Studios 418 und der Bascom 11198 Demoversion beschrieben Alle Anleitungen sind zeilenweise von links nach rechts zu lesen

441 AVR-Studio 418 4411 Installation Auf der Webseite von ATMEL Register AVR Studio 418 (build 684) anklicken und Registrie-rungsformular ausfuumlllen Danach die Datei AvrStudio418Setup herunterladen Durch Dop-pelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen Next waumlhlen

I accept hellip und Next waumlhlen Installationsordner und Next waumlhlen

54

Installupgrade hellip und Next waumlhlen Install waumlhlen Die Installation beginnt

Finish waumlhlen

4412 Konfiguration AVR Studio 418 in Windows XP Professional unter StartProgramme aufrufen

Startfenster mit Cancel schlieszligen Unter ToolsProgram AVR Auto Connect waumlhlen

55

Im eingeblendeten Fenster auf der Registerkarte Main als Device ATmega16 und als Programming Mode ISP mo-de waumlhlen

Optional kann Signatur gelesen werden

In der Registerkarte Fuses alle Haumlkchen und Auswahlfel-der wie angegeben waumlhlen

Dann Program waumlhlen

442 BASCOM 11198 Demoversion 4421 Installation Auf der Webseite von Bascom unter Bascom AVR Demo die Zip-Datei setupdemoexe her-untergeladen Durch Doppelklick auf den Dateinamen die Installation starten

Next waumlhlen I accept the agreement und Next waumlhlen

56

Next waumlhlen Installationsordner eingeben und Next waumlhlen

Eintrag im Start-Menuuml eingeben und Next waumlhlen Next waumlhlen

Yes restart the computer now und Finish waumlhlen

57

4422 Konfiguration Bascom AVR in Windows XP Professional unter StartProgramme zum Einstellen der Para-meter des Mikrocontrollers und des Terminals aufrufen

OptionsCompilerChip waumlhlen Einstellungen wie im Bild vornehmen und OK waumlhlen

Auf der Registerkarte Communications Einstellungen wie im Bild vornehmen und OK waumlhlen

Unter OptionsCommunication Einstellungen wie im Bild

vornehmen und OK waumlhlen FileNew waumlhlen Unter ToolsTerminal emulator das Terminal aufrufen und

eingeben Die Befehlsliste des RCLs Elektronenbeu-gung wird angezeigt

45 Installation und Konfiguration von Programmen auf dem RCL-Server Im Folgenden wird der Download die Installation und die Konfiguration von Programmen auf dem RCL-Server unter Windows XP Professional beschrieben Alle Anleitungen sind zeilen-weise von links nach rechts zu lesen Die Installation der Programme sollte in der angegebe-nen Reihenfolge erfolgen

58

451 Einrichten des Internet-Zugangs LAN-Verbindung unter StartSystemsteuerungNetzwerkverbindungen aufrufen

Internetprotokoll (TCPIP) und Eigenschaften waumlhlen Folgende IP-Adresse verwenden waumlhlen IP-Adressen ein-

geben und OK waumlhlen

452 Paket XAMPP 174 Unter apache friends - xampp fuumlr windows und XAMPP Windows 174 Installer anklicken und Datei xampp-win32-174-VC6-installerexe speichern Durch Doppelklick auf die Datei die Installation starten

Sprache und Ok waumlhlen Ok waumlhlen

59

Weiter waumlhlen Zielverzeichnis mit Durchsuchen waumlhlen oder eingeben

Apache nicht als Dienst installieren Fertig stellen waumlhlen

Ja waumlhlen Zum Starten des Apache Webservers das Control Panel

unter StartProgrammeXAMPP 173 for Windows mit Start starten Anstelle von Start erscheint Running

Zum Beenden des Apache Webservers Stop waumlhlen Zum Beenden des Control Panels Exit waumlhlen

60

453 Videoserver webcamXP 5 Private Auf der Webseite von Moonware Studios unter webcamXP 55xx die Datei wlite550 herun-terladen Durch Doppelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen I Agree waumlhlen

Next waumlhlen Auszliger webcamXP 5 brauchen keine weiteren Komponen-

ten installiert zu werden

Den vorgeschlagenen Ordner und Install waumlhlen Finish waumlhlen

61

WebcamXP unter StartProgramme aufrufen Zugesandte

Lizenz-Daten in das eingeblendete Fenster eingeben und Register waumlhlen

Beim Starten des Programms stellt webcamXP automa-tisch eine Verbindung zu den am Computer angeschlosse-nen Webcams her

Nach dem Start ist Uumlberwachen gewaumlhlt Durch Rechts-klick mit der Maus auf das Videofenster wird zu jeder Vi-deoquelle ein Kontextmenuuml angezeigt Wird kein Videobild dargestellt das Kontextmenuuml aufrufen Art der Videoquelle waumlhlen (hier USB) und unter den erkannten Videoquellen (hier USB-Videogeraumlt) die gewuumlnschte waumlhlen

Das Videoformat muss fuumlr eine passende Darstellung auf

der Laborseite auf 320 x 240 eingestellt sein Ist das nicht der Fall im Kontextmenuuml unter Video Format einstellen

In gleicher Weise kann eine zweite Videoquelle hinzugefuumlgt werden

In der Registerkarte Web Broadcast kann unter

Broadcast (HTTP) der Videoserver mit Ausschalten ge-stoppt und mit Aktivieren gestartet werden

Zur Zielwahl des Webservers (131246237167 - Internet D16W3X3J - Computer 127001 - Local Host) Videoser-ver stoppen und einstellen Videoserver wieder starten

62

454 Terminalprogramm Hyperterminal Hyperterminal in Windows XP Professional unter StartProgrammeZubehoumlrKommunikation aufrufen

Name der neuen Verbindung - z B Interface - eingeben

und OK waumlhlen Die Verbindung zwischen Computer und Interface wurde

uumlber einen USB-Seriell-Adapter hergestellt Dann erschei-nen zwei zusaumltzliche Eintraumlge (Motorola Comp Modem und COM5) in der Liste Prinzipiell muss eine COMx-Verbindung gewaumlhlt werden

Eigenschaften von COM 5 wie im Bild einstellen und OK

waumlhlen DateiEigenschaften aufrufen und ASCII-Konfiguration

waumlhlen

63

Haken bei Eingegebene Zeichen lokal ausgeben (lokales

Echo) setzen um eingegebenen Zeichen im Hyperterminal zu sehen

Bei funktionsfaumlhiger Verbindung erscheint nach Eingabe von Return die Befehlsliste des Interface

Durch Aufrufen von DateiSpeichern die erstellte Verbin-

dung z B auf dem Desktop speichern Dadurch braucht die Verbindung nicht immer wieder von neuem konfiguriert wer-den

Nach Aufrufen von DateiBeenden die bestehende Verbin-dung mit Ja beenden

64

Wurde ein falscher COM-Port gewaumlhlt reagiert das Inter-

face auf die Eingabe Return nicht Hyperterminal dann beenden

Der COM-Port kann dann nicht unter DateiEigenschaften im Hyperterminal aber unter Eigenschaften des Kontext-menuumls der Datei Interfaceht in der Registerkarte Verbin-den mit geaumlndert werden Dann OK waumlhlen und erneut Verbindung testen

65

455 Fernwartungssoftware TeamViewer 6 Host Auf der Webseite von Teamviewer GmbH unter Fuumlr unbeaufsichtigte Server TeamViewer Vollversion die Datei TeamViewer_Setup-wq herunterladen Das Programm muss auf dem RCL-Server und dem Computer der auf den RCL-Server zugreifen soll installiert werden Durch Doppelklick auf die Datei die Installation starten

Ausfuumlhren waumlhlen Weiter waumlhlen

Fuumlr die private nicht kommerzielle Nutzung ist Teamviewer kostenlos

privat nicht-kommerziell und Weiter waumlhlen

Beide Haumlkchen setzen und Weiter waumlhlen

66

Ja un Weiter waumlhlen Weiter

Computername und Kennwort fuumlr den Zugriff auf den RCL-Server oder den eigenen Computer vergeben Kenn wort notie-ren

Ein Teamviewerkonto ist nicht erforderlich Kann auch spaumlter noch eingerichtet werden

ID fuumlr den Computer auf dem das Programm installiert wird fuumlr Zugriff notieren

Das Programm wird gestartet Standardmaumlszligig vorein-gestellt ist der Start des Programms beim Start des Be-trienssystems

67

46 Selbstbau eines elementaren RCLs 461 Hard- und Software Auch ohne gleich ein vielleicht teures physikalisches Experiment zu steuern laumlsst sich mit wenigen Bauelementen ein elementares RCL realisieren Von einer Webseite im Internet sol-len eine Leuchtdiode (LED) ein- oder ausgeschaltet sowie der Zustand der Leuchtdiode und eines Tasters abgefragt werden An Hard- und Software werden benoumltigt

1 Low-Current-LED 5 mm 2 mA 1 Widerstand 18 kΩ 1 Taster und optional zwei 10-polige Wannenstecker mit ungefaumlhr 10 cm passendem Flachbandkabel und Buchsen

Interface in Basisschaltung Null-Modem-Kabel 12 V DC Steckernetzteil (larr 1)

Installierte Bascom-Demo-Version (larr 42)

AVR ISP-Programmer mit 10-poligem Programmierkabel

Installiertes und konfiguriertes AVR Studio 418 (larr 41)

Installiertes Paket XAMPP (larr 52)

Texteditor wie z B Notepad in Windows XP Professional

Konfigurierte Hyperterminalverbindung (larr 54)

462 Bestuumlckung der Platine Abb 29 zeigt zur Orientierung fuumlr das Einloumlten der Bauelemente die fertig bestuumlckte Platine des Interface

Abb 29 Mit elementarem RCL bestuumlckte Platine

des Interface

LED mit Vorwiderstand und der Taster sind rechts neben dem Mikrocontroller im Lochraster-bereich aufgebaut und uumlber Wannenstecker und Flachbandkabel mit dem Port A des Mikro-controllers verbunden (die drei Bauteile rechts neben dem ATmega16 werden nicht benouml-tigt) Tab 13 erlaumlutert die Schritte zur Bestuumlckung der Platine des Interface

68

Nr Schaltung Erlaumluterung

1

Die Leuchtdiode (LED) mit dem Pluspol (langes Beinchen) an PortA0 (PIN40 oben rechts) des Mikrocontrollers anloumlten

An das kurze Beinchen einen 18kΩ Widerstand loumlten dessen anderes Ende mit der Masse (GND) verbinden

2

Den Taster mit PortA1 (PIN39 = 2 Beinchen von oben rechts) und Masse (GND) verbinden

3

Draufsicht

Belegung des 10-poligen Wannensteckers 1 GND (Masse) im Foto oben links 2 +5 V 3 PortA0 4 PortA1 10 PortA7 im Foto unten rechts

Tab 13 Schritte zum Aufbau des elementaren RCLs

463 Lokal gesteuertes RCL Nachfolgend ist der Basic-Programmcode des Mikrocontrollers zur Steuerung und Abfrage der LED und des Tasters angegeben 01 $regfile = m16DEFdat Microcontroller ATmega16 02 $crystal = 11059200 110592MHz Quarz 03 $baud = 9600 Baudrate 04 05 ---[ Variables ]--------------------------------------------------------------- 06 Dim Rs232kommando As String 10 erst Befehlspuffer dann Kommando 07 Dim Parameter As String 10 Parameter 08 Dim Str_pos As Byte Position von Leerzeichen zur Trennung von Kommando und Pa-rameter 09 10 ---[ Initialisierung ]--------------------------------------------------------- 11 Ddra0 = 1 PortA0 als Ausgang fuumlr LED 12 Porta0 = 0 LED aus 13 Ddra1 = 0 PortA1 als Eingang fuumlr Taster 14 Porta1 = 1 Pull-Up aktivieren 15 16 ---[ Main program loop ]------------------------------------------------------- 17 Do Start der Endlos-Schleife 18 19 If Ischarwaiting() = 1 Then Zeichen uumlber RS232 empfangen 20 Input Rs232kommando neues Kommando lesen 21 Parameter = Parameter initialisieren 22 Str_pos = Instr(rs232kommando ) Leerzeichen im Kommando suchen 23 If Str_pos gt 0 Then falls Leerzeichen dann in Kommando+Parameter zerlegen 24 Incr Str_pos Str_pos soll jetzt auf 1Zeichen des Parameters zeigen 25 Parameter = Mid(rs232kommando Str_pos ) Parameter = Teilstring nach Leerzeichen 26 Parameter = Ucase(parameter) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 27 Str_pos = Str_pos - 2 Str_pos soll jetzt auf letztes Zeichen des Kommandos zeigen 28 Rs232kommando = Left(rs232kommando Str_pos)Kommando = Teilstring vor Leerzeichen 29 Rs232kommando = Ucase(rs232kommando) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 30 End If 31 32 Select Case Rs232kommando Eventhandler Interpretation der Kommandos 33 Case Print Hilfe Hilfeseite anzeigen 34 Print LED on - LED einschalten 35 Print LED off - LED ausschalten 36 Print LED - zeigt Status der LED an 37 Print SW - zeigt Status des Schalters an 38

1K8

LED rotmicroC PortA0(PIN40)

Taster

microC PortA1(PIN39)

1

3

2

69

39 Case LED If Parameter = ON Then LED schalten 40 Porta0 = 1 41 End If 42 If Parameter = OFF Then 43 Porta0 = 0 44 End If 45 46 Case LED If Porta0 = 0 Then Status der LED ausgeben 47 Print LED aus 48 Else 49 Print LED an 50 End If 51 52 Case SW If Pina1 = 1 Then Status des Schalters ausgeben 53 Print Taster offen 54 Else 55 Print Taster geschlossen 56 End If 57 58 Case Else Print gt Rs232kommando lt ungueltiger Befehl - weitere Infos mit Info bei unguumlltigen Eingaben 59 End Select 60 61 End If 62 63 Loop Endlos-Schleife Springe zu Do 64 65 End wird nie erreicht

Der erste Teil des Programms (Zeilen 1 - 15) enthaumllt die Systemparameter Variablen und Initialisierung der Ein- und Ausgaumlnge Der zweite Teil enthaumllt ab Zeile 17 das Hauptpro-gramm in dem Benutzereingaben uumlber die serielle Schnittstelle empfangen interpretiert und in entsprechende Anweisungen umgesetzt werden Tab 14 erlaumlutert den Programmcode de-taillierter

Zeilen Erlaumluterung

1 - 3 Diese Angaben teilen dem Compiler (Bascom) mit welcher Prozessor eingesetzt wird wie schnell dieser getaktet (Quarz) ist und mit welcher Uumlbertragungsgeschwindigkeit die Kommunikation uumlber die serielle Schnittstelle (RS232) mit dem PC erfolgen soll

6 - 8 Es werden drei Variablen genutzt Die Eingabe uumlber die serielle Schnittstelle wird in rs232kommando gespeichert Es wird ein Text der Form Kommando ltLeerzeichengt Parameter erwartet so dass die Variable Parameter den-selbigen aufnimmt Die Variable str_pos wird fuumlr die Trennung von Kommando und Parameter benoumltigt

11 - 14

Mit dem Befehl ddrPX (ddr = data direction) wird festgelegt ob ein Beinchen als Ausgang (=1) oder als Eingang (=0) arbeiten soll Der ATmega16 besitzt 32 Ein-Ausgaumlnge die in vier Ports (P=AD) zu je 8 Pins (X=07) unterteilt sind ddrA0 = 1 legt also das 1 Beinchen (Pin 0) von PortA als Ausgang (=1) fest Mit dem Befehl PortA0 =1 kann dieser Pin dann durch Zuweisen von 1 oder 0 an- bzw ausgeschaltet werden Im Datenblatt erfahren Sie welches der 40 Beinchen des Mikrocontrollers wie bezeichnet wird (Pin-Belegung) Wird ein Beinchen als Eingang verwendet (ddrA1 = 0) koumlnnen Sie optional einen so genannten Pull-Up-Widerstand aktivieren (PortA1=1) oder deaktivieren (PortA1=0) Auch hierzu sollten Sie sich unbedingt mit dem Datenblatt vertraut machen

17 63 Das Hauptprogramm besteht aus einer Endlosschleife d h der Mikrocontroller verrichtet ununterbrochen seinen Job so lange er mit Strom versorgt wird

19 - 30 Falls ein Zeichen uumlber die serielle Schnittstelle empfangen wurde wird dieses und alle folgenden gelesen Anschlie-szligend wird gepruumlft ob der empfangene Text von der Form Kommando ltLeerzeichengt Parameter ist so dass er ge-gebenenfalls in ein Kommando und einen Parameter zerlegt werden kann

32 - 59 Dieser Abschnitt wird mit Event-Handler bezeichnet Hier wird auf die Kommandos (Events) reagiert und die ent-sprechenden Schritte ausgefuumlhrt zB schalten LED je nach Wert der Variablen Parameter an- bzw ausschalten

46 52

In beiden Zeilen wird ein Wert eines Ports abgefragt Unterschiedlich ist dass in Zeile 46 der Status eines Ausgangs abgefragt wird (porta0) und in Zeile 52 der Zustand eines Eingangs (pina0) Die Anweisung IF porta0 = 0 THEN pruumlft (hier ist = ein Vergleich und KEINE Zuweisung) ob zuletzt die LED ausgeschaltet (Zuweisung porta0 = 0) wurde Die Anweisung IF pina1= 1 THEN liest den Status eines Eingangs Hier kann festgestellt werden ob der Eingang uumlber den internen Pull-UP-Widerstand auf +5V liegt (pina1 liefert 1) oder ob der Schalter den Eingang mit Masse (0V) verbindet (pina1 liefert 0)

Tab 14 Erlaumluterung des Mikrocontroller-Programmcodes fuumlr elementares RCL

70

In Bascom AVR eine neue Datei erzeugen (FileNew) den Programmcode ohne Kommenta-re eingeben und mit ProgramCompile (F7) eine Hexadezimaldatei erzeugen Die Hexadezi-maldatei mit dem AVR-Studio und dem AVR-ISP-Programmer in den Mikrocontroller schrei-ben (larr 222 Programmuumlbertragung) Nach dem Verbinden von Computer und Interface per Null-Modem-Kabel kann durch Eingabe von in das konfigurierte Hyperterminal die Befehls-liste in Abb 30 aufgerufen werden

Abb 30 Aufgerufene Befehlsliste im Hyperterminal

Durch Eingabe von LED on oder LED off kann die LED ein- und ausgeschaltet LED zeigt den Status der LED und sw den Status des Tasters an Alternativ zum Hyperterminal kann auch das Terminal in BASCOM unter ToolsTerminal Emulator verwendet werden (larr 422)

464 Ferngesteuertes RCL Zum Ansteuern des Interfaces und zum Bedienen des Versuchsaufbaus uumlber das Internet wird eine Webseite benoumltigt die dem Benutzer alle Bedienelemente des Experiments zur Verfuumlgung stellt

Der Benutzer benoumltigt anklickbare Buttons im Webbrowser

Der Webserver muss die Information welcher Button gedruumlckt wurde empfangen und ein entsprechendes Kommando uumlber die serielle Schnittstelle an das Interface senden

Beide Schritte sind im nachfolgenden PHPHTML-Quellcode zusammengefasst 01 ltDOCTYPE HTML PUBLIC -W3CDTD HTML 401 TransitionalEN httpwwww3orgTRhtml4loosedtdgt 02 lthtmlgt 03 ltheadgt 04 ltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1gt 05 lttitlegtelementares RCLlttitlegt 06 ltheadgt 07 08 ltbodygt 09 ltphp 10 if (isset($_POST[Kommando])) wurde bereits Kommando gesendet 11 if( ( $handle = fopen( COM1 w+ ) ) ) Schnittstelle oumlffnen 12

71

13 throw new Exception( Can not access serial port 2 ) ohne Erfolg 14 15 fwrite( $handle $_POST[Kommando] chr( 13 ) ) Befehl an Interface senden 16 switch ( $_POST[Kommando] ) Antwort von Interface auswerten 17 case LED $tmp = fgets( $handle ) Echo von Interface ignorieren 18 $antwort = fgets( $handle ) Antwort des Interfaces 19 echo Antwort $antwort Ausgabe auf Webseite 20 break switch verlassen 21 22 case SW $tmp = fgets( $handle ) Echo von Interface ignorieren 23 $antwort = fgets( $handle ) Antwort des Interfaces 24 echo Antwort $antwort Ausgabe auf Webseite 25 break switch verlassen 26 27 28 29 fclose( $handle ) Schnittstelle schlieszligen 30 31 else 32 `mode com1 BAUD=9600 PARITY=N data=8 stop=1 xon=off` Schnittstellenparameter setzen 33 34 35 gt 36 37 lth3gtBefehl sendenlth3gt 38 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 39 ltinput type=hidden name=Kommando value=LED ON gt 40 ltinput type=submit value=LED anschalten gt 41 ltformgt 42 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 43 ltinput type=hidden name=Kommando value=LED OFF gt 44 ltinput type=submit value=LED ausschalten gt 45 ltformgt 46 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 47 ltinput type=hidden name=Kommando value=LED gt 48 ltinput type=submit value=LED abfragen gt 49 ltformgt 50 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 51 ltinput type=hidden name=Kommando value=SW gt 52 ltinput type=submit value=Taster abfragen gt 53 ltformgt 54 ltbodygt 55 lthtmlgt Den Quellcode in den Texteditor kopieren und im Ordner htdocs von XAMPP z B unter rclphp speichern HTML-Dateien mit PHP-Code (Zeilen 9-35) muumlssen mit der Erweiterung php gespeichert werden damit der Apache Webserver zwischen HTML-Seiten mit und ohne PHP-Code unterscheiden kann Den installierten Apache Webserver starten (larr 452) und im Adressfeld des Webbrowsers die IP-Adresse http127001rclphp aufrufen Das Bedi-enfeld des elementaren RCLs in Abb 31 wird im Browserfenster angezeigt

72

Abb 31 Laborseite des elementaren RCLs

Im Bedienfeld kann die LED an- und ausgeschaltet sowie der Status von LED und Taster abgefragt werden

  • 0 Warum ein Tutorial zur RCL-Technik
  • 1 Technische Konzeption
    • 11 Einfuumlhrung
    • 12 Wahl der RCL-Technik
      • 2 Lokal gesteuertes RCL
        • 21 Interface
          • 211 Mikrocontroller
          • 212 Basisschaltung und Erweiterungsschaltungen
          • 213 Programmierung des Mikrocontrollers
            • 22 Hyperterminal
            • 23 Positionieren von Objekten
              • 231 Hybrid-Schrittmotoren
              • 232 Schrittmotorsteuerung und Positionierungsmechanik
                  • 3 Ferngesteuertes RCL
                    • 31 RCL-Server
                    • 32 Laborseite
                      • 321 Steuerung des RCLs uumlber das Bedienfeld
                      • 322 Videouumlbertragung im Webcamfeld
                        • 33 Standard-Lernumgebung
                          • 4 ANHANG
                            • 41 Interface in Basisschaltung
                              • 411 Schaltplan und Bauteilliste
                              • 412 Bestuumlckung der Platine
                                • 42 Erweiterungsschaltungen
                                  • 421 Uumlbersicht
                                  • 422 TMC222-Modul zur Schrittmotorsteuerung
                                    • 4221 Schaltplan und Bauteilliste
                                    • 4222 Bestuumlckung der Platine
                                    • 4223 Quellcode des Mikrocontroller-Programms
                                      • 423 Geschaltete Spannungsquellen und Verbraucher
                                      • 424 Steuerung von Gleichstrommotoren
                                        • 43 Quellcodes zum RCL Elektronenbeugung
                                          • 431 Mikrocontroller-Programmierung
                                          • 432 PHP-Programmierung
                                          • 433 Bedienfeld der Laborseite
                                          • 434 Webcamfeld der Laborseite
                                            • 44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung
                                              • 441 AVR-Studio 418
                                                • 4411 Installation
                                                • 4412 Konfiguration
                                                  • 442 BASCOM 11198 Demoversion
                                                    • 4421 Installation
                                                    • 4422 Konfiguration
                                                        • 45 Installation und Konfiguration von Programmen auf dem RCL-Server
                                                          • 451 Einrichten des Internet-Zugangs
                                                          • 452 Paket XAMPP 174
                                                          • 453 Videoserver webcamXP 5 Private
                                                          • 454 Terminalprogramm Hyperterminal
                                                          • 455 Fernwartungssoftware TeamViewer 6 Host
                                                            • 46 Selbstbau eines elementaren RCLs
                                                              • 461 Hard- und Software
                                                              • 462 Bestuumlckung der Platine
                                                              • 463 Lokal gesteuertes RCL
                                                              • 464 Ferngesteuertes RCL

24

Schrittmotoren erlauben nicht nur das Bewegen sondern innerhalb der Leistungsgrenzen (keine Schrittverluste) auch ein genaues Positionieren von Objekten Bei bekannter Schrittzahl auf einer gemessenen Strecke oder Schrittzahl fuumlr den Vollwinkel koumlnnen aus-gehend von einer Referenzstellung Objekte translatorisch oder rotatorisch positioniert werden

232 Schrittmotorsteuerung und Positionierungsmechanik Im Folgenden wird die bei allen RCLs mit Schrittmotoren eingesetzte Schrittmotorsteuerung die Mechanik zur translatorischen Positionierung von Objekten und die Funktionsweise eines Referenztasters beschrieben

Schrittmotorsteuerung Abb 13 zeigt das Blockschaltbild und das im Selbstbau herstellbare TMC222-Modul (rarr 4221 rarr 4222) mit dem IC TMC222 von Trinamic zur Steuerung bipolarer 2-phasiger Hybrid-Schrittmotoren

Abb 13 Blockschaltbild (links) und Platine des TMC222-Moduls (rechts) mit IC TMC 222 auf

der Loumltseite der Platine

Der IC TMC222 enthaumllt ein I2C-Interface zum Anschluss an den I2C-Bus des Mikrocon-trollers (Ports PC0 und PC1) Die 10 kΩ-Pull-up-Widerstaumlnde heben die Takt- (SCL clock) und Datenleitung (SDA data) auf ein Potential von 5 V Der IC TMC222 enthaumllt ei-nen Motortreiber fuumlr Spulenstroumlme bis zu 800 mA und einen Motor-Controller zur Steue-rung der Spulenstroumlme Ein Vorteil des TMC-Moduls ist der relativ geringe Programmier-aufwand fuumlr den Mikrocontroller (rarr 4223) da der IC TMC222 nach Uumlbergabe der Steu-erungsparameter (Drehrichtung Drehzahl hellip) vom Mikrocontroller die Ansteuerung des Schrittmotors uumlbernimmt Der IC TMC222 unterstuumltzt das Beschleunigen und Abbremsen des Schrittmotors enthaumllt einen Schrittpositionszaumlhler und unterstuumltzt Mikrostepping (va-riable Spulenstroumlme zur elektronischen Verkleinerung des Schrittwinkels und groumlszligerer Laufruhe)

25

Falls in RCLs Gleichstrommotoren mit houmlheren Drehzahlen als Schrittmotoren benoumltigt werden kann eine andere Erweiterungsschaltung (rarr 424) eingesetzt werden

Positionierungsmechanik und Referenz-Taster Die Mechanik zur rotatorischen Positionierung von Objekten kann meist kostenguumlnstig selbst oder durch Personal in einer Werkstatt angefertigt werden Abb 14 zeigt eine kos-tenguumlnstige Loumlsung zur translatorischen Positionierung von Objekten

Abb 14 Positionierungseinheit eines Flachbrett-

Scanners Schrittmotor (1) Getriebe (2) Li-nearfuumlhrung (3) Antriebsriemen (4) und er-gaumlnzter Referenz-Taster (5)

Falls der geometrische Aufbau und die geforderte Positionierungsgenauigkeit des RCLs es zulassen kann die Schrittmotor-Positionierungs-Einheit ausgedienter Flachbrett-Scanner zur translatorischen Positionierung von Objekten verwendet werden In Einzelfaumll-len wie dem RCL Weltpendel kann die Positionierungsmechanik auch selbst angefertigt werden Der Referenz-Taster in Abb 14 wird eingesetzt um abzufragen ob ein vom Schrittmotor bewegtes Objekt die Position des Tasters erreicht hat und um diese Position zu referenzieren Ohne eine solche Referenzierung kann die Positionierung eines Objekts langfristig ungenau werden So kann z B beim RCL Weltpendel das Auftreffen der Kugel auf den Magneten zum Uumlberspringen von Schrittmotorstellungen fuumlhren Der Zustand des Referenz-Tasters in Abb 15 wird z B uumlber den Port PA0 des Mikrocontrollers abgefragt

Abb 15 Referenz-Taster zum referenzieren der

Position des bewegten Objekts

26

Zu Problemen koumlnnen undefinierte Zustaumlnde der Eingaumlnge des Mikrocontrollers fuumlhren wie sie beim Prellen dem zeitlich begrenzten schwingen eines Tasters beim Oumlffnen oder Schlieszligen entstehen Abhilfe schafft ein passend dimensionierter parallel zum Taster ge-schalteter Kondensator Bei geoumlffnetem Taster ist der Kondensator aufgeladen Beim Schlieszligen haumllt der Kondensator die Spannung uumlber die Schwingphase trotz kurzzeitig wieder geoumlffnetem Schalter noch aufrecht Analoges gilt fuumlr den Uumlbergang vom geschlos-senen zum geoumlffneten Taster

3 Ferngesteuertes RCL 31 RCL-Server Fuumlr den Betrieb eines RCLs wird ein RCL-Server benoumltigt (larr 11) Vorausgesetzt wird dass bei einem neuen Computer alle notwendigen Treiber (Ethernet Video Audio hellip) zum Be-trieb der Hardware des Computers und Windows XP Professional mit Service Pack 3 instal-liert sind Ein Benutzerkonto braucht nicht angelegt zu werden

Der RCL-Server benoumltigt einen Internetzugang mit statischer IP-Adresse und Uploaddatenra-te von mindestens 200 kbits (DSL 2000) fuumlr die fluumlssige Wiedergabe von Bewegungen in Webcambildern Die statische IP-Adresse wird von der Institution am Standort des RCLs vergeben oder kann von Privatpersonen bei einem Provider beantragt werden Mit folgenden Schritten wird der RCL-Server eingerichtet

Internetzugang einrichten (rarr 451) und im Browser testen

Checken ob die Windows Firewall aktiviert ist

Virenschutzproramm Avira Antivir Personal herunterladen (larr Tab 1) installieren und ak-tualisieren

Uumlber Windows Update alle Updates von Windows XP Professional installieren

Fernwartungssoftware TeamViewer 6 Vollversion (larr Tab 1) herunterladen und auf dem RCL-Server und dem eigenen Computer installieren (rarr 455)

Webeditor Notepad++ herunterladen installieren und aktualisieren (larr Tab 1)

Videoserver WebcamXP 5 herunterladen und installieren (rarr 453)

Paket XAMPP herunterladen und installieren (rarr 452) Verknuumlpfungen mit den Dateien xampphtdocsapache_startbat und xampphtdocsapache_stopbat auf dem Desktop oder in der Schnellstartleiste erstellen und Webserver mit erstgenannter Verknuumlpfung starten Webserver durch Eingabe von 127001 oder localhost ins Adressfeld des Brow-sers testen Bei erfolgreichem Test werden die im Ordner xampphtdocs abgelegten Webseiten von XAMPP dargestellt Statische IP-Adresse des RCL-Servers im Browser eines anderen Computers mit Internetzugang eingegeben Bei erfolgreichem Test werden die Webseiten von XAMPP dargestellt In der Datei xamppphpphpini unter Resource Limits die max_execution_time mit dem Windows-Editor von 60 auf 300 erhoumlhen und die

27

Datei speichern damit PHP bei Befehlen mit laumlngerer Ausfuumlhrungsdauer keine Fehler-meldung liefert

Ordner xampphtdocs mit den Webseiten von XAMPP in xampphtdocs_xampp um-benennen und fuumlr spaumltere Testzwecke nicht loumlschen RCL-Ordner htdocs herunterladen (larr Tab 1) extrahieren und in das Verzeichnis xampp verschieben

Abb 16 zeigt die Struktur des RCL-Ordners htdocs

Abb 16 Struktur des RCL-Ordners htdocs RCL-spezifisch anzupassende Dateien sind grau

hinterlegt

Der geoumlffnete Ordner Labor enthaumllt alle PHP- und HTML-Dateien bzw Programmierungen fuumlr die Funktionalitaumlt des Bedienfelds der Laborseite (larr 11 Abb 3) An das RCL anzupas-sen sind die portalsprachenunabhaumlngigen Dateien configphp und experimentphp sowie fuumlr jede Portalsprache die Dateien defaultconf und experimenttpl in den Ordnern eng fra ger und ita

Datei configphp Zeit bis zum automatischen Logout beim Experimentieren mit dem RCL eintragen

Datei experimentphp PHP-Basisprogrammierung um die RCL-spezifische PHP-Programmierung erweitern (rarr 432)

Datei defaultconf Name des RCLs (z B Elektronenbeugung) in jeder Portalsprache ein-getragen

Datei experimenttpl HTML-Basisprogrammierung um RCL-spezifische Ein- und Ausga-befelder erweitern (rarr 433)

28

32 Laborseite 321 Steuerung des RCLs uumlber das Bedienfeld Das Bedienfeld der Laborseite (larr 11 Abb 3) wird von der Dateien indexphp und experi-menttpl erzeugt Befehle wie das Anklicken von Buttons Eingaben und Auswahl aus Listen werden in ein HTML-Formular mit Formularfeldern in der Datei experimenttpl geschrieben Die Daten werden von der PHP-Datei experimentphp ausgewertet und uumlber die serielle Schnittstelle dem Mikrocontroller-Programm zur Steuerung des Experiments uumlbergeben Die Dateien experimentphp und experimenttpl wurden getrennt angelegt um Code und Design zu trennen und nur das Design in der Datei experimenttpl an die Portalsprache anpasst werden muss

Tab 5 enthaumllt Ausschnitte der HTML-Datei experimenttpl (rarr 433) der Datei experi-mentphp (rarr 432) und des Mikrocontroller-Programms (rarr 431) fuumlr das RCL Elektronen-beugung

29

Code mit Erlaumluterung

expe

rimen

ttpl

1821 Tag ltformgtltformgt definiert ein Formular 18 Attribut action legt fest dass Formulardaten in der Datei indexphp verarbeitet werden Uumlbertragen

werden eine Session-ID ($sid) um exklusiven Zugriff des jeweilgen Besuchers zu sichern und ($portal) um die vom Besucher gewaumlhlte Sprache beizubehalten post ist eine Uumlbertragungsmethode zwischen Browser und Webserver und gibt die die vom Besucher gewaumlhlte Aktion zum Ansteuern des Experiments an die Datei experimenttpl weiter

20 Erzeugt im Bedienfeld den Sendebutton (submit) mit der Aufschrift Elektronenroumlhre einschalten (valu-e)

19 Unsichtbares Feld (hidden) mit Variablennamen action und Wert RoumlhreAn Der Variablenname ac-tion stimmt nur zufaumlllig mit action in Zeile 18 uumlberein

expe

rimen

tphp

24 Die Funktion wird als Eventhaumlndler bezeichnet weil je nach uumlbergebener Aktion - siehe Zeile 19 in experi-

menttpl - die entsprechenden Anweisungen (case) ausgefuumlhrt werden 37 Fuumlr den Fall dass die Variable $action den Wert RoumlhreAn hat wird die Funktion power_on() aufgeru-

fen

59 Schreibt in die Logdatei logtxt den Text RoumlhreAn 6061 Oumlffnet den in der Datei configphp zentral gespeicherten Com-Port an den das Interface angeschlossen ist

oder gibt Fehlermeldung Can not access file system im Bedienfeld aus falls der Com-Port sich nicht oumlff-nen laumlsst

62 Sendet die Zeichenfolge On und chr(13) (entspricht der Betaumltigung der Return-Taste im Hyperterminal) an den Mikrocontroller

63 Schlieszligt serielle Schnittstelle

Que

llcod

e M

ikro

cont

rolle

r

166 Wird uumlber die serielle Schnittstelle der Befehl on empfangen und ist das Einschalten zulaumlssig (Zeiten fuumlr

PowerOnDelay und Standby abgelaufen) dann hellip 167 Hochspannungsnetzgeraumlt einschalten 168 Der DA-Wandler PCF8591 wird unter seiner Adresse PCF8591 = 01001000 angesprochen Parameterein-

stellungen mit 01000000 und Ausgangsspannung auf 0 V einstellen 169 Setzt Standby auf vorgegebene Standbyzeit zuruumlck 171 Gibt Meldung aus wie lange PowerOnDelay noch dauert

Tab 5 Uumlbertragung des Befehls Elektronenroumlhre einschalten vom Bedienfeld zum Experi-ment

30

Anhand der Erlaumluterungen der Programmcodes koumlnnen die Ablaumlufe zwischen dem Druumlcken des Buttons Elektronenroumlhre einschalten und dem Einschalten der Elektronenbeugungs-roumlhre oder der Eingabe einer Beschleunigungsspannung und dem Anlegen einer Beschleu-nigungsspannung verfolgt werden Uumlber das Bedienfeld koumlnnen nur die von der Datei expe-rimenttpl bereitgestellten Befehle on und da der insgesamt implementierten Befehle (rarr 22 Abb 10) aufgerufen werden

322 Videouumlbertragung im Webcamfeld Zur Aufnahme von Livebildern des Experiments koumlnnen USB-Webcams und IP-Kameras (Netzwerkkameras) eingesetzt werden Teurere IP-Kameras muumlssen eingesetzt werden wenn die Kamera wie z B beim RCL Roboter im Labyrinth zu weit vom Computer entfernt ist oder eine besonders lichtempfindliche Kamera aus der Uumlberwachungstechnik wie z B beim RCL Millikan-Versuch benoumltigt wird W-LAN-Kameras kommen zum Einsatz wenn Bil-der von einem beweglichen Objekt aus wie z B beim RCL Roboter im Labyrinth uumlbertra-gen werden sollen

Das Videoserverprogramm webcamXP 5 erkennt beim Aufrufen automatisch an den RCL-Server angeschlossenen USB-Webcams Vor dem Kauf einer IP-Kamera ist zu pruumlfen ob das Modell unterstuumltzt wird14 IP-Kameras muumlssen im Kontextmenuuml der Videoquelle konfigu-riert werden Abb 17 zeigt das Webcambild einer USB-Webcam vom Szintillationsschirm der Elektronenbeugungsroumlhre

Abb 17 Webcambild des Szintillationsschirms der Elektro-

nenbeugungsroumlhre einer USB-Webcam in webcamXP 5 beim RCL Elektronenbeugung

14 Vgl Moonware Studios webcamXP IP-cameras for webcamXP

31

Zum Einbinden des Webcambilds in die Laborseite des RCLs wird die laborsprachenabhaumln-gige Datei videohtm (rarr 434) in den Ordnern eng fra ger und ita verwendet Standardmauml-szligig werden zwei Webcambilder und Screenshots unterstuumltzt der Code fuumlr weitere Webcam-bilder kann durch copy and paste hinzugefuumlgt werden

Unter den Technologien Java Javaskript Flash und Windows Media fuumlr die Wiedergabe ei-nes Livestreams auf eine Webseite wurde Javaskript gewaumlhlt weil die anderen Technologien die Installation des Java Runtime Environments (JRE) des Flash- oder Windows Media Players durch den Besucher eines RCLs voraussetzen Die Wiedergabe des Livestreams mit einem Java-Applet startet zudem erst verzoumlgert nachdem das Applet geladen ist und verfuumlgt uumlber eine zu geringe Wiedergabegeschwindigkeit

33 Standard-Lernumgebung Bestandteil der Entwicklung eines RCLs ist die Erstellung einer Standard-Lernumgebung zum RCL Abb 18 zeigt exemplarisch fuumlr die deutschen Webseiten im Ordner ger das Menuuml (larr 11 Abb 3) und die Dateistruktur der Standard-Lernumgebung

Abb 18 Deutschsprachiges Menuuml und Dateistruktur der Standard-Lernumgebung

RCL-spezifisch anzupassende Dateien sind grau hinterlegt

Die englischen Dateinamen introductionhtm setuphtm hellip im Ordner ger korrespondieren mit den deutschen Menuumlpunkten Wird das RCL unter dem Menuumlpunkt RCLs des RCL-Portals aufgerufen dann ruft die Frameset-Datei indexhtm die Dateien menuumlhtm und intro-ductionhtm auf und das Menuuml wird zusammen mit der Webseite Einstieg dargestellt Die Wahl weiterer Menuumlpunkte ruft jeweils die korrespondiere Datei im Ordner auf Bei Wahl des Menuumlpunkts Labor werden mit der Frameset-Datei laboratoryhtm die Dateien videohtm fuumlr das Webcamfeld und die Datei laborindexphp fuumlr das Bedienfeld aufgerufen

32

Im Ordner docsmaterial werden alle Dokumente fuumlr die Webseite Material im Ordner docsothers die Dokumente anderer Webseiten abgelegt Im Ordner docsoriginals sind die Originale von Dokumenten wie z B Word-Dateien und der verwendeten Bilder abgelegt Grafikdateien der Webseiten Einstieg hellip Auswertung hellip Betreuung werden in gleichnami-gen Ordnern wie z B imagesanalysis abgelegt Bei sprachenunabhaumlngigen Grafikdateien wird unter dem Dateinamen abbx bei sprachenabhaumlngigen unter dem Dateinamen abbx_lan mit lan = eng fra ger und ita gespeichert Analoges gilt fuumlr die als gif-Grafiken forxgif oder forx_langif zu speichernden Formeln Originale von Bildern werden im Ordner imagesoriginals abgelegt Die Webseite zur Datei htdocsindexhtm enthaumllt zum lokalen Aufrufen der Standard-Lernumgebung Links zu den vier Index-Dateien in den Ordnern eng fra ger und ita Die Stylesheet-Datei htdocsrcl_stylecss enthaumllt die Styles der Webseiten

In der Regel werden Standard-Lernumgebungen der RCLs des RCL-Portals von verschiede-nen Personen erstellt Fehlende Gestaltungs- und Formatierungsregeln fuumlhren zu einem un-einheitlichen inattraktivem Erscheinungsbild des RCL-Portals Tab 6 gibt einen Uumlberblick der wichtigsten Gestaltungs- und Formatierungsregeln

Element Richtlinien

Gliederung

Die Webseiten Einstieg Aufbau Aufgaben Diskussion Material und Support enthalten vorgegebene Gliederungspunkte teilweise mit ausgefuumlhrten Uumlberschriften

Die umfangreicheren Webseiten Theorie und Auswertung enthalten ein Inhaltsverzeichnis mit internen Links zu Gliederungspunkten Zwischen Punkten der ersten Gliederungsebene (1 2 hellip) ist ein zwei-zeiliger Abstand (ltpgtampnbspltpgtltpgtampnbspltpgt) zwischen Punkten der zweiten (11 12 hellip) und Punkten der nur falls unbedingt notwendig dritten 111 112 hellip) Gliederungsebene ein einzeiliger Abstand zu waumlhlen Nach Abbildungen und Tabellen folgt ein einzeiliger Abstand zum nachfolgenden Text

Links Keine internen Links zwischen den Webseiten der Lernumgebung Externe Links werden prinzipiell in einem neuen Browserfenster geoumlffnet (blank)

Abbildung

Alle Abbildungen erhalten fortlaufend beginnend mit 1 nummerierte Abbildungsunterschriften der Form Abb x hellip

Abbildungen sind moumlglichst spachenunabhaumlngig d h ohne Texte in der Abbildung zu erstellen Zur Beschriftung koumlnnen z B Zahlen verwendet werden die in der Abbildungsunterschrift oder im Text er-laumlutert werden

Tabellen Tabellen werden in jeder Webseite fortlaufend beginnend mit 1 nummeriert Tabellen sind zu zentrieren Rahmenstaumlrke 1

Formeln

Formeln sind nicht als Textzeichen oder Grafik im laufenden Text einzufuumlgen sondern stets zentriert in einer eigenen Zeile als gif-Grafik

Zum Erstellen der Formel-Grafiken eignet sich z B der Formel-Editor MathType15 mit der Aufloumlsungs-Einstellung 120 dpi fuumlr InternetGif

Formeln brauchen im Rahmen des begrenzten Umfangs der Webseiten nicht nummeriert zu werden Groumlszligen-symbole

Griechische Groumlszligensymbole und mathematische Symbole sind nicht als Grafiken im laufenden Text sondern als HTML-Code einzufuumlgen Eine Zeichenreferenz findet sich bei Selfhtml16

Styles Zur Formatierung der Webseiten werden aus der Stylesheet-Datei nur die drei Styles Uumlberschrift fuumlr

die Uumlberschriften Bildunterschrift fuumlr Abbildungs- und Tabellenunterschriften und Tabellentext fuumlr Tex-te in Tabellen benoumltigt

Tab 6 Richtlinien zur Gestaltung und Formatierung der Standard-Lernumgebung

Detailliertere Informationen zum Layout der Standard-Lernumgebung koumlnnen dem RCL-Ordner und dem Erscheinungsbild der Webseiten von RCLs in Browsern entnommen wer-den

15 Vgl Design Science MathType 16 Vgl Selfhtml HTML-Zeichreferenz

33

4 ANHANG

34

41 Interface in Basisschaltung 411 Schaltplan und Bauteilliste Abb 19 zeigt den Schaltplan der Basisschaltung des Interface und Tab 7 die dazugehoumlrige Bauteilliste

Abb 19 Basisschaltung des Interface

Nr Anzahl Kurzbeschreibung des Bauteils Best-Nr bei Reichelt electronic

Einzelpreis in euro

0 1 Epoxyd-Platine (190x112 mm) mit Anteil Loumltpunktraster (Spezi-

alanfertigung) - asymp 10

1 1

Epoxyd-Fotoplatine einseitig 160x100 mm 15 mm 35 microm Epoxyd-Lochrasterplatine 160x100 mm 15 mm 35 microm

BEL 160x100-1 UP 832EP

170 420

1 1 Hohlstecker-Einbaubuchse gewinkelt Loumltfahnen 21 mm HEBW 21 018 2 1 D-SUB-Stecker 9-polig gewinkelt RM 94 D-SUB ST 09EU 029 3 1 Schottky Diode DO41 40 V 1 A SB 140 008 4 1 Draht von abgeschnittenem Beinchen aus Pos-Nr 3 - - 5 1 IC-Sockel 16-polig superflach gedreht vergoldet GS 16P 029 6 1 IC-Sockel 40-polig superflach gedreht vergoldet GS 40P 061 7 1 2x10-pol-Stiftleiste gerade RM 254 SL 2X10G 254 007 8 1 Metallschichtwiderstand 100 kΩ Metall 100k 0082 9 1 Elektrolytkondensator 10x16 mm 470 microF RM 50 mm RAD 47025 006 10 1 Elektrolytkondensator 63x11 mm 100 microF RM 25 mm RAD 10016 004 11 5 Elektrolytkondensator 5x11 mm 10 microF RM 20 mm RAD 1035 004 12 2 Keramik-Kondensator 33 pF Kerko 33p 006 13 3 Vielschicht-Keramikkondensator 100 nF 20 Z5U-25 100n 004

35

14 1 Standardquarz Grundton 110592 MHz 110592-HC49U-S 018 15 1 Spannungsregler 1 A positiv TO-220 microA 7805 028 16 1 Kuumlhlkoumlrper fuumlr Gehaumluse TO-220 99KW V FI356 066 17 1 Zylinderkopfschraube Schlitz M3 10 mm fuumlr Kuumlhlkoumlrper M3x10mm 160 18 2 Sechskantmutter M3 fuumlr Kuumlhlkoumlrper SK M3 001 19 1 Stecker-Schaltnetzteil 12 V 2250 mA MW 3IP25GS 1150 20 1 RS232-Driver DIL-16 MAX 232 CPE 041 21 1 ATmega AVR-RISC-Controller DIL-40 ATmega16-16 DIP 420 22 3 10-poliger Wannenstecker RM 254 stehend (optional) WSL 10G 009 23 1 14-poliger Wannenstecker RM 254 stehend (optional) WSL 14G 014 24 1 40-polige Stiftleiste 1-reihig gerade RM254 (optional) SL 1x40G 254 023 25 1 Kunststoffgehaumluse 1982x1124x760 mm (Serientyp 202) - asymp 10 euro 26 1 D-SUB Nullmodem-Kabel 9-pol BUBU 3 m AK 143 155 27 x DIN-Einbaubuchse 5-pol Schraubver 360deg (optional) DIO-50W EMS 185 28 x DIN-Einbaubuchse 8-polig Schraubversch 270deg (optional) DIO-80SN EMS 180 29 x Pfostenstecker 10-polig mit Verrieglung gew (optional) PSL 10W 028 30 x Klemmleiste RM 254 Oumlffnungshebel 8-polig (optional) Wago 233 220

Tab 7 Bauteilliste mit Bestellnummer und Einzelpreisen der Bauelemente bei Reichelt electronic (Stand 23102010)

Anhand der Bauteilliste in koumlnnen die elektronischen Bauelemente der Basisschaltung (larr Tab 7 Nr 0 ndash 21 optional Nr 22 - 24) bei Reichelt electronic bestellt werden Das Gehaumluse des Interface (larr Tab 7 Nr 25) sollte vom Hersteller HAGOTECH GmbH bezogen werden Weiterhin wird ein Nullmodemkabel (larr Tab 7 Nr 26) zur Verbindung des Interface mit dem Computer benoumltigt Sensoren und Aktoren des Experiments koumlnnen mit optionalen Steck-verbindern (larr Tab 7 Nr 27 - 30) und entsprechende Kabelverbindungen an das Interface angeschlossen werden Die Nummern 0 - 25 stimmen mit der angegebenen Bestuumlckungs-reihenfolge auf der Platine uumlberein Das Interface kostet in der Basisschaltung ca 50 euro

412 Bestuumlckung der Platine Abb 20 zeigt zur Bestuumlckung der Platine benoumltigte Werkzeuge

Abb 20 Werkzeuge zur Bestuumlckung der Platine des Interface

36

Loumltkolben mit feiner Spitze in Meisselform 2 mm oder Loumltstation (1) Loumltzinnabsauger zum Entfernen von Loumltzinn (2) Nasser Schwamm zum Reinigen der Spitze des Loumltkolbens (3) Loumltzinn mit Durchmesser 08 - 10 mm (4) Flachspitzzange zum Biegen von Anschluumlssen der Bauelemente (5) Seitenschneider zum Kuumlrzen der Beinchen von Bauelementen (6) Multimeter zum Pruumlfen der Funktionsfaumlhigkeit der Schaltung (7) Sekundenkleber zur Befestigung von Bauelementen Kleine Bohrmaschine z B von Dremel und 08 mm Bohrer oder duumlnne Rundfeile zum

Weiten von Loumlchern auf der Platine des Interface

Abb 21 zeigt die Platine des Interface von der Loumltseite in der Spezialanfertigung der Elekt-ronik-Werkstatt an der Technischen Universitaumlt Kaiserslautern und in der Selbstbauvariante (larr Tab 7 Nr 0) Abb 22 zeigt das Platinenlayout

Abb 21 Platine des Interface von der Loumltseite als Spezialanfertigung (links) und der Selbstbauvariante

(rechts)

Abb 22 Layout zur Herstellung des geaumltzten Teils der

Platine in der Selbstbauvariante

37

In der Selbstbauvariante kann anhand des Platinenlayouts eine selbst geaumltzte Platine fuumlr die Basisschaltung auf einer Platine im Europakartenformat hergestellt und diese in der Laumlnge gekuumlrzt werden Eine gekuumlrzte Lochrasterplatine bildet den zweiten Teil der Platine Mit den optionalen vier Wannensteckern (larr Tab 7 Nr 22 - 23) oder den vier Stiftleisten (larr Tab 7 Nr 24) an den Ports des Mikrocontrollers koumlnnen leicht elektrische Verbindungen zum Rasterteil der Platine herstellt werden Abb 23 zeigt die fertig bestuumlckte Platine mit den Nummern aus Tab 7

Abb 23 Bestuumlckte Platine des Interface mit nummerierten Bauelementen

Tab 8 beschreibt das Einloumlten der elektronischen Bauelemente anhand der Nummern aus Tab 7 und in der angegebenen Reihenfolge

Nr Bauelement Beschreibung des Einbaus

0 Spezialanfertigung und Selbst-bauvariante der Epoxydharz-

Platine

1

Stromversorgungsbuchse ndash Hohlstecker 21 mm

Wenn die Loumltbeine nicht durch die Loumlcher der Platine passen die Loumlcher mit einer runden Schluumlsselfeile aufweiten

Stromversorgungsbuchse mit Sekundenkleber vor dem Festloumlten auf der Pla-tine fixieren da diese mechanischen Belastungen durch das Einstecken und Herausziehen des 12 V -Steckers ausgesetzt ist

Wahlweise kann die 25 mm-Version der Buchse verwendet werden

2

RS232 Datenstecker

RS232 Datenstecker mit Sekundenkleber vor dem Festloumlten auf der Platine fixieren da dieser mechanischen Belastungen durch das Einstecken und Herausziehen des Null-Modem-Kabels ausgesetzt ist

Alle Beinchen und Befestigungsstifte zur houmlheren Stabilitaumlt anloumlten

3

Ein Ring an einer Seite der Diode (hier links weiszlig) zeigt die Durchlass- bzw Sperrrichtung der Diode an Die Position des Ringes entspricht der Position des Balkens im Schaltungssymbol

38

Diode ndash SB140 Auf der Platine muss der Ring auf der von der Stromversorgungsbuchse ab-

gewandten Seite liegen

4 Drahtbruumlcke

Vor dem Einloumlten des 40-poligen IC-Sockels (Nr 5) muss eine Drahtbruumlcke unter diesem eingeloumltet werden Dazu koumlnnen die abgeschnittenen Beinchen der bereits eingeloumlteten Diode (Nr 3) verwendet werden

5 6

IC-Fassungen

Die 16-polige und 40-polige IC-Fassungen besitzen eventuell eine Markie-rung fuumlr Pin1 (z B Kerbe in der Stirnseite Punkt Pfeilhellip) als Hilfe fuumlr das richtige Einstecken der ICs Die Markierungen muumlssen bei beiden Fassungen nach oben also zum naumlchstliegenden Rand der Platine zeigen

Die ICs unbedingt noch nicht einstecken

7

ISP-Stiftleiste

Die doppelreihige ISP-Stiftleiste dient der Programmierung des Mikrocontrol-lers mit dem AVR-ISP-Programmer (ISP steht fuumlr In System Programming)

ISP-Stiftleiste auf 2 x 5 Stifte kuumlrzen und mit den kurzen Beinchen einloumlten so dass auf die langen Stifte der AVR-ISP-Programmer gesteckt werden kann

8

Widerstand 100 kΩ

Den 100 kΩ-Widerstand rechts neben der ISP-Stiftleiste einloumlten

9

10

11

Elkos

Bei den verwendeten Elektrolyt-Kondensatoren ist die Polung zu beachten (langes Beinchen = Plus-Pol) Weiterhin ist auf den Kondensatoren ein wei-szliger Streifen mit Minus-Zeichen aufgedruckt Die Kondensatoren sollten eine Spannungsfestigkeit von mindestens 16 V besser 25V besitzen

Auf der Kupferseite der Platine zeigt die Form der Loumltaugen die Polung an Rundes Loumltauge = Plus quadratisches Loumltauge = Minus

Der 470 microF Kondensator wird mit dem weiszligen Streifen in Richtung Stromver-sorgungsbuchse direkt unter diese montiert

Der 100 microF Kondensator sitzt direkt unter der 16-poligen IC-Fassung Sein weiszliger Streifen (Minus-Pol) zeigt in Richtung der Stromversorgungsbuchse

Vier der 10 microF Kondensatoren werden links neben der 16-poligen IC-Fassung montiert Deren Polung ist wie folgt Unterster Kondensator Minus nach oben naumlchster Kondensator Minus nach unten die beiden oberen Kondensatoren mit Minus nach oben

Ein weiterer 10 microF Kondensator wird rechts neben die 16-polige IC-Fassung geloumltet Sein Minus-Streifen zeigt nach unten

12

13

Keramik-Kondensatoren

Die Beschriftung 104 bedeutet 10e4 pF = 100 nF Die beiden 33 pF-Kerkos (Keramik-Kondensatoren) werden direkt nebenei-

nander rechts neben die 16-polige IC-Fassung geloumltet Zwei 100 nF-Kondensatoren werden unter dem 470 microF-Elko eingeloumltet ein

weiterer mittig an der linken Seite der 40-poligen IC-Fassung

14

Quarz

Als Quarz wird ein 110592 MHz-Typ verwendet Bei dieser Frequenz ist eine fehlerfreie Kommunikation uumlber RS232 mit 9600 Baud moumlglich Fuumlr den AT-mega16 koumlnnen Quarze bis 16 MHz eingesetzt werden Details siehe Daten-blatt

Der Quarz wird direkt rechts neben die beiden 33 pF-Kerkos geloumltet Die Ori-entierung des Quarz spielt keine Rolle

15

16

17

18

Der Spannungsregler L7805 erzeugt eine stabilisierte Spannung von 5 V Es muss ein Kuumlhlkoumlrper zur Waumlrmeabfuhr vom Spannungsregler verwendet werden

Vor dem Einloumlten zwischen Spannungsregler und Kuumlhlkoumlrper etwas Waumlrme-leitpaste aufgetragen Beide Bauteile fest mit einer Schraube M3x10 und ei-ner 1 Mutter verschrauben

Dann den Spannungsregler einloumlten um 90deg abzubiegen das uumlberstehende Gewinde durch das vorgesehene Loch stecken und alles mit einer 2 Mutter auf der Platine befestigen

1 Mutter

2 Mutter

Schr

aube

L7805

Platine

KuumlhlkoumlrperWaumlrmeleitpaste

Beinchen

Loumlten

39

Spannungsregler L7805 Kuumlhl-koumlrper und Montage

19

Steckernetzteil

Funktionskontrolle vor dem Einsetzen des Mikrocontrollers Polung der Elektrolyt-Kondensatoren (Elkos) pruumlfen Sind alle Beinchen angeloumltet Hat das Loumltzinn an den Beinchen und der Pla-

tine guten Kontakt Sind eventuell zwei benachbarte Beinchen unbeabsichtigt durch Loumltzinn verbunden Alle Loumltverbindungen nochmals genau z B mit ei-ner Lupe pruumlfen

Probeweise das Stecker-Netzteil an die Buchse anschlieszligen Am 100 nF-Kondensator links mittig der 40-poligen IC-Fassung muumlssen 5 V anliegen

Versorgungsspannung unbedingt wieder von der Platine trennen

20

21

ICs MAX232 und ATmega16

Die Nuten auf den ICs am linken Rand muumlssen nach oben zeigen d h Pin1 ist bei beiden ICs in der Abbildung links unten und auf der Platine oben links

Manchmal passen die Beinchen der ICs nicht in die Fassung weil die Fas-sung scheinbar zu schmal ist Dann den IC seitlich mit einer Beinchen-Reihe flach auf den Tisch legen den IC-Koumlrper links und rechts greifen und Bein-chen durch leichten Druck biegen Einzelne verbogene Beinchen vorsichtig mit einer kleinen Flachzange richten

22

23

Wannenstecker 10- und 14-polig

Wannenstecker an den vorgesehe-nen Stellen mit der Nut gegen Ver-polung in Richtung des naumlherliegen-den Platinenrands einloumlten

Die Abbildung rechts zeigt die Pin-Belegung der Wannenstecker

24

Stiftleiste 8-polig 40-pol Stiftleiste in 4 jeweils 8-polige Stuumlcke zerteilen und einloumlten

25

Kunststoffgehaumluse

In der Selbstbauvariante der Platine (Nr 0) vor dem Einsetzten der Platine in das Gehaumluse passend positionierte Kunststoffstege am Gehaumluseboden fest-kleben

Tab 8 Bestuumlckung der Platine des Interface mit Bauelementen

42 Erweiterungsschaltungen 421 Uumlbersicht In Tab 3 sind von RCLs des RCL-Portals Sensoren und Aktoren mit den dazugehoumlrigen Er-weiterungsschaltungen zusammengestellt Da alle RCLs obligatorisch uumlber mindestens eine Webcam verfuumlgen sind diese unter den Sensoren nicht aufgefuumlhrt Die wenigen Erweite-rungsschaltungen fuumlr Sensoren sind unter Sensoren in Klammern aufgelistet Unter Aktoren werden auszliger elektro-mechanischen Wandlern auch gesteuerte Geraumlte oder Bauelemente verstanden Anzeigeinstrumente sind unter Aktoren nur aufgefuumlhrt wenn sie direkt vom In-terface gesteuert werden Mit gekennzeichnete Erweiterungsschaltungen befinden sich au-szligerhalb des Interface

40

RCL Sensoren Aktoren Erweiterungsschaltungen fuumlr Aktoren

Beugung und Interferenz I Referenz-Taster

Schrittmotor (Rotation) Schrittmotorsteuerung Laser-Modul Geschaltete Spannungsversorgung

Beugung und Interferenz II

4 Referenz-Taster Lichtsensor

4 Schrittmotoren (Translation) 4 Schrittmotorsteuerungen 5 Laser-Module Geschaltete Spannungsversorgung LED fuumlr Position des

Lichtsensors Geschaltete Spannungsversorgung

LED fuumlr Linealbeleuchtung Geschaltete Spannungsversorgung

Elektronen-beugung

Hochspannungsnetzgeraumlt Geschaltete Spannungsversorgung Hochspannungsnetzgeraumlt Steuerung der Hochspannung

Fotoeffekt 2 Referenz-Taster Photozelle

2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen

Quecksilberdampflampe Geschaltete Spannungsversorgung

der Drossel fuumlr Quecksilberdampf-lampe

Halbleiter-kennlinien

und Halbleiterkennli-nien - Schuumller-

projekt

Referenz-Taster

Schrittmotor (Rotation) Schrittmotorsteuerung Oszilloskop Geschaltete Spannungsversorgung

Oszilloskop Instrumentenverstaumlrker fuumlr X- und Y-Ablenkung

Multimeter Steuerung Spannungs- oder Strom-anzeige

Heiszliger Draht 4 Endtaster 4 Drehgeber Kurzschlusssensor

4 Gleichstrommotoren 4 Treiber

Zweifarbige LED Steuerung der LED-Farbe

Lichtgeschwin-digkeit

Drehimpulsgeber 2 Taster an Enden

der Eisenbahnstre-cke

2 Schrittmotoren 2 Schrittmotorsteuerungen Oszilloskop Geschaltete Spannungsversorgung

Motor der Lokomotive Steuerung des Ein- und Ausschal-tens und der Bewegungsrichtung

Maut Infrarot-Sensor Gleichstrommotor Geschaltete Spannungsquelle 2 IR-Fernbedienungen Spannungsregler 2-stellige 7-Segmentanzeige LED-Treiber

Millikan-Versuch 2 Referenz-Taster

2 Schrittmotoren 2 Schrittmotorsteuerungen Lichtquelle (LED) fuumlr Millikan-

Kondensator Geschaltete Spannungsversorgung

Airbrush-Kompressor Geschaltete Spannungsversorgung Magnetventil Geschaltete Spannungsversorgung Millikan-Kondensator Gesteuertes Hochspannungsmodul

Optische Com-putertomogra-

phie

2 Referenz-Taster 2 Lichtsensoren

Schrittmotor (Rotation) Schrittmotorsteuerung Schrittmotor (Translation) Schrittmotorsteuerung

2 Laser-Module 2 geschaltete Spannungsversor-gungen

Optische Fou-rier-

Transformation 2 Referenz-Taster

2 Schrittmotoren (Translation) 2 Schrittmotorsteuerungen

Laser-Modul Geschaltete Spannungsversorgung

Oszilloskop Oszilloskop Geschaltete Spannungsversorgung Signalgenerator Steuerung der Signalart

Radioaktivitaumlt 4 Referenz-Taster Geiger-Muumlller-

Zaumlhlrohr

2 Schrittmotoren (Translation) 2 Schrittmotorsteuerungen 2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen 4-stellige 7-Segment-Anzeige Treiber Elektromagnet Geschaltete Spannungsversorgung

Roboter im Labyrinth Infrarot-Sensor

2 Schrittmotoren 2 Schrittmotorsteuerung Infrarot-Sender Treiber

Rutherfordscher Streuversuch

2 Referenz-Taster Halbleiterdetektor

(Impulsformer)

2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen

4-stellige 7-Segment-Anzeige Treiber

Weltpendel

Referenz-Taster Lichtsensor der

Lichtschranke (Im-pulsformer)

Temperatursensor

Schrittmotor (Translation) Schrittmotorsteuerung Elektromagnet Geschaltete Spannungsversorgung

Laser der Lichtschranke Geschaltete Spannungsversorgung

Windkanal Referenz-Taster Schrittmotor (Translation) Schrittmotorsteuerung

41

Dehnungsmess-streifen (Wheat-stonesche Bruumlcke Messverstaumlrker Multimeter)

Geblaumlsemotor Geschaltete Spannungsversorgung

und Ansteuerung mit Pulsweiten-modulation

Anemometer Geschaltete Spannungsversorgung Multimeter Geschaltete Spannungsversorgung

Tab 9 Sensoren Aktoren und Erweiterungsschaltungen der RCLs des RCL-Portals

422 TMC222-Modul zur Schrittmotorsteuerung 4221 Schaltplan und Bauteilliste Abb 1 zeigt die Beschaltung des TMC222 von Trinamic auf dem TMC222-Modul

Abb 24 Beschaltung des TMC222 von Trinamic

Anhand der Bauteilliste in Tab 10 koumlnnen die elektronischen Bauelemente des TMC222-Moduls bei Reichelt electronic bestellt werden Ein TMC222-Modul kostet ungefaumlhr 10 euro

Nr Anzahl Kurzbeschreibung des Bauteils Best-Nr bei Reichelt electronic

Einzelpreis in euro

0 1 Epoxyd-Fotoplatine einseitig 75x100 mm 15 mm 35 microm BEL75X100-1 096 1 1 Integrierter TMC-Schrittmotor-Controller TMC 222 SI asymp 7 2 1 Elektrolytkondensator 8x11 mm Rm 35 mm 100 microF35 V RAD 10035 004 3 1 Tantal-Kondensator Rm 25 10 microF35 V Tantal 1035 014 4 2 Vielschicht-Keramikkondensator 220 nF 20 Z5U-25 220N 011 5 3 Vielschicht-Keramikkondensator 100 nF 20 Z5U-25 100N 004 6 2 Metallschichtwiderstand 100 kΩ Metall 100K 0082 7 1 1x36pol Stiftleiste gewinkelt Rm 254 SL 1X36W 027 8 1 1x36pol Buchsenleiste gerade Rm 254 BL 1X36G 025

Tab 10 Bauteilliste mit Bestellnummer und Einzelpreisen der Bauelemente bei Reichelt electronic (Stand 23102010)

4222 Bestuumlckung der Platine

42

Abb 25 zeigt die fertig bestuumlckte Platine mit den Nummern aus Tab 10

Abb 25 Bestuumlckte Platine des TMC222-Moduls

mit nummerierten Bauelementen

Die Platine (35 mm x 30 mm) kann anhand des Layouts in Abb 26 hergestellt werden Der IC TMC222 wird auf der Loumltseite der Platine aufgeloumltet Das TMC222-Modul kann mit der Stiftleiste (larr Tab 10 Nr 7) in eine Buchsenleiste (larr Tab 10 Nr 8) auf die Platine des In-terface gesteckt werden

Abb 26 Platine des TMC222-Moduls von der Loumltseite (links) und Layout

4223 Quellcode des Mikrocontroller-Programms Im Folgenden ist ein mit Bascom (larr 12 Tab 1 Entwicklungsumgebungen) erstelltes Bei-spiel-Programm zur Ansteuerung des Schrittmotormoduls TMC222 durch den Mikrocontroller ATmega16 angegeben $regfile = m16DEFdat $crystal = 11059200 $baud = 9600 Definitionen Config Scl = Portc0 Taktleitung Config Sda = Portc1 Datenleitung Const Adress = ampB11000000 I2C Adresse des TMC222 Const GetFullstatus1 = ampB10000001 Kommando des TMC222 Const Resetpos = ampB10000110 Kommando des TMC222 Const Motorparameter = ampB10001001 Kommando des TMC222 Const Setposition = ampB10001011 Dim Puffer(10) As Byte

43

Programm I2csend Adress GetFullstatus1 GetFullstatus1 (Initialisierung des TMC222) I2creceive Adress 7 Ack Daten in Puffer auslesen Puffer(1) = Motorparameter puffer auffuumlllen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB11110011 1111irun 0011ihold Puffer(5) = ampB01110001 0111vmax 0001vmin Puffer(6) = ampB00010000 000securepos(bit10-8) 1shaft 0000acceleration Puffer(7) = 0 securepos(bit7-0) Puffer(8) = ampB00001100 000nicht belegt 0accshape 11stepmode 00nicht belegt I2csend Adress Puffer(1) 8 I2csend Adress Resetpos aktuelle Position auf 0 setzen Puffer(1) = Setposition Motor bewegen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB01111111 position(bit 15-8) Puffer(5) = ampB11111111 position(bit 7-0)acute I2csend Adress Puffer(1) 5 End

423 Geschaltete Spannungsquellen und Verbraucher Die Ausgaumlnge des Mikrocontrollers duumlrfen nur mit Stroumlmen kleiner als ungefaumlhr 20 mA belas-tet werden Verbraucher mit einer Stromlast groumlszliger als 20 mA koumlnnen daher nicht direkt an den Mikrocontroller angeschlossen werden Abb 27 zeigt links eine Schaltung zum Schalten eines Verbrauchers wie z B des Relais und rechts eine Schaltung mit dem IC ULN2803A zum Schalten mehrerer Verbraucher wie z B Gluumlhlampen

Abb 27 Erweiterungsschaltungen zum Schalten eines (links) oder

mehrerer Verbraucher (rechts)

Zu beachten ist dass der Transistor BC337 maximal 800 mA schalten kann und fuumlr groumlszligere Stroumlme andere Transistoren verwendet werden muumlssen

424 Steuerung von Gleichstrommotoren

44

Sollen Gleichstrommotoren zum Bewegen von Objekten mit dem Mikrocontroller gesteuert werden dann eignet sich dazu der in Abb 28 dargestellte beschaltete IC L293D

Abb 28 Beschaltung des L293D zum

Steuern zweier Gleichstrom-motoren

Mit Pin 1 = Pin 9 = 1 (High) koumlnnen zwei Gleichstrommotoren M1 und M2 (Versorgungs-spannung UM lt 36 V Spulendauerstrom IM lt 600 mA) unabhaumlngig voneinander ein- und ausgeschaltet sowie in der Drehrichtung uumlber die Ports PA0 und PA1 fuumlr M1 und PA2 und PA3 fuumlr M2 gesteuert werden Z B gilt mit PA0 = PA1 = 0 (M1 ausgeschaltet) PA0 = 1 und PA1 = 0 (M1 dreht sich) PA0 = 0 und PA1 = 1 (M1 dreht sich in Gegenrichtung)

45

43 Quellcodes zum RCL Elektronenbeugung 431 Mikrocontroller-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

46

47

48

49

432 PHP-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

50

51

433 Bedienfeld der Laborseite

Tab 11 erlaumlutert die Funktion der Bloumlcke im Quellcode

Zeilen Funktion 1 Datei defaultconf einbinden 2 Datei headtpl einbinden

5 - 11 Ausgabe der verbleibenden Experimentierzeit 18 - 21 Button zum Einschalten der Elektronenbeugungsroumlhre 28 - 30 Eingabefeld fuumlr die Beschleunigungsspannung

37 Ruumlckmeldung zur eingegebenen Beschleunigungsspannung 42 Datei foottpl einbinden

Tab 11 Funktion der Programmbloumlcke in der Datei experi-menttpl

52

434 Webcamfeld der Laborseite

In Tab 12 ist die Funktion der Programmbloumlcke und die Anpassungen der Vorlage an das RCL Elektronenbeugung beschrieben

Zeilen Funktion Anpassung RCL Elektronenbeugung

5 Titelangabe erscheint als Tabulatorbeschriftung in Browsern

Name des RCLs eintragen

11 - 15 16 - 20

Zwei Javascripts zum getrennten Aufrufen zweier Po-pup-Fenster mit dargestelltem Webcambildern 1 und 2

Javascript 1 die IP-Adresse eintragen Javascript 2 auskommentiert weil nicht benoumltigt

24 - 40 42 - 60

Zwei Javascripts zum Aktualisieren der Webcambilder 1 und 2

Javascript 2 auskommentiert weil nicht benoumltigt

67 - 71 79 - 83

Aufrufen des ersten Webcambilds der Webcams 1 und 2 beim Aufrufen der Datei

Webcambild 2 auskommentiert weil nicht benoumltigt

72 - 78 84 - 90

Buttons zum Aufrufen der Screenshots der Webcam-bilder 1 und 2

Button 2 auskommentiert weil nicht benoumltigt

91 - 95 Zeile der Tabelle zum Eintragen von Informationen die sich auf die Webcambilder oder den Versuch beziehen

Text in Zeile der Tabelle geschrieben

Tab 12 Funktionen der Codeabschnitte in der Datei videohtm und Anpassung der Vor-lage an das RCL Elektronenbeugung

53

44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung Im Folgenden wird die Installation und Konfiguration des AVR-Studios 418 und der Bascom 11198 Demoversion beschrieben Alle Anleitungen sind zeilenweise von links nach rechts zu lesen

441 AVR-Studio 418 4411 Installation Auf der Webseite von ATMEL Register AVR Studio 418 (build 684) anklicken und Registrie-rungsformular ausfuumlllen Danach die Datei AvrStudio418Setup herunterladen Durch Dop-pelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen Next waumlhlen

I accept hellip und Next waumlhlen Installationsordner und Next waumlhlen

54

Installupgrade hellip und Next waumlhlen Install waumlhlen Die Installation beginnt

Finish waumlhlen

4412 Konfiguration AVR Studio 418 in Windows XP Professional unter StartProgramme aufrufen

Startfenster mit Cancel schlieszligen Unter ToolsProgram AVR Auto Connect waumlhlen

55

Im eingeblendeten Fenster auf der Registerkarte Main als Device ATmega16 und als Programming Mode ISP mo-de waumlhlen

Optional kann Signatur gelesen werden

In der Registerkarte Fuses alle Haumlkchen und Auswahlfel-der wie angegeben waumlhlen

Dann Program waumlhlen

442 BASCOM 11198 Demoversion 4421 Installation Auf der Webseite von Bascom unter Bascom AVR Demo die Zip-Datei setupdemoexe her-untergeladen Durch Doppelklick auf den Dateinamen die Installation starten

Next waumlhlen I accept the agreement und Next waumlhlen

56

Next waumlhlen Installationsordner eingeben und Next waumlhlen

Eintrag im Start-Menuuml eingeben und Next waumlhlen Next waumlhlen

Yes restart the computer now und Finish waumlhlen

57

4422 Konfiguration Bascom AVR in Windows XP Professional unter StartProgramme zum Einstellen der Para-meter des Mikrocontrollers und des Terminals aufrufen

OptionsCompilerChip waumlhlen Einstellungen wie im Bild vornehmen und OK waumlhlen

Auf der Registerkarte Communications Einstellungen wie im Bild vornehmen und OK waumlhlen

Unter OptionsCommunication Einstellungen wie im Bild

vornehmen und OK waumlhlen FileNew waumlhlen Unter ToolsTerminal emulator das Terminal aufrufen und

eingeben Die Befehlsliste des RCLs Elektronenbeu-gung wird angezeigt

45 Installation und Konfiguration von Programmen auf dem RCL-Server Im Folgenden wird der Download die Installation und die Konfiguration von Programmen auf dem RCL-Server unter Windows XP Professional beschrieben Alle Anleitungen sind zeilen-weise von links nach rechts zu lesen Die Installation der Programme sollte in der angegebe-nen Reihenfolge erfolgen

58

451 Einrichten des Internet-Zugangs LAN-Verbindung unter StartSystemsteuerungNetzwerkverbindungen aufrufen

Internetprotokoll (TCPIP) und Eigenschaften waumlhlen Folgende IP-Adresse verwenden waumlhlen IP-Adressen ein-

geben und OK waumlhlen

452 Paket XAMPP 174 Unter apache friends - xampp fuumlr windows und XAMPP Windows 174 Installer anklicken und Datei xampp-win32-174-VC6-installerexe speichern Durch Doppelklick auf die Datei die Installation starten

Sprache und Ok waumlhlen Ok waumlhlen

59

Weiter waumlhlen Zielverzeichnis mit Durchsuchen waumlhlen oder eingeben

Apache nicht als Dienst installieren Fertig stellen waumlhlen

Ja waumlhlen Zum Starten des Apache Webservers das Control Panel

unter StartProgrammeXAMPP 173 for Windows mit Start starten Anstelle von Start erscheint Running

Zum Beenden des Apache Webservers Stop waumlhlen Zum Beenden des Control Panels Exit waumlhlen

60

453 Videoserver webcamXP 5 Private Auf der Webseite von Moonware Studios unter webcamXP 55xx die Datei wlite550 herun-terladen Durch Doppelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen I Agree waumlhlen

Next waumlhlen Auszliger webcamXP 5 brauchen keine weiteren Komponen-

ten installiert zu werden

Den vorgeschlagenen Ordner und Install waumlhlen Finish waumlhlen

61

WebcamXP unter StartProgramme aufrufen Zugesandte

Lizenz-Daten in das eingeblendete Fenster eingeben und Register waumlhlen

Beim Starten des Programms stellt webcamXP automa-tisch eine Verbindung zu den am Computer angeschlosse-nen Webcams her

Nach dem Start ist Uumlberwachen gewaumlhlt Durch Rechts-klick mit der Maus auf das Videofenster wird zu jeder Vi-deoquelle ein Kontextmenuuml angezeigt Wird kein Videobild dargestellt das Kontextmenuuml aufrufen Art der Videoquelle waumlhlen (hier USB) und unter den erkannten Videoquellen (hier USB-Videogeraumlt) die gewuumlnschte waumlhlen

Das Videoformat muss fuumlr eine passende Darstellung auf

der Laborseite auf 320 x 240 eingestellt sein Ist das nicht der Fall im Kontextmenuuml unter Video Format einstellen

In gleicher Weise kann eine zweite Videoquelle hinzugefuumlgt werden

In der Registerkarte Web Broadcast kann unter

Broadcast (HTTP) der Videoserver mit Ausschalten ge-stoppt und mit Aktivieren gestartet werden

Zur Zielwahl des Webservers (131246237167 - Internet D16W3X3J - Computer 127001 - Local Host) Videoser-ver stoppen und einstellen Videoserver wieder starten

62

454 Terminalprogramm Hyperterminal Hyperterminal in Windows XP Professional unter StartProgrammeZubehoumlrKommunikation aufrufen

Name der neuen Verbindung - z B Interface - eingeben

und OK waumlhlen Die Verbindung zwischen Computer und Interface wurde

uumlber einen USB-Seriell-Adapter hergestellt Dann erschei-nen zwei zusaumltzliche Eintraumlge (Motorola Comp Modem und COM5) in der Liste Prinzipiell muss eine COMx-Verbindung gewaumlhlt werden

Eigenschaften von COM 5 wie im Bild einstellen und OK

waumlhlen DateiEigenschaften aufrufen und ASCII-Konfiguration

waumlhlen

63

Haken bei Eingegebene Zeichen lokal ausgeben (lokales

Echo) setzen um eingegebenen Zeichen im Hyperterminal zu sehen

Bei funktionsfaumlhiger Verbindung erscheint nach Eingabe von Return die Befehlsliste des Interface

Durch Aufrufen von DateiSpeichern die erstellte Verbin-

dung z B auf dem Desktop speichern Dadurch braucht die Verbindung nicht immer wieder von neuem konfiguriert wer-den

Nach Aufrufen von DateiBeenden die bestehende Verbin-dung mit Ja beenden

64

Wurde ein falscher COM-Port gewaumlhlt reagiert das Inter-

face auf die Eingabe Return nicht Hyperterminal dann beenden

Der COM-Port kann dann nicht unter DateiEigenschaften im Hyperterminal aber unter Eigenschaften des Kontext-menuumls der Datei Interfaceht in der Registerkarte Verbin-den mit geaumlndert werden Dann OK waumlhlen und erneut Verbindung testen

65

455 Fernwartungssoftware TeamViewer 6 Host Auf der Webseite von Teamviewer GmbH unter Fuumlr unbeaufsichtigte Server TeamViewer Vollversion die Datei TeamViewer_Setup-wq herunterladen Das Programm muss auf dem RCL-Server und dem Computer der auf den RCL-Server zugreifen soll installiert werden Durch Doppelklick auf die Datei die Installation starten

Ausfuumlhren waumlhlen Weiter waumlhlen

Fuumlr die private nicht kommerzielle Nutzung ist Teamviewer kostenlos

privat nicht-kommerziell und Weiter waumlhlen

Beide Haumlkchen setzen und Weiter waumlhlen

66

Ja un Weiter waumlhlen Weiter

Computername und Kennwort fuumlr den Zugriff auf den RCL-Server oder den eigenen Computer vergeben Kenn wort notie-ren

Ein Teamviewerkonto ist nicht erforderlich Kann auch spaumlter noch eingerichtet werden

ID fuumlr den Computer auf dem das Programm installiert wird fuumlr Zugriff notieren

Das Programm wird gestartet Standardmaumlszligig vorein-gestellt ist der Start des Programms beim Start des Be-trienssystems

67

46 Selbstbau eines elementaren RCLs 461 Hard- und Software Auch ohne gleich ein vielleicht teures physikalisches Experiment zu steuern laumlsst sich mit wenigen Bauelementen ein elementares RCL realisieren Von einer Webseite im Internet sol-len eine Leuchtdiode (LED) ein- oder ausgeschaltet sowie der Zustand der Leuchtdiode und eines Tasters abgefragt werden An Hard- und Software werden benoumltigt

1 Low-Current-LED 5 mm 2 mA 1 Widerstand 18 kΩ 1 Taster und optional zwei 10-polige Wannenstecker mit ungefaumlhr 10 cm passendem Flachbandkabel und Buchsen

Interface in Basisschaltung Null-Modem-Kabel 12 V DC Steckernetzteil (larr 1)

Installierte Bascom-Demo-Version (larr 42)

AVR ISP-Programmer mit 10-poligem Programmierkabel

Installiertes und konfiguriertes AVR Studio 418 (larr 41)

Installiertes Paket XAMPP (larr 52)

Texteditor wie z B Notepad in Windows XP Professional

Konfigurierte Hyperterminalverbindung (larr 54)

462 Bestuumlckung der Platine Abb 29 zeigt zur Orientierung fuumlr das Einloumlten der Bauelemente die fertig bestuumlckte Platine des Interface

Abb 29 Mit elementarem RCL bestuumlckte Platine

des Interface

LED mit Vorwiderstand und der Taster sind rechts neben dem Mikrocontroller im Lochraster-bereich aufgebaut und uumlber Wannenstecker und Flachbandkabel mit dem Port A des Mikro-controllers verbunden (die drei Bauteile rechts neben dem ATmega16 werden nicht benouml-tigt) Tab 13 erlaumlutert die Schritte zur Bestuumlckung der Platine des Interface

68

Nr Schaltung Erlaumluterung

1

Die Leuchtdiode (LED) mit dem Pluspol (langes Beinchen) an PortA0 (PIN40 oben rechts) des Mikrocontrollers anloumlten

An das kurze Beinchen einen 18kΩ Widerstand loumlten dessen anderes Ende mit der Masse (GND) verbinden

2

Den Taster mit PortA1 (PIN39 = 2 Beinchen von oben rechts) und Masse (GND) verbinden

3

Draufsicht

Belegung des 10-poligen Wannensteckers 1 GND (Masse) im Foto oben links 2 +5 V 3 PortA0 4 PortA1 10 PortA7 im Foto unten rechts

Tab 13 Schritte zum Aufbau des elementaren RCLs

463 Lokal gesteuertes RCL Nachfolgend ist der Basic-Programmcode des Mikrocontrollers zur Steuerung und Abfrage der LED und des Tasters angegeben 01 $regfile = m16DEFdat Microcontroller ATmega16 02 $crystal = 11059200 110592MHz Quarz 03 $baud = 9600 Baudrate 04 05 ---[ Variables ]--------------------------------------------------------------- 06 Dim Rs232kommando As String 10 erst Befehlspuffer dann Kommando 07 Dim Parameter As String 10 Parameter 08 Dim Str_pos As Byte Position von Leerzeichen zur Trennung von Kommando und Pa-rameter 09 10 ---[ Initialisierung ]--------------------------------------------------------- 11 Ddra0 = 1 PortA0 als Ausgang fuumlr LED 12 Porta0 = 0 LED aus 13 Ddra1 = 0 PortA1 als Eingang fuumlr Taster 14 Porta1 = 1 Pull-Up aktivieren 15 16 ---[ Main program loop ]------------------------------------------------------- 17 Do Start der Endlos-Schleife 18 19 If Ischarwaiting() = 1 Then Zeichen uumlber RS232 empfangen 20 Input Rs232kommando neues Kommando lesen 21 Parameter = Parameter initialisieren 22 Str_pos = Instr(rs232kommando ) Leerzeichen im Kommando suchen 23 If Str_pos gt 0 Then falls Leerzeichen dann in Kommando+Parameter zerlegen 24 Incr Str_pos Str_pos soll jetzt auf 1Zeichen des Parameters zeigen 25 Parameter = Mid(rs232kommando Str_pos ) Parameter = Teilstring nach Leerzeichen 26 Parameter = Ucase(parameter) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 27 Str_pos = Str_pos - 2 Str_pos soll jetzt auf letztes Zeichen des Kommandos zeigen 28 Rs232kommando = Left(rs232kommando Str_pos)Kommando = Teilstring vor Leerzeichen 29 Rs232kommando = Ucase(rs232kommando) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 30 End If 31 32 Select Case Rs232kommando Eventhandler Interpretation der Kommandos 33 Case Print Hilfe Hilfeseite anzeigen 34 Print LED on - LED einschalten 35 Print LED off - LED ausschalten 36 Print LED - zeigt Status der LED an 37 Print SW - zeigt Status des Schalters an 38

1K8

LED rotmicroC PortA0(PIN40)

Taster

microC PortA1(PIN39)

1

3

2

69

39 Case LED If Parameter = ON Then LED schalten 40 Porta0 = 1 41 End If 42 If Parameter = OFF Then 43 Porta0 = 0 44 End If 45 46 Case LED If Porta0 = 0 Then Status der LED ausgeben 47 Print LED aus 48 Else 49 Print LED an 50 End If 51 52 Case SW If Pina1 = 1 Then Status des Schalters ausgeben 53 Print Taster offen 54 Else 55 Print Taster geschlossen 56 End If 57 58 Case Else Print gt Rs232kommando lt ungueltiger Befehl - weitere Infos mit Info bei unguumlltigen Eingaben 59 End Select 60 61 End If 62 63 Loop Endlos-Schleife Springe zu Do 64 65 End wird nie erreicht

Der erste Teil des Programms (Zeilen 1 - 15) enthaumllt die Systemparameter Variablen und Initialisierung der Ein- und Ausgaumlnge Der zweite Teil enthaumllt ab Zeile 17 das Hauptpro-gramm in dem Benutzereingaben uumlber die serielle Schnittstelle empfangen interpretiert und in entsprechende Anweisungen umgesetzt werden Tab 14 erlaumlutert den Programmcode de-taillierter

Zeilen Erlaumluterung

1 - 3 Diese Angaben teilen dem Compiler (Bascom) mit welcher Prozessor eingesetzt wird wie schnell dieser getaktet (Quarz) ist und mit welcher Uumlbertragungsgeschwindigkeit die Kommunikation uumlber die serielle Schnittstelle (RS232) mit dem PC erfolgen soll

6 - 8 Es werden drei Variablen genutzt Die Eingabe uumlber die serielle Schnittstelle wird in rs232kommando gespeichert Es wird ein Text der Form Kommando ltLeerzeichengt Parameter erwartet so dass die Variable Parameter den-selbigen aufnimmt Die Variable str_pos wird fuumlr die Trennung von Kommando und Parameter benoumltigt

11 - 14

Mit dem Befehl ddrPX (ddr = data direction) wird festgelegt ob ein Beinchen als Ausgang (=1) oder als Eingang (=0) arbeiten soll Der ATmega16 besitzt 32 Ein-Ausgaumlnge die in vier Ports (P=AD) zu je 8 Pins (X=07) unterteilt sind ddrA0 = 1 legt also das 1 Beinchen (Pin 0) von PortA als Ausgang (=1) fest Mit dem Befehl PortA0 =1 kann dieser Pin dann durch Zuweisen von 1 oder 0 an- bzw ausgeschaltet werden Im Datenblatt erfahren Sie welches der 40 Beinchen des Mikrocontrollers wie bezeichnet wird (Pin-Belegung) Wird ein Beinchen als Eingang verwendet (ddrA1 = 0) koumlnnen Sie optional einen so genannten Pull-Up-Widerstand aktivieren (PortA1=1) oder deaktivieren (PortA1=0) Auch hierzu sollten Sie sich unbedingt mit dem Datenblatt vertraut machen

17 63 Das Hauptprogramm besteht aus einer Endlosschleife d h der Mikrocontroller verrichtet ununterbrochen seinen Job so lange er mit Strom versorgt wird

19 - 30 Falls ein Zeichen uumlber die serielle Schnittstelle empfangen wurde wird dieses und alle folgenden gelesen Anschlie-szligend wird gepruumlft ob der empfangene Text von der Form Kommando ltLeerzeichengt Parameter ist so dass er ge-gebenenfalls in ein Kommando und einen Parameter zerlegt werden kann

32 - 59 Dieser Abschnitt wird mit Event-Handler bezeichnet Hier wird auf die Kommandos (Events) reagiert und die ent-sprechenden Schritte ausgefuumlhrt zB schalten LED je nach Wert der Variablen Parameter an- bzw ausschalten

46 52

In beiden Zeilen wird ein Wert eines Ports abgefragt Unterschiedlich ist dass in Zeile 46 der Status eines Ausgangs abgefragt wird (porta0) und in Zeile 52 der Zustand eines Eingangs (pina0) Die Anweisung IF porta0 = 0 THEN pruumlft (hier ist = ein Vergleich und KEINE Zuweisung) ob zuletzt die LED ausgeschaltet (Zuweisung porta0 = 0) wurde Die Anweisung IF pina1= 1 THEN liest den Status eines Eingangs Hier kann festgestellt werden ob der Eingang uumlber den internen Pull-UP-Widerstand auf +5V liegt (pina1 liefert 1) oder ob der Schalter den Eingang mit Masse (0V) verbindet (pina1 liefert 0)

Tab 14 Erlaumluterung des Mikrocontroller-Programmcodes fuumlr elementares RCL

70

In Bascom AVR eine neue Datei erzeugen (FileNew) den Programmcode ohne Kommenta-re eingeben und mit ProgramCompile (F7) eine Hexadezimaldatei erzeugen Die Hexadezi-maldatei mit dem AVR-Studio und dem AVR-ISP-Programmer in den Mikrocontroller schrei-ben (larr 222 Programmuumlbertragung) Nach dem Verbinden von Computer und Interface per Null-Modem-Kabel kann durch Eingabe von in das konfigurierte Hyperterminal die Befehls-liste in Abb 30 aufgerufen werden

Abb 30 Aufgerufene Befehlsliste im Hyperterminal

Durch Eingabe von LED on oder LED off kann die LED ein- und ausgeschaltet LED zeigt den Status der LED und sw den Status des Tasters an Alternativ zum Hyperterminal kann auch das Terminal in BASCOM unter ToolsTerminal Emulator verwendet werden (larr 422)

464 Ferngesteuertes RCL Zum Ansteuern des Interfaces und zum Bedienen des Versuchsaufbaus uumlber das Internet wird eine Webseite benoumltigt die dem Benutzer alle Bedienelemente des Experiments zur Verfuumlgung stellt

Der Benutzer benoumltigt anklickbare Buttons im Webbrowser

Der Webserver muss die Information welcher Button gedruumlckt wurde empfangen und ein entsprechendes Kommando uumlber die serielle Schnittstelle an das Interface senden

Beide Schritte sind im nachfolgenden PHPHTML-Quellcode zusammengefasst 01 ltDOCTYPE HTML PUBLIC -W3CDTD HTML 401 TransitionalEN httpwwww3orgTRhtml4loosedtdgt 02 lthtmlgt 03 ltheadgt 04 ltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1gt 05 lttitlegtelementares RCLlttitlegt 06 ltheadgt 07 08 ltbodygt 09 ltphp 10 if (isset($_POST[Kommando])) wurde bereits Kommando gesendet 11 if( ( $handle = fopen( COM1 w+ ) ) ) Schnittstelle oumlffnen 12

71

13 throw new Exception( Can not access serial port 2 ) ohne Erfolg 14 15 fwrite( $handle $_POST[Kommando] chr( 13 ) ) Befehl an Interface senden 16 switch ( $_POST[Kommando] ) Antwort von Interface auswerten 17 case LED $tmp = fgets( $handle ) Echo von Interface ignorieren 18 $antwort = fgets( $handle ) Antwort des Interfaces 19 echo Antwort $antwort Ausgabe auf Webseite 20 break switch verlassen 21 22 case SW $tmp = fgets( $handle ) Echo von Interface ignorieren 23 $antwort = fgets( $handle ) Antwort des Interfaces 24 echo Antwort $antwort Ausgabe auf Webseite 25 break switch verlassen 26 27 28 29 fclose( $handle ) Schnittstelle schlieszligen 30 31 else 32 `mode com1 BAUD=9600 PARITY=N data=8 stop=1 xon=off` Schnittstellenparameter setzen 33 34 35 gt 36 37 lth3gtBefehl sendenlth3gt 38 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 39 ltinput type=hidden name=Kommando value=LED ON gt 40 ltinput type=submit value=LED anschalten gt 41 ltformgt 42 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 43 ltinput type=hidden name=Kommando value=LED OFF gt 44 ltinput type=submit value=LED ausschalten gt 45 ltformgt 46 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 47 ltinput type=hidden name=Kommando value=LED gt 48 ltinput type=submit value=LED abfragen gt 49 ltformgt 50 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 51 ltinput type=hidden name=Kommando value=SW gt 52 ltinput type=submit value=Taster abfragen gt 53 ltformgt 54 ltbodygt 55 lthtmlgt Den Quellcode in den Texteditor kopieren und im Ordner htdocs von XAMPP z B unter rclphp speichern HTML-Dateien mit PHP-Code (Zeilen 9-35) muumlssen mit der Erweiterung php gespeichert werden damit der Apache Webserver zwischen HTML-Seiten mit und ohne PHP-Code unterscheiden kann Den installierten Apache Webserver starten (larr 452) und im Adressfeld des Webbrowsers die IP-Adresse http127001rclphp aufrufen Das Bedi-enfeld des elementaren RCLs in Abb 31 wird im Browserfenster angezeigt

72

Abb 31 Laborseite des elementaren RCLs

Im Bedienfeld kann die LED an- und ausgeschaltet sowie der Status von LED und Taster abgefragt werden

  • 0 Warum ein Tutorial zur RCL-Technik
  • 1 Technische Konzeption
    • 11 Einfuumlhrung
    • 12 Wahl der RCL-Technik
      • 2 Lokal gesteuertes RCL
        • 21 Interface
          • 211 Mikrocontroller
          • 212 Basisschaltung und Erweiterungsschaltungen
          • 213 Programmierung des Mikrocontrollers
            • 22 Hyperterminal
            • 23 Positionieren von Objekten
              • 231 Hybrid-Schrittmotoren
              • 232 Schrittmotorsteuerung und Positionierungsmechanik
                  • 3 Ferngesteuertes RCL
                    • 31 RCL-Server
                    • 32 Laborseite
                      • 321 Steuerung des RCLs uumlber das Bedienfeld
                      • 322 Videouumlbertragung im Webcamfeld
                        • 33 Standard-Lernumgebung
                          • 4 ANHANG
                            • 41 Interface in Basisschaltung
                              • 411 Schaltplan und Bauteilliste
                              • 412 Bestuumlckung der Platine
                                • 42 Erweiterungsschaltungen
                                  • 421 Uumlbersicht
                                  • 422 TMC222-Modul zur Schrittmotorsteuerung
                                    • 4221 Schaltplan und Bauteilliste
                                    • 4222 Bestuumlckung der Platine
                                    • 4223 Quellcode des Mikrocontroller-Programms
                                      • 423 Geschaltete Spannungsquellen und Verbraucher
                                      • 424 Steuerung von Gleichstrommotoren
                                        • 43 Quellcodes zum RCL Elektronenbeugung
                                          • 431 Mikrocontroller-Programmierung
                                          • 432 PHP-Programmierung
                                          • 433 Bedienfeld der Laborseite
                                          • 434 Webcamfeld der Laborseite
                                            • 44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung
                                              • 441 AVR-Studio 418
                                                • 4411 Installation
                                                • 4412 Konfiguration
                                                  • 442 BASCOM 11198 Demoversion
                                                    • 4421 Installation
                                                    • 4422 Konfiguration
                                                        • 45 Installation und Konfiguration von Programmen auf dem RCL-Server
                                                          • 451 Einrichten des Internet-Zugangs
                                                          • 452 Paket XAMPP 174
                                                          • 453 Videoserver webcamXP 5 Private
                                                          • 454 Terminalprogramm Hyperterminal
                                                          • 455 Fernwartungssoftware TeamViewer 6 Host
                                                            • 46 Selbstbau eines elementaren RCLs
                                                              • 461 Hard- und Software
                                                              • 462 Bestuumlckung der Platine
                                                              • 463 Lokal gesteuertes RCL
                                                              • 464 Ferngesteuertes RCL

25

Falls in RCLs Gleichstrommotoren mit houmlheren Drehzahlen als Schrittmotoren benoumltigt werden kann eine andere Erweiterungsschaltung (rarr 424) eingesetzt werden

Positionierungsmechanik und Referenz-Taster Die Mechanik zur rotatorischen Positionierung von Objekten kann meist kostenguumlnstig selbst oder durch Personal in einer Werkstatt angefertigt werden Abb 14 zeigt eine kos-tenguumlnstige Loumlsung zur translatorischen Positionierung von Objekten

Abb 14 Positionierungseinheit eines Flachbrett-

Scanners Schrittmotor (1) Getriebe (2) Li-nearfuumlhrung (3) Antriebsriemen (4) und er-gaumlnzter Referenz-Taster (5)

Falls der geometrische Aufbau und die geforderte Positionierungsgenauigkeit des RCLs es zulassen kann die Schrittmotor-Positionierungs-Einheit ausgedienter Flachbrett-Scanner zur translatorischen Positionierung von Objekten verwendet werden In Einzelfaumll-len wie dem RCL Weltpendel kann die Positionierungsmechanik auch selbst angefertigt werden Der Referenz-Taster in Abb 14 wird eingesetzt um abzufragen ob ein vom Schrittmotor bewegtes Objekt die Position des Tasters erreicht hat und um diese Position zu referenzieren Ohne eine solche Referenzierung kann die Positionierung eines Objekts langfristig ungenau werden So kann z B beim RCL Weltpendel das Auftreffen der Kugel auf den Magneten zum Uumlberspringen von Schrittmotorstellungen fuumlhren Der Zustand des Referenz-Tasters in Abb 15 wird z B uumlber den Port PA0 des Mikrocontrollers abgefragt

Abb 15 Referenz-Taster zum referenzieren der

Position des bewegten Objekts

26

Zu Problemen koumlnnen undefinierte Zustaumlnde der Eingaumlnge des Mikrocontrollers fuumlhren wie sie beim Prellen dem zeitlich begrenzten schwingen eines Tasters beim Oumlffnen oder Schlieszligen entstehen Abhilfe schafft ein passend dimensionierter parallel zum Taster ge-schalteter Kondensator Bei geoumlffnetem Taster ist der Kondensator aufgeladen Beim Schlieszligen haumllt der Kondensator die Spannung uumlber die Schwingphase trotz kurzzeitig wieder geoumlffnetem Schalter noch aufrecht Analoges gilt fuumlr den Uumlbergang vom geschlos-senen zum geoumlffneten Taster

3 Ferngesteuertes RCL 31 RCL-Server Fuumlr den Betrieb eines RCLs wird ein RCL-Server benoumltigt (larr 11) Vorausgesetzt wird dass bei einem neuen Computer alle notwendigen Treiber (Ethernet Video Audio hellip) zum Be-trieb der Hardware des Computers und Windows XP Professional mit Service Pack 3 instal-liert sind Ein Benutzerkonto braucht nicht angelegt zu werden

Der RCL-Server benoumltigt einen Internetzugang mit statischer IP-Adresse und Uploaddatenra-te von mindestens 200 kbits (DSL 2000) fuumlr die fluumlssige Wiedergabe von Bewegungen in Webcambildern Die statische IP-Adresse wird von der Institution am Standort des RCLs vergeben oder kann von Privatpersonen bei einem Provider beantragt werden Mit folgenden Schritten wird der RCL-Server eingerichtet

Internetzugang einrichten (rarr 451) und im Browser testen

Checken ob die Windows Firewall aktiviert ist

Virenschutzproramm Avira Antivir Personal herunterladen (larr Tab 1) installieren und ak-tualisieren

Uumlber Windows Update alle Updates von Windows XP Professional installieren

Fernwartungssoftware TeamViewer 6 Vollversion (larr Tab 1) herunterladen und auf dem RCL-Server und dem eigenen Computer installieren (rarr 455)

Webeditor Notepad++ herunterladen installieren und aktualisieren (larr Tab 1)

Videoserver WebcamXP 5 herunterladen und installieren (rarr 453)

Paket XAMPP herunterladen und installieren (rarr 452) Verknuumlpfungen mit den Dateien xampphtdocsapache_startbat und xampphtdocsapache_stopbat auf dem Desktop oder in der Schnellstartleiste erstellen und Webserver mit erstgenannter Verknuumlpfung starten Webserver durch Eingabe von 127001 oder localhost ins Adressfeld des Brow-sers testen Bei erfolgreichem Test werden die im Ordner xampphtdocs abgelegten Webseiten von XAMPP dargestellt Statische IP-Adresse des RCL-Servers im Browser eines anderen Computers mit Internetzugang eingegeben Bei erfolgreichem Test werden die Webseiten von XAMPP dargestellt In der Datei xamppphpphpini unter Resource Limits die max_execution_time mit dem Windows-Editor von 60 auf 300 erhoumlhen und die

27

Datei speichern damit PHP bei Befehlen mit laumlngerer Ausfuumlhrungsdauer keine Fehler-meldung liefert

Ordner xampphtdocs mit den Webseiten von XAMPP in xampphtdocs_xampp um-benennen und fuumlr spaumltere Testzwecke nicht loumlschen RCL-Ordner htdocs herunterladen (larr Tab 1) extrahieren und in das Verzeichnis xampp verschieben

Abb 16 zeigt die Struktur des RCL-Ordners htdocs

Abb 16 Struktur des RCL-Ordners htdocs RCL-spezifisch anzupassende Dateien sind grau

hinterlegt

Der geoumlffnete Ordner Labor enthaumllt alle PHP- und HTML-Dateien bzw Programmierungen fuumlr die Funktionalitaumlt des Bedienfelds der Laborseite (larr 11 Abb 3) An das RCL anzupas-sen sind die portalsprachenunabhaumlngigen Dateien configphp und experimentphp sowie fuumlr jede Portalsprache die Dateien defaultconf und experimenttpl in den Ordnern eng fra ger und ita

Datei configphp Zeit bis zum automatischen Logout beim Experimentieren mit dem RCL eintragen

Datei experimentphp PHP-Basisprogrammierung um die RCL-spezifische PHP-Programmierung erweitern (rarr 432)

Datei defaultconf Name des RCLs (z B Elektronenbeugung) in jeder Portalsprache ein-getragen

Datei experimenttpl HTML-Basisprogrammierung um RCL-spezifische Ein- und Ausga-befelder erweitern (rarr 433)

28

32 Laborseite 321 Steuerung des RCLs uumlber das Bedienfeld Das Bedienfeld der Laborseite (larr 11 Abb 3) wird von der Dateien indexphp und experi-menttpl erzeugt Befehle wie das Anklicken von Buttons Eingaben und Auswahl aus Listen werden in ein HTML-Formular mit Formularfeldern in der Datei experimenttpl geschrieben Die Daten werden von der PHP-Datei experimentphp ausgewertet und uumlber die serielle Schnittstelle dem Mikrocontroller-Programm zur Steuerung des Experiments uumlbergeben Die Dateien experimentphp und experimenttpl wurden getrennt angelegt um Code und Design zu trennen und nur das Design in der Datei experimenttpl an die Portalsprache anpasst werden muss

Tab 5 enthaumllt Ausschnitte der HTML-Datei experimenttpl (rarr 433) der Datei experi-mentphp (rarr 432) und des Mikrocontroller-Programms (rarr 431) fuumlr das RCL Elektronen-beugung

29

Code mit Erlaumluterung

expe

rimen

ttpl

1821 Tag ltformgtltformgt definiert ein Formular 18 Attribut action legt fest dass Formulardaten in der Datei indexphp verarbeitet werden Uumlbertragen

werden eine Session-ID ($sid) um exklusiven Zugriff des jeweilgen Besuchers zu sichern und ($portal) um die vom Besucher gewaumlhlte Sprache beizubehalten post ist eine Uumlbertragungsmethode zwischen Browser und Webserver und gibt die die vom Besucher gewaumlhlte Aktion zum Ansteuern des Experiments an die Datei experimenttpl weiter

20 Erzeugt im Bedienfeld den Sendebutton (submit) mit der Aufschrift Elektronenroumlhre einschalten (valu-e)

19 Unsichtbares Feld (hidden) mit Variablennamen action und Wert RoumlhreAn Der Variablenname ac-tion stimmt nur zufaumlllig mit action in Zeile 18 uumlberein

expe

rimen

tphp

24 Die Funktion wird als Eventhaumlndler bezeichnet weil je nach uumlbergebener Aktion - siehe Zeile 19 in experi-

menttpl - die entsprechenden Anweisungen (case) ausgefuumlhrt werden 37 Fuumlr den Fall dass die Variable $action den Wert RoumlhreAn hat wird die Funktion power_on() aufgeru-

fen

59 Schreibt in die Logdatei logtxt den Text RoumlhreAn 6061 Oumlffnet den in der Datei configphp zentral gespeicherten Com-Port an den das Interface angeschlossen ist

oder gibt Fehlermeldung Can not access file system im Bedienfeld aus falls der Com-Port sich nicht oumlff-nen laumlsst

62 Sendet die Zeichenfolge On und chr(13) (entspricht der Betaumltigung der Return-Taste im Hyperterminal) an den Mikrocontroller

63 Schlieszligt serielle Schnittstelle

Que

llcod

e M

ikro

cont

rolle

r

166 Wird uumlber die serielle Schnittstelle der Befehl on empfangen und ist das Einschalten zulaumlssig (Zeiten fuumlr

PowerOnDelay und Standby abgelaufen) dann hellip 167 Hochspannungsnetzgeraumlt einschalten 168 Der DA-Wandler PCF8591 wird unter seiner Adresse PCF8591 = 01001000 angesprochen Parameterein-

stellungen mit 01000000 und Ausgangsspannung auf 0 V einstellen 169 Setzt Standby auf vorgegebene Standbyzeit zuruumlck 171 Gibt Meldung aus wie lange PowerOnDelay noch dauert

Tab 5 Uumlbertragung des Befehls Elektronenroumlhre einschalten vom Bedienfeld zum Experi-ment

30

Anhand der Erlaumluterungen der Programmcodes koumlnnen die Ablaumlufe zwischen dem Druumlcken des Buttons Elektronenroumlhre einschalten und dem Einschalten der Elektronenbeugungs-roumlhre oder der Eingabe einer Beschleunigungsspannung und dem Anlegen einer Beschleu-nigungsspannung verfolgt werden Uumlber das Bedienfeld koumlnnen nur die von der Datei expe-rimenttpl bereitgestellten Befehle on und da der insgesamt implementierten Befehle (rarr 22 Abb 10) aufgerufen werden

322 Videouumlbertragung im Webcamfeld Zur Aufnahme von Livebildern des Experiments koumlnnen USB-Webcams und IP-Kameras (Netzwerkkameras) eingesetzt werden Teurere IP-Kameras muumlssen eingesetzt werden wenn die Kamera wie z B beim RCL Roboter im Labyrinth zu weit vom Computer entfernt ist oder eine besonders lichtempfindliche Kamera aus der Uumlberwachungstechnik wie z B beim RCL Millikan-Versuch benoumltigt wird W-LAN-Kameras kommen zum Einsatz wenn Bil-der von einem beweglichen Objekt aus wie z B beim RCL Roboter im Labyrinth uumlbertra-gen werden sollen

Das Videoserverprogramm webcamXP 5 erkennt beim Aufrufen automatisch an den RCL-Server angeschlossenen USB-Webcams Vor dem Kauf einer IP-Kamera ist zu pruumlfen ob das Modell unterstuumltzt wird14 IP-Kameras muumlssen im Kontextmenuuml der Videoquelle konfigu-riert werden Abb 17 zeigt das Webcambild einer USB-Webcam vom Szintillationsschirm der Elektronenbeugungsroumlhre

Abb 17 Webcambild des Szintillationsschirms der Elektro-

nenbeugungsroumlhre einer USB-Webcam in webcamXP 5 beim RCL Elektronenbeugung

14 Vgl Moonware Studios webcamXP IP-cameras for webcamXP

31

Zum Einbinden des Webcambilds in die Laborseite des RCLs wird die laborsprachenabhaumln-gige Datei videohtm (rarr 434) in den Ordnern eng fra ger und ita verwendet Standardmauml-szligig werden zwei Webcambilder und Screenshots unterstuumltzt der Code fuumlr weitere Webcam-bilder kann durch copy and paste hinzugefuumlgt werden

Unter den Technologien Java Javaskript Flash und Windows Media fuumlr die Wiedergabe ei-nes Livestreams auf eine Webseite wurde Javaskript gewaumlhlt weil die anderen Technologien die Installation des Java Runtime Environments (JRE) des Flash- oder Windows Media Players durch den Besucher eines RCLs voraussetzen Die Wiedergabe des Livestreams mit einem Java-Applet startet zudem erst verzoumlgert nachdem das Applet geladen ist und verfuumlgt uumlber eine zu geringe Wiedergabegeschwindigkeit

33 Standard-Lernumgebung Bestandteil der Entwicklung eines RCLs ist die Erstellung einer Standard-Lernumgebung zum RCL Abb 18 zeigt exemplarisch fuumlr die deutschen Webseiten im Ordner ger das Menuuml (larr 11 Abb 3) und die Dateistruktur der Standard-Lernumgebung

Abb 18 Deutschsprachiges Menuuml und Dateistruktur der Standard-Lernumgebung

RCL-spezifisch anzupassende Dateien sind grau hinterlegt

Die englischen Dateinamen introductionhtm setuphtm hellip im Ordner ger korrespondieren mit den deutschen Menuumlpunkten Wird das RCL unter dem Menuumlpunkt RCLs des RCL-Portals aufgerufen dann ruft die Frameset-Datei indexhtm die Dateien menuumlhtm und intro-ductionhtm auf und das Menuuml wird zusammen mit der Webseite Einstieg dargestellt Die Wahl weiterer Menuumlpunkte ruft jeweils die korrespondiere Datei im Ordner auf Bei Wahl des Menuumlpunkts Labor werden mit der Frameset-Datei laboratoryhtm die Dateien videohtm fuumlr das Webcamfeld und die Datei laborindexphp fuumlr das Bedienfeld aufgerufen

32

Im Ordner docsmaterial werden alle Dokumente fuumlr die Webseite Material im Ordner docsothers die Dokumente anderer Webseiten abgelegt Im Ordner docsoriginals sind die Originale von Dokumenten wie z B Word-Dateien und der verwendeten Bilder abgelegt Grafikdateien der Webseiten Einstieg hellip Auswertung hellip Betreuung werden in gleichnami-gen Ordnern wie z B imagesanalysis abgelegt Bei sprachenunabhaumlngigen Grafikdateien wird unter dem Dateinamen abbx bei sprachenabhaumlngigen unter dem Dateinamen abbx_lan mit lan = eng fra ger und ita gespeichert Analoges gilt fuumlr die als gif-Grafiken forxgif oder forx_langif zu speichernden Formeln Originale von Bildern werden im Ordner imagesoriginals abgelegt Die Webseite zur Datei htdocsindexhtm enthaumllt zum lokalen Aufrufen der Standard-Lernumgebung Links zu den vier Index-Dateien in den Ordnern eng fra ger und ita Die Stylesheet-Datei htdocsrcl_stylecss enthaumllt die Styles der Webseiten

In der Regel werden Standard-Lernumgebungen der RCLs des RCL-Portals von verschiede-nen Personen erstellt Fehlende Gestaltungs- und Formatierungsregeln fuumlhren zu einem un-einheitlichen inattraktivem Erscheinungsbild des RCL-Portals Tab 6 gibt einen Uumlberblick der wichtigsten Gestaltungs- und Formatierungsregeln

Element Richtlinien

Gliederung

Die Webseiten Einstieg Aufbau Aufgaben Diskussion Material und Support enthalten vorgegebene Gliederungspunkte teilweise mit ausgefuumlhrten Uumlberschriften

Die umfangreicheren Webseiten Theorie und Auswertung enthalten ein Inhaltsverzeichnis mit internen Links zu Gliederungspunkten Zwischen Punkten der ersten Gliederungsebene (1 2 hellip) ist ein zwei-zeiliger Abstand (ltpgtampnbspltpgtltpgtampnbspltpgt) zwischen Punkten der zweiten (11 12 hellip) und Punkten der nur falls unbedingt notwendig dritten 111 112 hellip) Gliederungsebene ein einzeiliger Abstand zu waumlhlen Nach Abbildungen und Tabellen folgt ein einzeiliger Abstand zum nachfolgenden Text

Links Keine internen Links zwischen den Webseiten der Lernumgebung Externe Links werden prinzipiell in einem neuen Browserfenster geoumlffnet (blank)

Abbildung

Alle Abbildungen erhalten fortlaufend beginnend mit 1 nummerierte Abbildungsunterschriften der Form Abb x hellip

Abbildungen sind moumlglichst spachenunabhaumlngig d h ohne Texte in der Abbildung zu erstellen Zur Beschriftung koumlnnen z B Zahlen verwendet werden die in der Abbildungsunterschrift oder im Text er-laumlutert werden

Tabellen Tabellen werden in jeder Webseite fortlaufend beginnend mit 1 nummeriert Tabellen sind zu zentrieren Rahmenstaumlrke 1

Formeln

Formeln sind nicht als Textzeichen oder Grafik im laufenden Text einzufuumlgen sondern stets zentriert in einer eigenen Zeile als gif-Grafik

Zum Erstellen der Formel-Grafiken eignet sich z B der Formel-Editor MathType15 mit der Aufloumlsungs-Einstellung 120 dpi fuumlr InternetGif

Formeln brauchen im Rahmen des begrenzten Umfangs der Webseiten nicht nummeriert zu werden Groumlszligen-symbole

Griechische Groumlszligensymbole und mathematische Symbole sind nicht als Grafiken im laufenden Text sondern als HTML-Code einzufuumlgen Eine Zeichenreferenz findet sich bei Selfhtml16

Styles Zur Formatierung der Webseiten werden aus der Stylesheet-Datei nur die drei Styles Uumlberschrift fuumlr

die Uumlberschriften Bildunterschrift fuumlr Abbildungs- und Tabellenunterschriften und Tabellentext fuumlr Tex-te in Tabellen benoumltigt

Tab 6 Richtlinien zur Gestaltung und Formatierung der Standard-Lernumgebung

Detailliertere Informationen zum Layout der Standard-Lernumgebung koumlnnen dem RCL-Ordner und dem Erscheinungsbild der Webseiten von RCLs in Browsern entnommen wer-den

15 Vgl Design Science MathType 16 Vgl Selfhtml HTML-Zeichreferenz

33

4 ANHANG

34

41 Interface in Basisschaltung 411 Schaltplan und Bauteilliste Abb 19 zeigt den Schaltplan der Basisschaltung des Interface und Tab 7 die dazugehoumlrige Bauteilliste

Abb 19 Basisschaltung des Interface

Nr Anzahl Kurzbeschreibung des Bauteils Best-Nr bei Reichelt electronic

Einzelpreis in euro

0 1 Epoxyd-Platine (190x112 mm) mit Anteil Loumltpunktraster (Spezi-

alanfertigung) - asymp 10

1 1

Epoxyd-Fotoplatine einseitig 160x100 mm 15 mm 35 microm Epoxyd-Lochrasterplatine 160x100 mm 15 mm 35 microm

BEL 160x100-1 UP 832EP

170 420

1 1 Hohlstecker-Einbaubuchse gewinkelt Loumltfahnen 21 mm HEBW 21 018 2 1 D-SUB-Stecker 9-polig gewinkelt RM 94 D-SUB ST 09EU 029 3 1 Schottky Diode DO41 40 V 1 A SB 140 008 4 1 Draht von abgeschnittenem Beinchen aus Pos-Nr 3 - - 5 1 IC-Sockel 16-polig superflach gedreht vergoldet GS 16P 029 6 1 IC-Sockel 40-polig superflach gedreht vergoldet GS 40P 061 7 1 2x10-pol-Stiftleiste gerade RM 254 SL 2X10G 254 007 8 1 Metallschichtwiderstand 100 kΩ Metall 100k 0082 9 1 Elektrolytkondensator 10x16 mm 470 microF RM 50 mm RAD 47025 006 10 1 Elektrolytkondensator 63x11 mm 100 microF RM 25 mm RAD 10016 004 11 5 Elektrolytkondensator 5x11 mm 10 microF RM 20 mm RAD 1035 004 12 2 Keramik-Kondensator 33 pF Kerko 33p 006 13 3 Vielschicht-Keramikkondensator 100 nF 20 Z5U-25 100n 004

35

14 1 Standardquarz Grundton 110592 MHz 110592-HC49U-S 018 15 1 Spannungsregler 1 A positiv TO-220 microA 7805 028 16 1 Kuumlhlkoumlrper fuumlr Gehaumluse TO-220 99KW V FI356 066 17 1 Zylinderkopfschraube Schlitz M3 10 mm fuumlr Kuumlhlkoumlrper M3x10mm 160 18 2 Sechskantmutter M3 fuumlr Kuumlhlkoumlrper SK M3 001 19 1 Stecker-Schaltnetzteil 12 V 2250 mA MW 3IP25GS 1150 20 1 RS232-Driver DIL-16 MAX 232 CPE 041 21 1 ATmega AVR-RISC-Controller DIL-40 ATmega16-16 DIP 420 22 3 10-poliger Wannenstecker RM 254 stehend (optional) WSL 10G 009 23 1 14-poliger Wannenstecker RM 254 stehend (optional) WSL 14G 014 24 1 40-polige Stiftleiste 1-reihig gerade RM254 (optional) SL 1x40G 254 023 25 1 Kunststoffgehaumluse 1982x1124x760 mm (Serientyp 202) - asymp 10 euro 26 1 D-SUB Nullmodem-Kabel 9-pol BUBU 3 m AK 143 155 27 x DIN-Einbaubuchse 5-pol Schraubver 360deg (optional) DIO-50W EMS 185 28 x DIN-Einbaubuchse 8-polig Schraubversch 270deg (optional) DIO-80SN EMS 180 29 x Pfostenstecker 10-polig mit Verrieglung gew (optional) PSL 10W 028 30 x Klemmleiste RM 254 Oumlffnungshebel 8-polig (optional) Wago 233 220

Tab 7 Bauteilliste mit Bestellnummer und Einzelpreisen der Bauelemente bei Reichelt electronic (Stand 23102010)

Anhand der Bauteilliste in koumlnnen die elektronischen Bauelemente der Basisschaltung (larr Tab 7 Nr 0 ndash 21 optional Nr 22 - 24) bei Reichelt electronic bestellt werden Das Gehaumluse des Interface (larr Tab 7 Nr 25) sollte vom Hersteller HAGOTECH GmbH bezogen werden Weiterhin wird ein Nullmodemkabel (larr Tab 7 Nr 26) zur Verbindung des Interface mit dem Computer benoumltigt Sensoren und Aktoren des Experiments koumlnnen mit optionalen Steck-verbindern (larr Tab 7 Nr 27 - 30) und entsprechende Kabelverbindungen an das Interface angeschlossen werden Die Nummern 0 - 25 stimmen mit der angegebenen Bestuumlckungs-reihenfolge auf der Platine uumlberein Das Interface kostet in der Basisschaltung ca 50 euro

412 Bestuumlckung der Platine Abb 20 zeigt zur Bestuumlckung der Platine benoumltigte Werkzeuge

Abb 20 Werkzeuge zur Bestuumlckung der Platine des Interface

36

Loumltkolben mit feiner Spitze in Meisselform 2 mm oder Loumltstation (1) Loumltzinnabsauger zum Entfernen von Loumltzinn (2) Nasser Schwamm zum Reinigen der Spitze des Loumltkolbens (3) Loumltzinn mit Durchmesser 08 - 10 mm (4) Flachspitzzange zum Biegen von Anschluumlssen der Bauelemente (5) Seitenschneider zum Kuumlrzen der Beinchen von Bauelementen (6) Multimeter zum Pruumlfen der Funktionsfaumlhigkeit der Schaltung (7) Sekundenkleber zur Befestigung von Bauelementen Kleine Bohrmaschine z B von Dremel und 08 mm Bohrer oder duumlnne Rundfeile zum

Weiten von Loumlchern auf der Platine des Interface

Abb 21 zeigt die Platine des Interface von der Loumltseite in der Spezialanfertigung der Elekt-ronik-Werkstatt an der Technischen Universitaumlt Kaiserslautern und in der Selbstbauvariante (larr Tab 7 Nr 0) Abb 22 zeigt das Platinenlayout

Abb 21 Platine des Interface von der Loumltseite als Spezialanfertigung (links) und der Selbstbauvariante

(rechts)

Abb 22 Layout zur Herstellung des geaumltzten Teils der

Platine in der Selbstbauvariante

37

In der Selbstbauvariante kann anhand des Platinenlayouts eine selbst geaumltzte Platine fuumlr die Basisschaltung auf einer Platine im Europakartenformat hergestellt und diese in der Laumlnge gekuumlrzt werden Eine gekuumlrzte Lochrasterplatine bildet den zweiten Teil der Platine Mit den optionalen vier Wannensteckern (larr Tab 7 Nr 22 - 23) oder den vier Stiftleisten (larr Tab 7 Nr 24) an den Ports des Mikrocontrollers koumlnnen leicht elektrische Verbindungen zum Rasterteil der Platine herstellt werden Abb 23 zeigt die fertig bestuumlckte Platine mit den Nummern aus Tab 7

Abb 23 Bestuumlckte Platine des Interface mit nummerierten Bauelementen

Tab 8 beschreibt das Einloumlten der elektronischen Bauelemente anhand der Nummern aus Tab 7 und in der angegebenen Reihenfolge

Nr Bauelement Beschreibung des Einbaus

0 Spezialanfertigung und Selbst-bauvariante der Epoxydharz-

Platine

1

Stromversorgungsbuchse ndash Hohlstecker 21 mm

Wenn die Loumltbeine nicht durch die Loumlcher der Platine passen die Loumlcher mit einer runden Schluumlsselfeile aufweiten

Stromversorgungsbuchse mit Sekundenkleber vor dem Festloumlten auf der Pla-tine fixieren da diese mechanischen Belastungen durch das Einstecken und Herausziehen des 12 V -Steckers ausgesetzt ist

Wahlweise kann die 25 mm-Version der Buchse verwendet werden

2

RS232 Datenstecker

RS232 Datenstecker mit Sekundenkleber vor dem Festloumlten auf der Platine fixieren da dieser mechanischen Belastungen durch das Einstecken und Herausziehen des Null-Modem-Kabels ausgesetzt ist

Alle Beinchen und Befestigungsstifte zur houmlheren Stabilitaumlt anloumlten

3

Ein Ring an einer Seite der Diode (hier links weiszlig) zeigt die Durchlass- bzw Sperrrichtung der Diode an Die Position des Ringes entspricht der Position des Balkens im Schaltungssymbol

38

Diode ndash SB140 Auf der Platine muss der Ring auf der von der Stromversorgungsbuchse ab-

gewandten Seite liegen

4 Drahtbruumlcke

Vor dem Einloumlten des 40-poligen IC-Sockels (Nr 5) muss eine Drahtbruumlcke unter diesem eingeloumltet werden Dazu koumlnnen die abgeschnittenen Beinchen der bereits eingeloumlteten Diode (Nr 3) verwendet werden

5 6

IC-Fassungen

Die 16-polige und 40-polige IC-Fassungen besitzen eventuell eine Markie-rung fuumlr Pin1 (z B Kerbe in der Stirnseite Punkt Pfeilhellip) als Hilfe fuumlr das richtige Einstecken der ICs Die Markierungen muumlssen bei beiden Fassungen nach oben also zum naumlchstliegenden Rand der Platine zeigen

Die ICs unbedingt noch nicht einstecken

7

ISP-Stiftleiste

Die doppelreihige ISP-Stiftleiste dient der Programmierung des Mikrocontrol-lers mit dem AVR-ISP-Programmer (ISP steht fuumlr In System Programming)

ISP-Stiftleiste auf 2 x 5 Stifte kuumlrzen und mit den kurzen Beinchen einloumlten so dass auf die langen Stifte der AVR-ISP-Programmer gesteckt werden kann

8

Widerstand 100 kΩ

Den 100 kΩ-Widerstand rechts neben der ISP-Stiftleiste einloumlten

9

10

11

Elkos

Bei den verwendeten Elektrolyt-Kondensatoren ist die Polung zu beachten (langes Beinchen = Plus-Pol) Weiterhin ist auf den Kondensatoren ein wei-szliger Streifen mit Minus-Zeichen aufgedruckt Die Kondensatoren sollten eine Spannungsfestigkeit von mindestens 16 V besser 25V besitzen

Auf der Kupferseite der Platine zeigt die Form der Loumltaugen die Polung an Rundes Loumltauge = Plus quadratisches Loumltauge = Minus

Der 470 microF Kondensator wird mit dem weiszligen Streifen in Richtung Stromver-sorgungsbuchse direkt unter diese montiert

Der 100 microF Kondensator sitzt direkt unter der 16-poligen IC-Fassung Sein weiszliger Streifen (Minus-Pol) zeigt in Richtung der Stromversorgungsbuchse

Vier der 10 microF Kondensatoren werden links neben der 16-poligen IC-Fassung montiert Deren Polung ist wie folgt Unterster Kondensator Minus nach oben naumlchster Kondensator Minus nach unten die beiden oberen Kondensatoren mit Minus nach oben

Ein weiterer 10 microF Kondensator wird rechts neben die 16-polige IC-Fassung geloumltet Sein Minus-Streifen zeigt nach unten

12

13

Keramik-Kondensatoren

Die Beschriftung 104 bedeutet 10e4 pF = 100 nF Die beiden 33 pF-Kerkos (Keramik-Kondensatoren) werden direkt nebenei-

nander rechts neben die 16-polige IC-Fassung geloumltet Zwei 100 nF-Kondensatoren werden unter dem 470 microF-Elko eingeloumltet ein

weiterer mittig an der linken Seite der 40-poligen IC-Fassung

14

Quarz

Als Quarz wird ein 110592 MHz-Typ verwendet Bei dieser Frequenz ist eine fehlerfreie Kommunikation uumlber RS232 mit 9600 Baud moumlglich Fuumlr den AT-mega16 koumlnnen Quarze bis 16 MHz eingesetzt werden Details siehe Daten-blatt

Der Quarz wird direkt rechts neben die beiden 33 pF-Kerkos geloumltet Die Ori-entierung des Quarz spielt keine Rolle

15

16

17

18

Der Spannungsregler L7805 erzeugt eine stabilisierte Spannung von 5 V Es muss ein Kuumlhlkoumlrper zur Waumlrmeabfuhr vom Spannungsregler verwendet werden

Vor dem Einloumlten zwischen Spannungsregler und Kuumlhlkoumlrper etwas Waumlrme-leitpaste aufgetragen Beide Bauteile fest mit einer Schraube M3x10 und ei-ner 1 Mutter verschrauben

Dann den Spannungsregler einloumlten um 90deg abzubiegen das uumlberstehende Gewinde durch das vorgesehene Loch stecken und alles mit einer 2 Mutter auf der Platine befestigen

1 Mutter

2 Mutter

Schr

aube

L7805

Platine

KuumlhlkoumlrperWaumlrmeleitpaste

Beinchen

Loumlten

39

Spannungsregler L7805 Kuumlhl-koumlrper und Montage

19

Steckernetzteil

Funktionskontrolle vor dem Einsetzen des Mikrocontrollers Polung der Elektrolyt-Kondensatoren (Elkos) pruumlfen Sind alle Beinchen angeloumltet Hat das Loumltzinn an den Beinchen und der Pla-

tine guten Kontakt Sind eventuell zwei benachbarte Beinchen unbeabsichtigt durch Loumltzinn verbunden Alle Loumltverbindungen nochmals genau z B mit ei-ner Lupe pruumlfen

Probeweise das Stecker-Netzteil an die Buchse anschlieszligen Am 100 nF-Kondensator links mittig der 40-poligen IC-Fassung muumlssen 5 V anliegen

Versorgungsspannung unbedingt wieder von der Platine trennen

20

21

ICs MAX232 und ATmega16

Die Nuten auf den ICs am linken Rand muumlssen nach oben zeigen d h Pin1 ist bei beiden ICs in der Abbildung links unten und auf der Platine oben links

Manchmal passen die Beinchen der ICs nicht in die Fassung weil die Fas-sung scheinbar zu schmal ist Dann den IC seitlich mit einer Beinchen-Reihe flach auf den Tisch legen den IC-Koumlrper links und rechts greifen und Bein-chen durch leichten Druck biegen Einzelne verbogene Beinchen vorsichtig mit einer kleinen Flachzange richten

22

23

Wannenstecker 10- und 14-polig

Wannenstecker an den vorgesehe-nen Stellen mit der Nut gegen Ver-polung in Richtung des naumlherliegen-den Platinenrands einloumlten

Die Abbildung rechts zeigt die Pin-Belegung der Wannenstecker

24

Stiftleiste 8-polig 40-pol Stiftleiste in 4 jeweils 8-polige Stuumlcke zerteilen und einloumlten

25

Kunststoffgehaumluse

In der Selbstbauvariante der Platine (Nr 0) vor dem Einsetzten der Platine in das Gehaumluse passend positionierte Kunststoffstege am Gehaumluseboden fest-kleben

Tab 8 Bestuumlckung der Platine des Interface mit Bauelementen

42 Erweiterungsschaltungen 421 Uumlbersicht In Tab 3 sind von RCLs des RCL-Portals Sensoren und Aktoren mit den dazugehoumlrigen Er-weiterungsschaltungen zusammengestellt Da alle RCLs obligatorisch uumlber mindestens eine Webcam verfuumlgen sind diese unter den Sensoren nicht aufgefuumlhrt Die wenigen Erweite-rungsschaltungen fuumlr Sensoren sind unter Sensoren in Klammern aufgelistet Unter Aktoren werden auszliger elektro-mechanischen Wandlern auch gesteuerte Geraumlte oder Bauelemente verstanden Anzeigeinstrumente sind unter Aktoren nur aufgefuumlhrt wenn sie direkt vom In-terface gesteuert werden Mit gekennzeichnete Erweiterungsschaltungen befinden sich au-szligerhalb des Interface

40

RCL Sensoren Aktoren Erweiterungsschaltungen fuumlr Aktoren

Beugung und Interferenz I Referenz-Taster

Schrittmotor (Rotation) Schrittmotorsteuerung Laser-Modul Geschaltete Spannungsversorgung

Beugung und Interferenz II

4 Referenz-Taster Lichtsensor

4 Schrittmotoren (Translation) 4 Schrittmotorsteuerungen 5 Laser-Module Geschaltete Spannungsversorgung LED fuumlr Position des

Lichtsensors Geschaltete Spannungsversorgung

LED fuumlr Linealbeleuchtung Geschaltete Spannungsversorgung

Elektronen-beugung

Hochspannungsnetzgeraumlt Geschaltete Spannungsversorgung Hochspannungsnetzgeraumlt Steuerung der Hochspannung

Fotoeffekt 2 Referenz-Taster Photozelle

2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen

Quecksilberdampflampe Geschaltete Spannungsversorgung

der Drossel fuumlr Quecksilberdampf-lampe

Halbleiter-kennlinien

und Halbleiterkennli-nien - Schuumller-

projekt

Referenz-Taster

Schrittmotor (Rotation) Schrittmotorsteuerung Oszilloskop Geschaltete Spannungsversorgung

Oszilloskop Instrumentenverstaumlrker fuumlr X- und Y-Ablenkung

Multimeter Steuerung Spannungs- oder Strom-anzeige

Heiszliger Draht 4 Endtaster 4 Drehgeber Kurzschlusssensor

4 Gleichstrommotoren 4 Treiber

Zweifarbige LED Steuerung der LED-Farbe

Lichtgeschwin-digkeit

Drehimpulsgeber 2 Taster an Enden

der Eisenbahnstre-cke

2 Schrittmotoren 2 Schrittmotorsteuerungen Oszilloskop Geschaltete Spannungsversorgung

Motor der Lokomotive Steuerung des Ein- und Ausschal-tens und der Bewegungsrichtung

Maut Infrarot-Sensor Gleichstrommotor Geschaltete Spannungsquelle 2 IR-Fernbedienungen Spannungsregler 2-stellige 7-Segmentanzeige LED-Treiber

Millikan-Versuch 2 Referenz-Taster

2 Schrittmotoren 2 Schrittmotorsteuerungen Lichtquelle (LED) fuumlr Millikan-

Kondensator Geschaltete Spannungsversorgung

Airbrush-Kompressor Geschaltete Spannungsversorgung Magnetventil Geschaltete Spannungsversorgung Millikan-Kondensator Gesteuertes Hochspannungsmodul

Optische Com-putertomogra-

phie

2 Referenz-Taster 2 Lichtsensoren

Schrittmotor (Rotation) Schrittmotorsteuerung Schrittmotor (Translation) Schrittmotorsteuerung

2 Laser-Module 2 geschaltete Spannungsversor-gungen

Optische Fou-rier-

Transformation 2 Referenz-Taster

2 Schrittmotoren (Translation) 2 Schrittmotorsteuerungen

Laser-Modul Geschaltete Spannungsversorgung

Oszilloskop Oszilloskop Geschaltete Spannungsversorgung Signalgenerator Steuerung der Signalart

Radioaktivitaumlt 4 Referenz-Taster Geiger-Muumlller-

Zaumlhlrohr

2 Schrittmotoren (Translation) 2 Schrittmotorsteuerungen 2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen 4-stellige 7-Segment-Anzeige Treiber Elektromagnet Geschaltete Spannungsversorgung

Roboter im Labyrinth Infrarot-Sensor

2 Schrittmotoren 2 Schrittmotorsteuerung Infrarot-Sender Treiber

Rutherfordscher Streuversuch

2 Referenz-Taster Halbleiterdetektor

(Impulsformer)

2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen

4-stellige 7-Segment-Anzeige Treiber

Weltpendel

Referenz-Taster Lichtsensor der

Lichtschranke (Im-pulsformer)

Temperatursensor

Schrittmotor (Translation) Schrittmotorsteuerung Elektromagnet Geschaltete Spannungsversorgung

Laser der Lichtschranke Geschaltete Spannungsversorgung

Windkanal Referenz-Taster Schrittmotor (Translation) Schrittmotorsteuerung

41

Dehnungsmess-streifen (Wheat-stonesche Bruumlcke Messverstaumlrker Multimeter)

Geblaumlsemotor Geschaltete Spannungsversorgung

und Ansteuerung mit Pulsweiten-modulation

Anemometer Geschaltete Spannungsversorgung Multimeter Geschaltete Spannungsversorgung

Tab 9 Sensoren Aktoren und Erweiterungsschaltungen der RCLs des RCL-Portals

422 TMC222-Modul zur Schrittmotorsteuerung 4221 Schaltplan und Bauteilliste Abb 1 zeigt die Beschaltung des TMC222 von Trinamic auf dem TMC222-Modul

Abb 24 Beschaltung des TMC222 von Trinamic

Anhand der Bauteilliste in Tab 10 koumlnnen die elektronischen Bauelemente des TMC222-Moduls bei Reichelt electronic bestellt werden Ein TMC222-Modul kostet ungefaumlhr 10 euro

Nr Anzahl Kurzbeschreibung des Bauteils Best-Nr bei Reichelt electronic

Einzelpreis in euro

0 1 Epoxyd-Fotoplatine einseitig 75x100 mm 15 mm 35 microm BEL75X100-1 096 1 1 Integrierter TMC-Schrittmotor-Controller TMC 222 SI asymp 7 2 1 Elektrolytkondensator 8x11 mm Rm 35 mm 100 microF35 V RAD 10035 004 3 1 Tantal-Kondensator Rm 25 10 microF35 V Tantal 1035 014 4 2 Vielschicht-Keramikkondensator 220 nF 20 Z5U-25 220N 011 5 3 Vielschicht-Keramikkondensator 100 nF 20 Z5U-25 100N 004 6 2 Metallschichtwiderstand 100 kΩ Metall 100K 0082 7 1 1x36pol Stiftleiste gewinkelt Rm 254 SL 1X36W 027 8 1 1x36pol Buchsenleiste gerade Rm 254 BL 1X36G 025

Tab 10 Bauteilliste mit Bestellnummer und Einzelpreisen der Bauelemente bei Reichelt electronic (Stand 23102010)

4222 Bestuumlckung der Platine

42

Abb 25 zeigt die fertig bestuumlckte Platine mit den Nummern aus Tab 10

Abb 25 Bestuumlckte Platine des TMC222-Moduls

mit nummerierten Bauelementen

Die Platine (35 mm x 30 mm) kann anhand des Layouts in Abb 26 hergestellt werden Der IC TMC222 wird auf der Loumltseite der Platine aufgeloumltet Das TMC222-Modul kann mit der Stiftleiste (larr Tab 10 Nr 7) in eine Buchsenleiste (larr Tab 10 Nr 8) auf die Platine des In-terface gesteckt werden

Abb 26 Platine des TMC222-Moduls von der Loumltseite (links) und Layout

4223 Quellcode des Mikrocontroller-Programms Im Folgenden ist ein mit Bascom (larr 12 Tab 1 Entwicklungsumgebungen) erstelltes Bei-spiel-Programm zur Ansteuerung des Schrittmotormoduls TMC222 durch den Mikrocontroller ATmega16 angegeben $regfile = m16DEFdat $crystal = 11059200 $baud = 9600 Definitionen Config Scl = Portc0 Taktleitung Config Sda = Portc1 Datenleitung Const Adress = ampB11000000 I2C Adresse des TMC222 Const GetFullstatus1 = ampB10000001 Kommando des TMC222 Const Resetpos = ampB10000110 Kommando des TMC222 Const Motorparameter = ampB10001001 Kommando des TMC222 Const Setposition = ampB10001011 Dim Puffer(10) As Byte

43

Programm I2csend Adress GetFullstatus1 GetFullstatus1 (Initialisierung des TMC222) I2creceive Adress 7 Ack Daten in Puffer auslesen Puffer(1) = Motorparameter puffer auffuumlllen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB11110011 1111irun 0011ihold Puffer(5) = ampB01110001 0111vmax 0001vmin Puffer(6) = ampB00010000 000securepos(bit10-8) 1shaft 0000acceleration Puffer(7) = 0 securepos(bit7-0) Puffer(8) = ampB00001100 000nicht belegt 0accshape 11stepmode 00nicht belegt I2csend Adress Puffer(1) 8 I2csend Adress Resetpos aktuelle Position auf 0 setzen Puffer(1) = Setposition Motor bewegen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB01111111 position(bit 15-8) Puffer(5) = ampB11111111 position(bit 7-0)acute I2csend Adress Puffer(1) 5 End

423 Geschaltete Spannungsquellen und Verbraucher Die Ausgaumlnge des Mikrocontrollers duumlrfen nur mit Stroumlmen kleiner als ungefaumlhr 20 mA belas-tet werden Verbraucher mit einer Stromlast groumlszliger als 20 mA koumlnnen daher nicht direkt an den Mikrocontroller angeschlossen werden Abb 27 zeigt links eine Schaltung zum Schalten eines Verbrauchers wie z B des Relais und rechts eine Schaltung mit dem IC ULN2803A zum Schalten mehrerer Verbraucher wie z B Gluumlhlampen

Abb 27 Erweiterungsschaltungen zum Schalten eines (links) oder

mehrerer Verbraucher (rechts)

Zu beachten ist dass der Transistor BC337 maximal 800 mA schalten kann und fuumlr groumlszligere Stroumlme andere Transistoren verwendet werden muumlssen

424 Steuerung von Gleichstrommotoren

44

Sollen Gleichstrommotoren zum Bewegen von Objekten mit dem Mikrocontroller gesteuert werden dann eignet sich dazu der in Abb 28 dargestellte beschaltete IC L293D

Abb 28 Beschaltung des L293D zum

Steuern zweier Gleichstrom-motoren

Mit Pin 1 = Pin 9 = 1 (High) koumlnnen zwei Gleichstrommotoren M1 und M2 (Versorgungs-spannung UM lt 36 V Spulendauerstrom IM lt 600 mA) unabhaumlngig voneinander ein- und ausgeschaltet sowie in der Drehrichtung uumlber die Ports PA0 und PA1 fuumlr M1 und PA2 und PA3 fuumlr M2 gesteuert werden Z B gilt mit PA0 = PA1 = 0 (M1 ausgeschaltet) PA0 = 1 und PA1 = 0 (M1 dreht sich) PA0 = 0 und PA1 = 1 (M1 dreht sich in Gegenrichtung)

45

43 Quellcodes zum RCL Elektronenbeugung 431 Mikrocontroller-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

46

47

48

49

432 PHP-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

50

51

433 Bedienfeld der Laborseite

Tab 11 erlaumlutert die Funktion der Bloumlcke im Quellcode

Zeilen Funktion 1 Datei defaultconf einbinden 2 Datei headtpl einbinden

5 - 11 Ausgabe der verbleibenden Experimentierzeit 18 - 21 Button zum Einschalten der Elektronenbeugungsroumlhre 28 - 30 Eingabefeld fuumlr die Beschleunigungsspannung

37 Ruumlckmeldung zur eingegebenen Beschleunigungsspannung 42 Datei foottpl einbinden

Tab 11 Funktion der Programmbloumlcke in der Datei experi-menttpl

52

434 Webcamfeld der Laborseite

In Tab 12 ist die Funktion der Programmbloumlcke und die Anpassungen der Vorlage an das RCL Elektronenbeugung beschrieben

Zeilen Funktion Anpassung RCL Elektronenbeugung

5 Titelangabe erscheint als Tabulatorbeschriftung in Browsern

Name des RCLs eintragen

11 - 15 16 - 20

Zwei Javascripts zum getrennten Aufrufen zweier Po-pup-Fenster mit dargestelltem Webcambildern 1 und 2

Javascript 1 die IP-Adresse eintragen Javascript 2 auskommentiert weil nicht benoumltigt

24 - 40 42 - 60

Zwei Javascripts zum Aktualisieren der Webcambilder 1 und 2

Javascript 2 auskommentiert weil nicht benoumltigt

67 - 71 79 - 83

Aufrufen des ersten Webcambilds der Webcams 1 und 2 beim Aufrufen der Datei

Webcambild 2 auskommentiert weil nicht benoumltigt

72 - 78 84 - 90

Buttons zum Aufrufen der Screenshots der Webcam-bilder 1 und 2

Button 2 auskommentiert weil nicht benoumltigt

91 - 95 Zeile der Tabelle zum Eintragen von Informationen die sich auf die Webcambilder oder den Versuch beziehen

Text in Zeile der Tabelle geschrieben

Tab 12 Funktionen der Codeabschnitte in der Datei videohtm und Anpassung der Vor-lage an das RCL Elektronenbeugung

53

44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung Im Folgenden wird die Installation und Konfiguration des AVR-Studios 418 und der Bascom 11198 Demoversion beschrieben Alle Anleitungen sind zeilenweise von links nach rechts zu lesen

441 AVR-Studio 418 4411 Installation Auf der Webseite von ATMEL Register AVR Studio 418 (build 684) anklicken und Registrie-rungsformular ausfuumlllen Danach die Datei AvrStudio418Setup herunterladen Durch Dop-pelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen Next waumlhlen

I accept hellip und Next waumlhlen Installationsordner und Next waumlhlen

54

Installupgrade hellip und Next waumlhlen Install waumlhlen Die Installation beginnt

Finish waumlhlen

4412 Konfiguration AVR Studio 418 in Windows XP Professional unter StartProgramme aufrufen

Startfenster mit Cancel schlieszligen Unter ToolsProgram AVR Auto Connect waumlhlen

55

Im eingeblendeten Fenster auf der Registerkarte Main als Device ATmega16 und als Programming Mode ISP mo-de waumlhlen

Optional kann Signatur gelesen werden

In der Registerkarte Fuses alle Haumlkchen und Auswahlfel-der wie angegeben waumlhlen

Dann Program waumlhlen

442 BASCOM 11198 Demoversion 4421 Installation Auf der Webseite von Bascom unter Bascom AVR Demo die Zip-Datei setupdemoexe her-untergeladen Durch Doppelklick auf den Dateinamen die Installation starten

Next waumlhlen I accept the agreement und Next waumlhlen

56

Next waumlhlen Installationsordner eingeben und Next waumlhlen

Eintrag im Start-Menuuml eingeben und Next waumlhlen Next waumlhlen

Yes restart the computer now und Finish waumlhlen

57

4422 Konfiguration Bascom AVR in Windows XP Professional unter StartProgramme zum Einstellen der Para-meter des Mikrocontrollers und des Terminals aufrufen

OptionsCompilerChip waumlhlen Einstellungen wie im Bild vornehmen und OK waumlhlen

Auf der Registerkarte Communications Einstellungen wie im Bild vornehmen und OK waumlhlen

Unter OptionsCommunication Einstellungen wie im Bild

vornehmen und OK waumlhlen FileNew waumlhlen Unter ToolsTerminal emulator das Terminal aufrufen und

eingeben Die Befehlsliste des RCLs Elektronenbeu-gung wird angezeigt

45 Installation und Konfiguration von Programmen auf dem RCL-Server Im Folgenden wird der Download die Installation und die Konfiguration von Programmen auf dem RCL-Server unter Windows XP Professional beschrieben Alle Anleitungen sind zeilen-weise von links nach rechts zu lesen Die Installation der Programme sollte in der angegebe-nen Reihenfolge erfolgen

58

451 Einrichten des Internet-Zugangs LAN-Verbindung unter StartSystemsteuerungNetzwerkverbindungen aufrufen

Internetprotokoll (TCPIP) und Eigenschaften waumlhlen Folgende IP-Adresse verwenden waumlhlen IP-Adressen ein-

geben und OK waumlhlen

452 Paket XAMPP 174 Unter apache friends - xampp fuumlr windows und XAMPP Windows 174 Installer anklicken und Datei xampp-win32-174-VC6-installerexe speichern Durch Doppelklick auf die Datei die Installation starten

Sprache und Ok waumlhlen Ok waumlhlen

59

Weiter waumlhlen Zielverzeichnis mit Durchsuchen waumlhlen oder eingeben

Apache nicht als Dienst installieren Fertig stellen waumlhlen

Ja waumlhlen Zum Starten des Apache Webservers das Control Panel

unter StartProgrammeXAMPP 173 for Windows mit Start starten Anstelle von Start erscheint Running

Zum Beenden des Apache Webservers Stop waumlhlen Zum Beenden des Control Panels Exit waumlhlen

60

453 Videoserver webcamXP 5 Private Auf der Webseite von Moonware Studios unter webcamXP 55xx die Datei wlite550 herun-terladen Durch Doppelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen I Agree waumlhlen

Next waumlhlen Auszliger webcamXP 5 brauchen keine weiteren Komponen-

ten installiert zu werden

Den vorgeschlagenen Ordner und Install waumlhlen Finish waumlhlen

61

WebcamXP unter StartProgramme aufrufen Zugesandte

Lizenz-Daten in das eingeblendete Fenster eingeben und Register waumlhlen

Beim Starten des Programms stellt webcamXP automa-tisch eine Verbindung zu den am Computer angeschlosse-nen Webcams her

Nach dem Start ist Uumlberwachen gewaumlhlt Durch Rechts-klick mit der Maus auf das Videofenster wird zu jeder Vi-deoquelle ein Kontextmenuuml angezeigt Wird kein Videobild dargestellt das Kontextmenuuml aufrufen Art der Videoquelle waumlhlen (hier USB) und unter den erkannten Videoquellen (hier USB-Videogeraumlt) die gewuumlnschte waumlhlen

Das Videoformat muss fuumlr eine passende Darstellung auf

der Laborseite auf 320 x 240 eingestellt sein Ist das nicht der Fall im Kontextmenuuml unter Video Format einstellen

In gleicher Weise kann eine zweite Videoquelle hinzugefuumlgt werden

In der Registerkarte Web Broadcast kann unter

Broadcast (HTTP) der Videoserver mit Ausschalten ge-stoppt und mit Aktivieren gestartet werden

Zur Zielwahl des Webservers (131246237167 - Internet D16W3X3J - Computer 127001 - Local Host) Videoser-ver stoppen und einstellen Videoserver wieder starten

62

454 Terminalprogramm Hyperterminal Hyperterminal in Windows XP Professional unter StartProgrammeZubehoumlrKommunikation aufrufen

Name der neuen Verbindung - z B Interface - eingeben

und OK waumlhlen Die Verbindung zwischen Computer und Interface wurde

uumlber einen USB-Seriell-Adapter hergestellt Dann erschei-nen zwei zusaumltzliche Eintraumlge (Motorola Comp Modem und COM5) in der Liste Prinzipiell muss eine COMx-Verbindung gewaumlhlt werden

Eigenschaften von COM 5 wie im Bild einstellen und OK

waumlhlen DateiEigenschaften aufrufen und ASCII-Konfiguration

waumlhlen

63

Haken bei Eingegebene Zeichen lokal ausgeben (lokales

Echo) setzen um eingegebenen Zeichen im Hyperterminal zu sehen

Bei funktionsfaumlhiger Verbindung erscheint nach Eingabe von Return die Befehlsliste des Interface

Durch Aufrufen von DateiSpeichern die erstellte Verbin-

dung z B auf dem Desktop speichern Dadurch braucht die Verbindung nicht immer wieder von neuem konfiguriert wer-den

Nach Aufrufen von DateiBeenden die bestehende Verbin-dung mit Ja beenden

64

Wurde ein falscher COM-Port gewaumlhlt reagiert das Inter-

face auf die Eingabe Return nicht Hyperterminal dann beenden

Der COM-Port kann dann nicht unter DateiEigenschaften im Hyperterminal aber unter Eigenschaften des Kontext-menuumls der Datei Interfaceht in der Registerkarte Verbin-den mit geaumlndert werden Dann OK waumlhlen und erneut Verbindung testen

65

455 Fernwartungssoftware TeamViewer 6 Host Auf der Webseite von Teamviewer GmbH unter Fuumlr unbeaufsichtigte Server TeamViewer Vollversion die Datei TeamViewer_Setup-wq herunterladen Das Programm muss auf dem RCL-Server und dem Computer der auf den RCL-Server zugreifen soll installiert werden Durch Doppelklick auf die Datei die Installation starten

Ausfuumlhren waumlhlen Weiter waumlhlen

Fuumlr die private nicht kommerzielle Nutzung ist Teamviewer kostenlos

privat nicht-kommerziell und Weiter waumlhlen

Beide Haumlkchen setzen und Weiter waumlhlen

66

Ja un Weiter waumlhlen Weiter

Computername und Kennwort fuumlr den Zugriff auf den RCL-Server oder den eigenen Computer vergeben Kenn wort notie-ren

Ein Teamviewerkonto ist nicht erforderlich Kann auch spaumlter noch eingerichtet werden

ID fuumlr den Computer auf dem das Programm installiert wird fuumlr Zugriff notieren

Das Programm wird gestartet Standardmaumlszligig vorein-gestellt ist der Start des Programms beim Start des Be-trienssystems

67

46 Selbstbau eines elementaren RCLs 461 Hard- und Software Auch ohne gleich ein vielleicht teures physikalisches Experiment zu steuern laumlsst sich mit wenigen Bauelementen ein elementares RCL realisieren Von einer Webseite im Internet sol-len eine Leuchtdiode (LED) ein- oder ausgeschaltet sowie der Zustand der Leuchtdiode und eines Tasters abgefragt werden An Hard- und Software werden benoumltigt

1 Low-Current-LED 5 mm 2 mA 1 Widerstand 18 kΩ 1 Taster und optional zwei 10-polige Wannenstecker mit ungefaumlhr 10 cm passendem Flachbandkabel und Buchsen

Interface in Basisschaltung Null-Modem-Kabel 12 V DC Steckernetzteil (larr 1)

Installierte Bascom-Demo-Version (larr 42)

AVR ISP-Programmer mit 10-poligem Programmierkabel

Installiertes und konfiguriertes AVR Studio 418 (larr 41)

Installiertes Paket XAMPP (larr 52)

Texteditor wie z B Notepad in Windows XP Professional

Konfigurierte Hyperterminalverbindung (larr 54)

462 Bestuumlckung der Platine Abb 29 zeigt zur Orientierung fuumlr das Einloumlten der Bauelemente die fertig bestuumlckte Platine des Interface

Abb 29 Mit elementarem RCL bestuumlckte Platine

des Interface

LED mit Vorwiderstand und der Taster sind rechts neben dem Mikrocontroller im Lochraster-bereich aufgebaut und uumlber Wannenstecker und Flachbandkabel mit dem Port A des Mikro-controllers verbunden (die drei Bauteile rechts neben dem ATmega16 werden nicht benouml-tigt) Tab 13 erlaumlutert die Schritte zur Bestuumlckung der Platine des Interface

68

Nr Schaltung Erlaumluterung

1

Die Leuchtdiode (LED) mit dem Pluspol (langes Beinchen) an PortA0 (PIN40 oben rechts) des Mikrocontrollers anloumlten

An das kurze Beinchen einen 18kΩ Widerstand loumlten dessen anderes Ende mit der Masse (GND) verbinden

2

Den Taster mit PortA1 (PIN39 = 2 Beinchen von oben rechts) und Masse (GND) verbinden

3

Draufsicht

Belegung des 10-poligen Wannensteckers 1 GND (Masse) im Foto oben links 2 +5 V 3 PortA0 4 PortA1 10 PortA7 im Foto unten rechts

Tab 13 Schritte zum Aufbau des elementaren RCLs

463 Lokal gesteuertes RCL Nachfolgend ist der Basic-Programmcode des Mikrocontrollers zur Steuerung und Abfrage der LED und des Tasters angegeben 01 $regfile = m16DEFdat Microcontroller ATmega16 02 $crystal = 11059200 110592MHz Quarz 03 $baud = 9600 Baudrate 04 05 ---[ Variables ]--------------------------------------------------------------- 06 Dim Rs232kommando As String 10 erst Befehlspuffer dann Kommando 07 Dim Parameter As String 10 Parameter 08 Dim Str_pos As Byte Position von Leerzeichen zur Trennung von Kommando und Pa-rameter 09 10 ---[ Initialisierung ]--------------------------------------------------------- 11 Ddra0 = 1 PortA0 als Ausgang fuumlr LED 12 Porta0 = 0 LED aus 13 Ddra1 = 0 PortA1 als Eingang fuumlr Taster 14 Porta1 = 1 Pull-Up aktivieren 15 16 ---[ Main program loop ]------------------------------------------------------- 17 Do Start der Endlos-Schleife 18 19 If Ischarwaiting() = 1 Then Zeichen uumlber RS232 empfangen 20 Input Rs232kommando neues Kommando lesen 21 Parameter = Parameter initialisieren 22 Str_pos = Instr(rs232kommando ) Leerzeichen im Kommando suchen 23 If Str_pos gt 0 Then falls Leerzeichen dann in Kommando+Parameter zerlegen 24 Incr Str_pos Str_pos soll jetzt auf 1Zeichen des Parameters zeigen 25 Parameter = Mid(rs232kommando Str_pos ) Parameter = Teilstring nach Leerzeichen 26 Parameter = Ucase(parameter) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 27 Str_pos = Str_pos - 2 Str_pos soll jetzt auf letztes Zeichen des Kommandos zeigen 28 Rs232kommando = Left(rs232kommando Str_pos)Kommando = Teilstring vor Leerzeichen 29 Rs232kommando = Ucase(rs232kommando) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 30 End If 31 32 Select Case Rs232kommando Eventhandler Interpretation der Kommandos 33 Case Print Hilfe Hilfeseite anzeigen 34 Print LED on - LED einschalten 35 Print LED off - LED ausschalten 36 Print LED - zeigt Status der LED an 37 Print SW - zeigt Status des Schalters an 38

1K8

LED rotmicroC PortA0(PIN40)

Taster

microC PortA1(PIN39)

1

3

2

69

39 Case LED If Parameter = ON Then LED schalten 40 Porta0 = 1 41 End If 42 If Parameter = OFF Then 43 Porta0 = 0 44 End If 45 46 Case LED If Porta0 = 0 Then Status der LED ausgeben 47 Print LED aus 48 Else 49 Print LED an 50 End If 51 52 Case SW If Pina1 = 1 Then Status des Schalters ausgeben 53 Print Taster offen 54 Else 55 Print Taster geschlossen 56 End If 57 58 Case Else Print gt Rs232kommando lt ungueltiger Befehl - weitere Infos mit Info bei unguumlltigen Eingaben 59 End Select 60 61 End If 62 63 Loop Endlos-Schleife Springe zu Do 64 65 End wird nie erreicht

Der erste Teil des Programms (Zeilen 1 - 15) enthaumllt die Systemparameter Variablen und Initialisierung der Ein- und Ausgaumlnge Der zweite Teil enthaumllt ab Zeile 17 das Hauptpro-gramm in dem Benutzereingaben uumlber die serielle Schnittstelle empfangen interpretiert und in entsprechende Anweisungen umgesetzt werden Tab 14 erlaumlutert den Programmcode de-taillierter

Zeilen Erlaumluterung

1 - 3 Diese Angaben teilen dem Compiler (Bascom) mit welcher Prozessor eingesetzt wird wie schnell dieser getaktet (Quarz) ist und mit welcher Uumlbertragungsgeschwindigkeit die Kommunikation uumlber die serielle Schnittstelle (RS232) mit dem PC erfolgen soll

6 - 8 Es werden drei Variablen genutzt Die Eingabe uumlber die serielle Schnittstelle wird in rs232kommando gespeichert Es wird ein Text der Form Kommando ltLeerzeichengt Parameter erwartet so dass die Variable Parameter den-selbigen aufnimmt Die Variable str_pos wird fuumlr die Trennung von Kommando und Parameter benoumltigt

11 - 14

Mit dem Befehl ddrPX (ddr = data direction) wird festgelegt ob ein Beinchen als Ausgang (=1) oder als Eingang (=0) arbeiten soll Der ATmega16 besitzt 32 Ein-Ausgaumlnge die in vier Ports (P=AD) zu je 8 Pins (X=07) unterteilt sind ddrA0 = 1 legt also das 1 Beinchen (Pin 0) von PortA als Ausgang (=1) fest Mit dem Befehl PortA0 =1 kann dieser Pin dann durch Zuweisen von 1 oder 0 an- bzw ausgeschaltet werden Im Datenblatt erfahren Sie welches der 40 Beinchen des Mikrocontrollers wie bezeichnet wird (Pin-Belegung) Wird ein Beinchen als Eingang verwendet (ddrA1 = 0) koumlnnen Sie optional einen so genannten Pull-Up-Widerstand aktivieren (PortA1=1) oder deaktivieren (PortA1=0) Auch hierzu sollten Sie sich unbedingt mit dem Datenblatt vertraut machen

17 63 Das Hauptprogramm besteht aus einer Endlosschleife d h der Mikrocontroller verrichtet ununterbrochen seinen Job so lange er mit Strom versorgt wird

19 - 30 Falls ein Zeichen uumlber die serielle Schnittstelle empfangen wurde wird dieses und alle folgenden gelesen Anschlie-szligend wird gepruumlft ob der empfangene Text von der Form Kommando ltLeerzeichengt Parameter ist so dass er ge-gebenenfalls in ein Kommando und einen Parameter zerlegt werden kann

32 - 59 Dieser Abschnitt wird mit Event-Handler bezeichnet Hier wird auf die Kommandos (Events) reagiert und die ent-sprechenden Schritte ausgefuumlhrt zB schalten LED je nach Wert der Variablen Parameter an- bzw ausschalten

46 52

In beiden Zeilen wird ein Wert eines Ports abgefragt Unterschiedlich ist dass in Zeile 46 der Status eines Ausgangs abgefragt wird (porta0) und in Zeile 52 der Zustand eines Eingangs (pina0) Die Anweisung IF porta0 = 0 THEN pruumlft (hier ist = ein Vergleich und KEINE Zuweisung) ob zuletzt die LED ausgeschaltet (Zuweisung porta0 = 0) wurde Die Anweisung IF pina1= 1 THEN liest den Status eines Eingangs Hier kann festgestellt werden ob der Eingang uumlber den internen Pull-UP-Widerstand auf +5V liegt (pina1 liefert 1) oder ob der Schalter den Eingang mit Masse (0V) verbindet (pina1 liefert 0)

Tab 14 Erlaumluterung des Mikrocontroller-Programmcodes fuumlr elementares RCL

70

In Bascom AVR eine neue Datei erzeugen (FileNew) den Programmcode ohne Kommenta-re eingeben und mit ProgramCompile (F7) eine Hexadezimaldatei erzeugen Die Hexadezi-maldatei mit dem AVR-Studio und dem AVR-ISP-Programmer in den Mikrocontroller schrei-ben (larr 222 Programmuumlbertragung) Nach dem Verbinden von Computer und Interface per Null-Modem-Kabel kann durch Eingabe von in das konfigurierte Hyperterminal die Befehls-liste in Abb 30 aufgerufen werden

Abb 30 Aufgerufene Befehlsliste im Hyperterminal

Durch Eingabe von LED on oder LED off kann die LED ein- und ausgeschaltet LED zeigt den Status der LED und sw den Status des Tasters an Alternativ zum Hyperterminal kann auch das Terminal in BASCOM unter ToolsTerminal Emulator verwendet werden (larr 422)

464 Ferngesteuertes RCL Zum Ansteuern des Interfaces und zum Bedienen des Versuchsaufbaus uumlber das Internet wird eine Webseite benoumltigt die dem Benutzer alle Bedienelemente des Experiments zur Verfuumlgung stellt

Der Benutzer benoumltigt anklickbare Buttons im Webbrowser

Der Webserver muss die Information welcher Button gedruumlckt wurde empfangen und ein entsprechendes Kommando uumlber die serielle Schnittstelle an das Interface senden

Beide Schritte sind im nachfolgenden PHPHTML-Quellcode zusammengefasst 01 ltDOCTYPE HTML PUBLIC -W3CDTD HTML 401 TransitionalEN httpwwww3orgTRhtml4loosedtdgt 02 lthtmlgt 03 ltheadgt 04 ltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1gt 05 lttitlegtelementares RCLlttitlegt 06 ltheadgt 07 08 ltbodygt 09 ltphp 10 if (isset($_POST[Kommando])) wurde bereits Kommando gesendet 11 if( ( $handle = fopen( COM1 w+ ) ) ) Schnittstelle oumlffnen 12

71

13 throw new Exception( Can not access serial port 2 ) ohne Erfolg 14 15 fwrite( $handle $_POST[Kommando] chr( 13 ) ) Befehl an Interface senden 16 switch ( $_POST[Kommando] ) Antwort von Interface auswerten 17 case LED $tmp = fgets( $handle ) Echo von Interface ignorieren 18 $antwort = fgets( $handle ) Antwort des Interfaces 19 echo Antwort $antwort Ausgabe auf Webseite 20 break switch verlassen 21 22 case SW $tmp = fgets( $handle ) Echo von Interface ignorieren 23 $antwort = fgets( $handle ) Antwort des Interfaces 24 echo Antwort $antwort Ausgabe auf Webseite 25 break switch verlassen 26 27 28 29 fclose( $handle ) Schnittstelle schlieszligen 30 31 else 32 `mode com1 BAUD=9600 PARITY=N data=8 stop=1 xon=off` Schnittstellenparameter setzen 33 34 35 gt 36 37 lth3gtBefehl sendenlth3gt 38 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 39 ltinput type=hidden name=Kommando value=LED ON gt 40 ltinput type=submit value=LED anschalten gt 41 ltformgt 42 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 43 ltinput type=hidden name=Kommando value=LED OFF gt 44 ltinput type=submit value=LED ausschalten gt 45 ltformgt 46 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 47 ltinput type=hidden name=Kommando value=LED gt 48 ltinput type=submit value=LED abfragen gt 49 ltformgt 50 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 51 ltinput type=hidden name=Kommando value=SW gt 52 ltinput type=submit value=Taster abfragen gt 53 ltformgt 54 ltbodygt 55 lthtmlgt Den Quellcode in den Texteditor kopieren und im Ordner htdocs von XAMPP z B unter rclphp speichern HTML-Dateien mit PHP-Code (Zeilen 9-35) muumlssen mit der Erweiterung php gespeichert werden damit der Apache Webserver zwischen HTML-Seiten mit und ohne PHP-Code unterscheiden kann Den installierten Apache Webserver starten (larr 452) und im Adressfeld des Webbrowsers die IP-Adresse http127001rclphp aufrufen Das Bedi-enfeld des elementaren RCLs in Abb 31 wird im Browserfenster angezeigt

72

Abb 31 Laborseite des elementaren RCLs

Im Bedienfeld kann die LED an- und ausgeschaltet sowie der Status von LED und Taster abgefragt werden

  • 0 Warum ein Tutorial zur RCL-Technik
  • 1 Technische Konzeption
    • 11 Einfuumlhrung
    • 12 Wahl der RCL-Technik
      • 2 Lokal gesteuertes RCL
        • 21 Interface
          • 211 Mikrocontroller
          • 212 Basisschaltung und Erweiterungsschaltungen
          • 213 Programmierung des Mikrocontrollers
            • 22 Hyperterminal
            • 23 Positionieren von Objekten
              • 231 Hybrid-Schrittmotoren
              • 232 Schrittmotorsteuerung und Positionierungsmechanik
                  • 3 Ferngesteuertes RCL
                    • 31 RCL-Server
                    • 32 Laborseite
                      • 321 Steuerung des RCLs uumlber das Bedienfeld
                      • 322 Videouumlbertragung im Webcamfeld
                        • 33 Standard-Lernumgebung
                          • 4 ANHANG
                            • 41 Interface in Basisschaltung
                              • 411 Schaltplan und Bauteilliste
                              • 412 Bestuumlckung der Platine
                                • 42 Erweiterungsschaltungen
                                  • 421 Uumlbersicht
                                  • 422 TMC222-Modul zur Schrittmotorsteuerung
                                    • 4221 Schaltplan und Bauteilliste
                                    • 4222 Bestuumlckung der Platine
                                    • 4223 Quellcode des Mikrocontroller-Programms
                                      • 423 Geschaltete Spannungsquellen und Verbraucher
                                      • 424 Steuerung von Gleichstrommotoren
                                        • 43 Quellcodes zum RCL Elektronenbeugung
                                          • 431 Mikrocontroller-Programmierung
                                          • 432 PHP-Programmierung
                                          • 433 Bedienfeld der Laborseite
                                          • 434 Webcamfeld der Laborseite
                                            • 44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung
                                              • 441 AVR-Studio 418
                                                • 4411 Installation
                                                • 4412 Konfiguration
                                                  • 442 BASCOM 11198 Demoversion
                                                    • 4421 Installation
                                                    • 4422 Konfiguration
                                                        • 45 Installation und Konfiguration von Programmen auf dem RCL-Server
                                                          • 451 Einrichten des Internet-Zugangs
                                                          • 452 Paket XAMPP 174
                                                          • 453 Videoserver webcamXP 5 Private
                                                          • 454 Terminalprogramm Hyperterminal
                                                          • 455 Fernwartungssoftware TeamViewer 6 Host
                                                            • 46 Selbstbau eines elementaren RCLs
                                                              • 461 Hard- und Software
                                                              • 462 Bestuumlckung der Platine
                                                              • 463 Lokal gesteuertes RCL
                                                              • 464 Ferngesteuertes RCL

26

Zu Problemen koumlnnen undefinierte Zustaumlnde der Eingaumlnge des Mikrocontrollers fuumlhren wie sie beim Prellen dem zeitlich begrenzten schwingen eines Tasters beim Oumlffnen oder Schlieszligen entstehen Abhilfe schafft ein passend dimensionierter parallel zum Taster ge-schalteter Kondensator Bei geoumlffnetem Taster ist der Kondensator aufgeladen Beim Schlieszligen haumllt der Kondensator die Spannung uumlber die Schwingphase trotz kurzzeitig wieder geoumlffnetem Schalter noch aufrecht Analoges gilt fuumlr den Uumlbergang vom geschlos-senen zum geoumlffneten Taster

3 Ferngesteuertes RCL 31 RCL-Server Fuumlr den Betrieb eines RCLs wird ein RCL-Server benoumltigt (larr 11) Vorausgesetzt wird dass bei einem neuen Computer alle notwendigen Treiber (Ethernet Video Audio hellip) zum Be-trieb der Hardware des Computers und Windows XP Professional mit Service Pack 3 instal-liert sind Ein Benutzerkonto braucht nicht angelegt zu werden

Der RCL-Server benoumltigt einen Internetzugang mit statischer IP-Adresse und Uploaddatenra-te von mindestens 200 kbits (DSL 2000) fuumlr die fluumlssige Wiedergabe von Bewegungen in Webcambildern Die statische IP-Adresse wird von der Institution am Standort des RCLs vergeben oder kann von Privatpersonen bei einem Provider beantragt werden Mit folgenden Schritten wird der RCL-Server eingerichtet

Internetzugang einrichten (rarr 451) und im Browser testen

Checken ob die Windows Firewall aktiviert ist

Virenschutzproramm Avira Antivir Personal herunterladen (larr Tab 1) installieren und ak-tualisieren

Uumlber Windows Update alle Updates von Windows XP Professional installieren

Fernwartungssoftware TeamViewer 6 Vollversion (larr Tab 1) herunterladen und auf dem RCL-Server und dem eigenen Computer installieren (rarr 455)

Webeditor Notepad++ herunterladen installieren und aktualisieren (larr Tab 1)

Videoserver WebcamXP 5 herunterladen und installieren (rarr 453)

Paket XAMPP herunterladen und installieren (rarr 452) Verknuumlpfungen mit den Dateien xampphtdocsapache_startbat und xampphtdocsapache_stopbat auf dem Desktop oder in der Schnellstartleiste erstellen und Webserver mit erstgenannter Verknuumlpfung starten Webserver durch Eingabe von 127001 oder localhost ins Adressfeld des Brow-sers testen Bei erfolgreichem Test werden die im Ordner xampphtdocs abgelegten Webseiten von XAMPP dargestellt Statische IP-Adresse des RCL-Servers im Browser eines anderen Computers mit Internetzugang eingegeben Bei erfolgreichem Test werden die Webseiten von XAMPP dargestellt In der Datei xamppphpphpini unter Resource Limits die max_execution_time mit dem Windows-Editor von 60 auf 300 erhoumlhen und die

27

Datei speichern damit PHP bei Befehlen mit laumlngerer Ausfuumlhrungsdauer keine Fehler-meldung liefert

Ordner xampphtdocs mit den Webseiten von XAMPP in xampphtdocs_xampp um-benennen und fuumlr spaumltere Testzwecke nicht loumlschen RCL-Ordner htdocs herunterladen (larr Tab 1) extrahieren und in das Verzeichnis xampp verschieben

Abb 16 zeigt die Struktur des RCL-Ordners htdocs

Abb 16 Struktur des RCL-Ordners htdocs RCL-spezifisch anzupassende Dateien sind grau

hinterlegt

Der geoumlffnete Ordner Labor enthaumllt alle PHP- und HTML-Dateien bzw Programmierungen fuumlr die Funktionalitaumlt des Bedienfelds der Laborseite (larr 11 Abb 3) An das RCL anzupas-sen sind die portalsprachenunabhaumlngigen Dateien configphp und experimentphp sowie fuumlr jede Portalsprache die Dateien defaultconf und experimenttpl in den Ordnern eng fra ger und ita

Datei configphp Zeit bis zum automatischen Logout beim Experimentieren mit dem RCL eintragen

Datei experimentphp PHP-Basisprogrammierung um die RCL-spezifische PHP-Programmierung erweitern (rarr 432)

Datei defaultconf Name des RCLs (z B Elektronenbeugung) in jeder Portalsprache ein-getragen

Datei experimenttpl HTML-Basisprogrammierung um RCL-spezifische Ein- und Ausga-befelder erweitern (rarr 433)

28

32 Laborseite 321 Steuerung des RCLs uumlber das Bedienfeld Das Bedienfeld der Laborseite (larr 11 Abb 3) wird von der Dateien indexphp und experi-menttpl erzeugt Befehle wie das Anklicken von Buttons Eingaben und Auswahl aus Listen werden in ein HTML-Formular mit Formularfeldern in der Datei experimenttpl geschrieben Die Daten werden von der PHP-Datei experimentphp ausgewertet und uumlber die serielle Schnittstelle dem Mikrocontroller-Programm zur Steuerung des Experiments uumlbergeben Die Dateien experimentphp und experimenttpl wurden getrennt angelegt um Code und Design zu trennen und nur das Design in der Datei experimenttpl an die Portalsprache anpasst werden muss

Tab 5 enthaumllt Ausschnitte der HTML-Datei experimenttpl (rarr 433) der Datei experi-mentphp (rarr 432) und des Mikrocontroller-Programms (rarr 431) fuumlr das RCL Elektronen-beugung

29

Code mit Erlaumluterung

expe

rimen

ttpl

1821 Tag ltformgtltformgt definiert ein Formular 18 Attribut action legt fest dass Formulardaten in der Datei indexphp verarbeitet werden Uumlbertragen

werden eine Session-ID ($sid) um exklusiven Zugriff des jeweilgen Besuchers zu sichern und ($portal) um die vom Besucher gewaumlhlte Sprache beizubehalten post ist eine Uumlbertragungsmethode zwischen Browser und Webserver und gibt die die vom Besucher gewaumlhlte Aktion zum Ansteuern des Experiments an die Datei experimenttpl weiter

20 Erzeugt im Bedienfeld den Sendebutton (submit) mit der Aufschrift Elektronenroumlhre einschalten (valu-e)

19 Unsichtbares Feld (hidden) mit Variablennamen action und Wert RoumlhreAn Der Variablenname ac-tion stimmt nur zufaumlllig mit action in Zeile 18 uumlberein

expe

rimen

tphp

24 Die Funktion wird als Eventhaumlndler bezeichnet weil je nach uumlbergebener Aktion - siehe Zeile 19 in experi-

menttpl - die entsprechenden Anweisungen (case) ausgefuumlhrt werden 37 Fuumlr den Fall dass die Variable $action den Wert RoumlhreAn hat wird die Funktion power_on() aufgeru-

fen

59 Schreibt in die Logdatei logtxt den Text RoumlhreAn 6061 Oumlffnet den in der Datei configphp zentral gespeicherten Com-Port an den das Interface angeschlossen ist

oder gibt Fehlermeldung Can not access file system im Bedienfeld aus falls der Com-Port sich nicht oumlff-nen laumlsst

62 Sendet die Zeichenfolge On und chr(13) (entspricht der Betaumltigung der Return-Taste im Hyperterminal) an den Mikrocontroller

63 Schlieszligt serielle Schnittstelle

Que

llcod

e M

ikro

cont

rolle

r

166 Wird uumlber die serielle Schnittstelle der Befehl on empfangen und ist das Einschalten zulaumlssig (Zeiten fuumlr

PowerOnDelay und Standby abgelaufen) dann hellip 167 Hochspannungsnetzgeraumlt einschalten 168 Der DA-Wandler PCF8591 wird unter seiner Adresse PCF8591 = 01001000 angesprochen Parameterein-

stellungen mit 01000000 und Ausgangsspannung auf 0 V einstellen 169 Setzt Standby auf vorgegebene Standbyzeit zuruumlck 171 Gibt Meldung aus wie lange PowerOnDelay noch dauert

Tab 5 Uumlbertragung des Befehls Elektronenroumlhre einschalten vom Bedienfeld zum Experi-ment

30

Anhand der Erlaumluterungen der Programmcodes koumlnnen die Ablaumlufe zwischen dem Druumlcken des Buttons Elektronenroumlhre einschalten und dem Einschalten der Elektronenbeugungs-roumlhre oder der Eingabe einer Beschleunigungsspannung und dem Anlegen einer Beschleu-nigungsspannung verfolgt werden Uumlber das Bedienfeld koumlnnen nur die von der Datei expe-rimenttpl bereitgestellten Befehle on und da der insgesamt implementierten Befehle (rarr 22 Abb 10) aufgerufen werden

322 Videouumlbertragung im Webcamfeld Zur Aufnahme von Livebildern des Experiments koumlnnen USB-Webcams und IP-Kameras (Netzwerkkameras) eingesetzt werden Teurere IP-Kameras muumlssen eingesetzt werden wenn die Kamera wie z B beim RCL Roboter im Labyrinth zu weit vom Computer entfernt ist oder eine besonders lichtempfindliche Kamera aus der Uumlberwachungstechnik wie z B beim RCL Millikan-Versuch benoumltigt wird W-LAN-Kameras kommen zum Einsatz wenn Bil-der von einem beweglichen Objekt aus wie z B beim RCL Roboter im Labyrinth uumlbertra-gen werden sollen

Das Videoserverprogramm webcamXP 5 erkennt beim Aufrufen automatisch an den RCL-Server angeschlossenen USB-Webcams Vor dem Kauf einer IP-Kamera ist zu pruumlfen ob das Modell unterstuumltzt wird14 IP-Kameras muumlssen im Kontextmenuuml der Videoquelle konfigu-riert werden Abb 17 zeigt das Webcambild einer USB-Webcam vom Szintillationsschirm der Elektronenbeugungsroumlhre

Abb 17 Webcambild des Szintillationsschirms der Elektro-

nenbeugungsroumlhre einer USB-Webcam in webcamXP 5 beim RCL Elektronenbeugung

14 Vgl Moonware Studios webcamXP IP-cameras for webcamXP

31

Zum Einbinden des Webcambilds in die Laborseite des RCLs wird die laborsprachenabhaumln-gige Datei videohtm (rarr 434) in den Ordnern eng fra ger und ita verwendet Standardmauml-szligig werden zwei Webcambilder und Screenshots unterstuumltzt der Code fuumlr weitere Webcam-bilder kann durch copy and paste hinzugefuumlgt werden

Unter den Technologien Java Javaskript Flash und Windows Media fuumlr die Wiedergabe ei-nes Livestreams auf eine Webseite wurde Javaskript gewaumlhlt weil die anderen Technologien die Installation des Java Runtime Environments (JRE) des Flash- oder Windows Media Players durch den Besucher eines RCLs voraussetzen Die Wiedergabe des Livestreams mit einem Java-Applet startet zudem erst verzoumlgert nachdem das Applet geladen ist und verfuumlgt uumlber eine zu geringe Wiedergabegeschwindigkeit

33 Standard-Lernumgebung Bestandteil der Entwicklung eines RCLs ist die Erstellung einer Standard-Lernumgebung zum RCL Abb 18 zeigt exemplarisch fuumlr die deutschen Webseiten im Ordner ger das Menuuml (larr 11 Abb 3) und die Dateistruktur der Standard-Lernumgebung

Abb 18 Deutschsprachiges Menuuml und Dateistruktur der Standard-Lernumgebung

RCL-spezifisch anzupassende Dateien sind grau hinterlegt

Die englischen Dateinamen introductionhtm setuphtm hellip im Ordner ger korrespondieren mit den deutschen Menuumlpunkten Wird das RCL unter dem Menuumlpunkt RCLs des RCL-Portals aufgerufen dann ruft die Frameset-Datei indexhtm die Dateien menuumlhtm und intro-ductionhtm auf und das Menuuml wird zusammen mit der Webseite Einstieg dargestellt Die Wahl weiterer Menuumlpunkte ruft jeweils die korrespondiere Datei im Ordner auf Bei Wahl des Menuumlpunkts Labor werden mit der Frameset-Datei laboratoryhtm die Dateien videohtm fuumlr das Webcamfeld und die Datei laborindexphp fuumlr das Bedienfeld aufgerufen

32

Im Ordner docsmaterial werden alle Dokumente fuumlr die Webseite Material im Ordner docsothers die Dokumente anderer Webseiten abgelegt Im Ordner docsoriginals sind die Originale von Dokumenten wie z B Word-Dateien und der verwendeten Bilder abgelegt Grafikdateien der Webseiten Einstieg hellip Auswertung hellip Betreuung werden in gleichnami-gen Ordnern wie z B imagesanalysis abgelegt Bei sprachenunabhaumlngigen Grafikdateien wird unter dem Dateinamen abbx bei sprachenabhaumlngigen unter dem Dateinamen abbx_lan mit lan = eng fra ger und ita gespeichert Analoges gilt fuumlr die als gif-Grafiken forxgif oder forx_langif zu speichernden Formeln Originale von Bildern werden im Ordner imagesoriginals abgelegt Die Webseite zur Datei htdocsindexhtm enthaumllt zum lokalen Aufrufen der Standard-Lernumgebung Links zu den vier Index-Dateien in den Ordnern eng fra ger und ita Die Stylesheet-Datei htdocsrcl_stylecss enthaumllt die Styles der Webseiten

In der Regel werden Standard-Lernumgebungen der RCLs des RCL-Portals von verschiede-nen Personen erstellt Fehlende Gestaltungs- und Formatierungsregeln fuumlhren zu einem un-einheitlichen inattraktivem Erscheinungsbild des RCL-Portals Tab 6 gibt einen Uumlberblick der wichtigsten Gestaltungs- und Formatierungsregeln

Element Richtlinien

Gliederung

Die Webseiten Einstieg Aufbau Aufgaben Diskussion Material und Support enthalten vorgegebene Gliederungspunkte teilweise mit ausgefuumlhrten Uumlberschriften

Die umfangreicheren Webseiten Theorie und Auswertung enthalten ein Inhaltsverzeichnis mit internen Links zu Gliederungspunkten Zwischen Punkten der ersten Gliederungsebene (1 2 hellip) ist ein zwei-zeiliger Abstand (ltpgtampnbspltpgtltpgtampnbspltpgt) zwischen Punkten der zweiten (11 12 hellip) und Punkten der nur falls unbedingt notwendig dritten 111 112 hellip) Gliederungsebene ein einzeiliger Abstand zu waumlhlen Nach Abbildungen und Tabellen folgt ein einzeiliger Abstand zum nachfolgenden Text

Links Keine internen Links zwischen den Webseiten der Lernumgebung Externe Links werden prinzipiell in einem neuen Browserfenster geoumlffnet (blank)

Abbildung

Alle Abbildungen erhalten fortlaufend beginnend mit 1 nummerierte Abbildungsunterschriften der Form Abb x hellip

Abbildungen sind moumlglichst spachenunabhaumlngig d h ohne Texte in der Abbildung zu erstellen Zur Beschriftung koumlnnen z B Zahlen verwendet werden die in der Abbildungsunterschrift oder im Text er-laumlutert werden

Tabellen Tabellen werden in jeder Webseite fortlaufend beginnend mit 1 nummeriert Tabellen sind zu zentrieren Rahmenstaumlrke 1

Formeln

Formeln sind nicht als Textzeichen oder Grafik im laufenden Text einzufuumlgen sondern stets zentriert in einer eigenen Zeile als gif-Grafik

Zum Erstellen der Formel-Grafiken eignet sich z B der Formel-Editor MathType15 mit der Aufloumlsungs-Einstellung 120 dpi fuumlr InternetGif

Formeln brauchen im Rahmen des begrenzten Umfangs der Webseiten nicht nummeriert zu werden Groumlszligen-symbole

Griechische Groumlszligensymbole und mathematische Symbole sind nicht als Grafiken im laufenden Text sondern als HTML-Code einzufuumlgen Eine Zeichenreferenz findet sich bei Selfhtml16

Styles Zur Formatierung der Webseiten werden aus der Stylesheet-Datei nur die drei Styles Uumlberschrift fuumlr

die Uumlberschriften Bildunterschrift fuumlr Abbildungs- und Tabellenunterschriften und Tabellentext fuumlr Tex-te in Tabellen benoumltigt

Tab 6 Richtlinien zur Gestaltung und Formatierung der Standard-Lernumgebung

Detailliertere Informationen zum Layout der Standard-Lernumgebung koumlnnen dem RCL-Ordner und dem Erscheinungsbild der Webseiten von RCLs in Browsern entnommen wer-den

15 Vgl Design Science MathType 16 Vgl Selfhtml HTML-Zeichreferenz

33

4 ANHANG

34

41 Interface in Basisschaltung 411 Schaltplan und Bauteilliste Abb 19 zeigt den Schaltplan der Basisschaltung des Interface und Tab 7 die dazugehoumlrige Bauteilliste

Abb 19 Basisschaltung des Interface

Nr Anzahl Kurzbeschreibung des Bauteils Best-Nr bei Reichelt electronic

Einzelpreis in euro

0 1 Epoxyd-Platine (190x112 mm) mit Anteil Loumltpunktraster (Spezi-

alanfertigung) - asymp 10

1 1

Epoxyd-Fotoplatine einseitig 160x100 mm 15 mm 35 microm Epoxyd-Lochrasterplatine 160x100 mm 15 mm 35 microm

BEL 160x100-1 UP 832EP

170 420

1 1 Hohlstecker-Einbaubuchse gewinkelt Loumltfahnen 21 mm HEBW 21 018 2 1 D-SUB-Stecker 9-polig gewinkelt RM 94 D-SUB ST 09EU 029 3 1 Schottky Diode DO41 40 V 1 A SB 140 008 4 1 Draht von abgeschnittenem Beinchen aus Pos-Nr 3 - - 5 1 IC-Sockel 16-polig superflach gedreht vergoldet GS 16P 029 6 1 IC-Sockel 40-polig superflach gedreht vergoldet GS 40P 061 7 1 2x10-pol-Stiftleiste gerade RM 254 SL 2X10G 254 007 8 1 Metallschichtwiderstand 100 kΩ Metall 100k 0082 9 1 Elektrolytkondensator 10x16 mm 470 microF RM 50 mm RAD 47025 006 10 1 Elektrolytkondensator 63x11 mm 100 microF RM 25 mm RAD 10016 004 11 5 Elektrolytkondensator 5x11 mm 10 microF RM 20 mm RAD 1035 004 12 2 Keramik-Kondensator 33 pF Kerko 33p 006 13 3 Vielschicht-Keramikkondensator 100 nF 20 Z5U-25 100n 004

35

14 1 Standardquarz Grundton 110592 MHz 110592-HC49U-S 018 15 1 Spannungsregler 1 A positiv TO-220 microA 7805 028 16 1 Kuumlhlkoumlrper fuumlr Gehaumluse TO-220 99KW V FI356 066 17 1 Zylinderkopfschraube Schlitz M3 10 mm fuumlr Kuumlhlkoumlrper M3x10mm 160 18 2 Sechskantmutter M3 fuumlr Kuumlhlkoumlrper SK M3 001 19 1 Stecker-Schaltnetzteil 12 V 2250 mA MW 3IP25GS 1150 20 1 RS232-Driver DIL-16 MAX 232 CPE 041 21 1 ATmega AVR-RISC-Controller DIL-40 ATmega16-16 DIP 420 22 3 10-poliger Wannenstecker RM 254 stehend (optional) WSL 10G 009 23 1 14-poliger Wannenstecker RM 254 stehend (optional) WSL 14G 014 24 1 40-polige Stiftleiste 1-reihig gerade RM254 (optional) SL 1x40G 254 023 25 1 Kunststoffgehaumluse 1982x1124x760 mm (Serientyp 202) - asymp 10 euro 26 1 D-SUB Nullmodem-Kabel 9-pol BUBU 3 m AK 143 155 27 x DIN-Einbaubuchse 5-pol Schraubver 360deg (optional) DIO-50W EMS 185 28 x DIN-Einbaubuchse 8-polig Schraubversch 270deg (optional) DIO-80SN EMS 180 29 x Pfostenstecker 10-polig mit Verrieglung gew (optional) PSL 10W 028 30 x Klemmleiste RM 254 Oumlffnungshebel 8-polig (optional) Wago 233 220

Tab 7 Bauteilliste mit Bestellnummer und Einzelpreisen der Bauelemente bei Reichelt electronic (Stand 23102010)

Anhand der Bauteilliste in koumlnnen die elektronischen Bauelemente der Basisschaltung (larr Tab 7 Nr 0 ndash 21 optional Nr 22 - 24) bei Reichelt electronic bestellt werden Das Gehaumluse des Interface (larr Tab 7 Nr 25) sollte vom Hersteller HAGOTECH GmbH bezogen werden Weiterhin wird ein Nullmodemkabel (larr Tab 7 Nr 26) zur Verbindung des Interface mit dem Computer benoumltigt Sensoren und Aktoren des Experiments koumlnnen mit optionalen Steck-verbindern (larr Tab 7 Nr 27 - 30) und entsprechende Kabelverbindungen an das Interface angeschlossen werden Die Nummern 0 - 25 stimmen mit der angegebenen Bestuumlckungs-reihenfolge auf der Platine uumlberein Das Interface kostet in der Basisschaltung ca 50 euro

412 Bestuumlckung der Platine Abb 20 zeigt zur Bestuumlckung der Platine benoumltigte Werkzeuge

Abb 20 Werkzeuge zur Bestuumlckung der Platine des Interface

36

Loumltkolben mit feiner Spitze in Meisselform 2 mm oder Loumltstation (1) Loumltzinnabsauger zum Entfernen von Loumltzinn (2) Nasser Schwamm zum Reinigen der Spitze des Loumltkolbens (3) Loumltzinn mit Durchmesser 08 - 10 mm (4) Flachspitzzange zum Biegen von Anschluumlssen der Bauelemente (5) Seitenschneider zum Kuumlrzen der Beinchen von Bauelementen (6) Multimeter zum Pruumlfen der Funktionsfaumlhigkeit der Schaltung (7) Sekundenkleber zur Befestigung von Bauelementen Kleine Bohrmaschine z B von Dremel und 08 mm Bohrer oder duumlnne Rundfeile zum

Weiten von Loumlchern auf der Platine des Interface

Abb 21 zeigt die Platine des Interface von der Loumltseite in der Spezialanfertigung der Elekt-ronik-Werkstatt an der Technischen Universitaumlt Kaiserslautern und in der Selbstbauvariante (larr Tab 7 Nr 0) Abb 22 zeigt das Platinenlayout

Abb 21 Platine des Interface von der Loumltseite als Spezialanfertigung (links) und der Selbstbauvariante

(rechts)

Abb 22 Layout zur Herstellung des geaumltzten Teils der

Platine in der Selbstbauvariante

37

In der Selbstbauvariante kann anhand des Platinenlayouts eine selbst geaumltzte Platine fuumlr die Basisschaltung auf einer Platine im Europakartenformat hergestellt und diese in der Laumlnge gekuumlrzt werden Eine gekuumlrzte Lochrasterplatine bildet den zweiten Teil der Platine Mit den optionalen vier Wannensteckern (larr Tab 7 Nr 22 - 23) oder den vier Stiftleisten (larr Tab 7 Nr 24) an den Ports des Mikrocontrollers koumlnnen leicht elektrische Verbindungen zum Rasterteil der Platine herstellt werden Abb 23 zeigt die fertig bestuumlckte Platine mit den Nummern aus Tab 7

Abb 23 Bestuumlckte Platine des Interface mit nummerierten Bauelementen

Tab 8 beschreibt das Einloumlten der elektronischen Bauelemente anhand der Nummern aus Tab 7 und in der angegebenen Reihenfolge

Nr Bauelement Beschreibung des Einbaus

0 Spezialanfertigung und Selbst-bauvariante der Epoxydharz-

Platine

1

Stromversorgungsbuchse ndash Hohlstecker 21 mm

Wenn die Loumltbeine nicht durch die Loumlcher der Platine passen die Loumlcher mit einer runden Schluumlsselfeile aufweiten

Stromversorgungsbuchse mit Sekundenkleber vor dem Festloumlten auf der Pla-tine fixieren da diese mechanischen Belastungen durch das Einstecken und Herausziehen des 12 V -Steckers ausgesetzt ist

Wahlweise kann die 25 mm-Version der Buchse verwendet werden

2

RS232 Datenstecker

RS232 Datenstecker mit Sekundenkleber vor dem Festloumlten auf der Platine fixieren da dieser mechanischen Belastungen durch das Einstecken und Herausziehen des Null-Modem-Kabels ausgesetzt ist

Alle Beinchen und Befestigungsstifte zur houmlheren Stabilitaumlt anloumlten

3

Ein Ring an einer Seite der Diode (hier links weiszlig) zeigt die Durchlass- bzw Sperrrichtung der Diode an Die Position des Ringes entspricht der Position des Balkens im Schaltungssymbol

38

Diode ndash SB140 Auf der Platine muss der Ring auf der von der Stromversorgungsbuchse ab-

gewandten Seite liegen

4 Drahtbruumlcke

Vor dem Einloumlten des 40-poligen IC-Sockels (Nr 5) muss eine Drahtbruumlcke unter diesem eingeloumltet werden Dazu koumlnnen die abgeschnittenen Beinchen der bereits eingeloumlteten Diode (Nr 3) verwendet werden

5 6

IC-Fassungen

Die 16-polige und 40-polige IC-Fassungen besitzen eventuell eine Markie-rung fuumlr Pin1 (z B Kerbe in der Stirnseite Punkt Pfeilhellip) als Hilfe fuumlr das richtige Einstecken der ICs Die Markierungen muumlssen bei beiden Fassungen nach oben also zum naumlchstliegenden Rand der Platine zeigen

Die ICs unbedingt noch nicht einstecken

7

ISP-Stiftleiste

Die doppelreihige ISP-Stiftleiste dient der Programmierung des Mikrocontrol-lers mit dem AVR-ISP-Programmer (ISP steht fuumlr In System Programming)

ISP-Stiftleiste auf 2 x 5 Stifte kuumlrzen und mit den kurzen Beinchen einloumlten so dass auf die langen Stifte der AVR-ISP-Programmer gesteckt werden kann

8

Widerstand 100 kΩ

Den 100 kΩ-Widerstand rechts neben der ISP-Stiftleiste einloumlten

9

10

11

Elkos

Bei den verwendeten Elektrolyt-Kondensatoren ist die Polung zu beachten (langes Beinchen = Plus-Pol) Weiterhin ist auf den Kondensatoren ein wei-szliger Streifen mit Minus-Zeichen aufgedruckt Die Kondensatoren sollten eine Spannungsfestigkeit von mindestens 16 V besser 25V besitzen

Auf der Kupferseite der Platine zeigt die Form der Loumltaugen die Polung an Rundes Loumltauge = Plus quadratisches Loumltauge = Minus

Der 470 microF Kondensator wird mit dem weiszligen Streifen in Richtung Stromver-sorgungsbuchse direkt unter diese montiert

Der 100 microF Kondensator sitzt direkt unter der 16-poligen IC-Fassung Sein weiszliger Streifen (Minus-Pol) zeigt in Richtung der Stromversorgungsbuchse

Vier der 10 microF Kondensatoren werden links neben der 16-poligen IC-Fassung montiert Deren Polung ist wie folgt Unterster Kondensator Minus nach oben naumlchster Kondensator Minus nach unten die beiden oberen Kondensatoren mit Minus nach oben

Ein weiterer 10 microF Kondensator wird rechts neben die 16-polige IC-Fassung geloumltet Sein Minus-Streifen zeigt nach unten

12

13

Keramik-Kondensatoren

Die Beschriftung 104 bedeutet 10e4 pF = 100 nF Die beiden 33 pF-Kerkos (Keramik-Kondensatoren) werden direkt nebenei-

nander rechts neben die 16-polige IC-Fassung geloumltet Zwei 100 nF-Kondensatoren werden unter dem 470 microF-Elko eingeloumltet ein

weiterer mittig an der linken Seite der 40-poligen IC-Fassung

14

Quarz

Als Quarz wird ein 110592 MHz-Typ verwendet Bei dieser Frequenz ist eine fehlerfreie Kommunikation uumlber RS232 mit 9600 Baud moumlglich Fuumlr den AT-mega16 koumlnnen Quarze bis 16 MHz eingesetzt werden Details siehe Daten-blatt

Der Quarz wird direkt rechts neben die beiden 33 pF-Kerkos geloumltet Die Ori-entierung des Quarz spielt keine Rolle

15

16

17

18

Der Spannungsregler L7805 erzeugt eine stabilisierte Spannung von 5 V Es muss ein Kuumlhlkoumlrper zur Waumlrmeabfuhr vom Spannungsregler verwendet werden

Vor dem Einloumlten zwischen Spannungsregler und Kuumlhlkoumlrper etwas Waumlrme-leitpaste aufgetragen Beide Bauteile fest mit einer Schraube M3x10 und ei-ner 1 Mutter verschrauben

Dann den Spannungsregler einloumlten um 90deg abzubiegen das uumlberstehende Gewinde durch das vorgesehene Loch stecken und alles mit einer 2 Mutter auf der Platine befestigen

1 Mutter

2 Mutter

Schr

aube

L7805

Platine

KuumlhlkoumlrperWaumlrmeleitpaste

Beinchen

Loumlten

39

Spannungsregler L7805 Kuumlhl-koumlrper und Montage

19

Steckernetzteil

Funktionskontrolle vor dem Einsetzen des Mikrocontrollers Polung der Elektrolyt-Kondensatoren (Elkos) pruumlfen Sind alle Beinchen angeloumltet Hat das Loumltzinn an den Beinchen und der Pla-

tine guten Kontakt Sind eventuell zwei benachbarte Beinchen unbeabsichtigt durch Loumltzinn verbunden Alle Loumltverbindungen nochmals genau z B mit ei-ner Lupe pruumlfen

Probeweise das Stecker-Netzteil an die Buchse anschlieszligen Am 100 nF-Kondensator links mittig der 40-poligen IC-Fassung muumlssen 5 V anliegen

Versorgungsspannung unbedingt wieder von der Platine trennen

20

21

ICs MAX232 und ATmega16

Die Nuten auf den ICs am linken Rand muumlssen nach oben zeigen d h Pin1 ist bei beiden ICs in der Abbildung links unten und auf der Platine oben links

Manchmal passen die Beinchen der ICs nicht in die Fassung weil die Fas-sung scheinbar zu schmal ist Dann den IC seitlich mit einer Beinchen-Reihe flach auf den Tisch legen den IC-Koumlrper links und rechts greifen und Bein-chen durch leichten Druck biegen Einzelne verbogene Beinchen vorsichtig mit einer kleinen Flachzange richten

22

23

Wannenstecker 10- und 14-polig

Wannenstecker an den vorgesehe-nen Stellen mit der Nut gegen Ver-polung in Richtung des naumlherliegen-den Platinenrands einloumlten

Die Abbildung rechts zeigt die Pin-Belegung der Wannenstecker

24

Stiftleiste 8-polig 40-pol Stiftleiste in 4 jeweils 8-polige Stuumlcke zerteilen und einloumlten

25

Kunststoffgehaumluse

In der Selbstbauvariante der Platine (Nr 0) vor dem Einsetzten der Platine in das Gehaumluse passend positionierte Kunststoffstege am Gehaumluseboden fest-kleben

Tab 8 Bestuumlckung der Platine des Interface mit Bauelementen

42 Erweiterungsschaltungen 421 Uumlbersicht In Tab 3 sind von RCLs des RCL-Portals Sensoren und Aktoren mit den dazugehoumlrigen Er-weiterungsschaltungen zusammengestellt Da alle RCLs obligatorisch uumlber mindestens eine Webcam verfuumlgen sind diese unter den Sensoren nicht aufgefuumlhrt Die wenigen Erweite-rungsschaltungen fuumlr Sensoren sind unter Sensoren in Klammern aufgelistet Unter Aktoren werden auszliger elektro-mechanischen Wandlern auch gesteuerte Geraumlte oder Bauelemente verstanden Anzeigeinstrumente sind unter Aktoren nur aufgefuumlhrt wenn sie direkt vom In-terface gesteuert werden Mit gekennzeichnete Erweiterungsschaltungen befinden sich au-szligerhalb des Interface

40

RCL Sensoren Aktoren Erweiterungsschaltungen fuumlr Aktoren

Beugung und Interferenz I Referenz-Taster

Schrittmotor (Rotation) Schrittmotorsteuerung Laser-Modul Geschaltete Spannungsversorgung

Beugung und Interferenz II

4 Referenz-Taster Lichtsensor

4 Schrittmotoren (Translation) 4 Schrittmotorsteuerungen 5 Laser-Module Geschaltete Spannungsversorgung LED fuumlr Position des

Lichtsensors Geschaltete Spannungsversorgung

LED fuumlr Linealbeleuchtung Geschaltete Spannungsversorgung

Elektronen-beugung

Hochspannungsnetzgeraumlt Geschaltete Spannungsversorgung Hochspannungsnetzgeraumlt Steuerung der Hochspannung

Fotoeffekt 2 Referenz-Taster Photozelle

2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen

Quecksilberdampflampe Geschaltete Spannungsversorgung

der Drossel fuumlr Quecksilberdampf-lampe

Halbleiter-kennlinien

und Halbleiterkennli-nien - Schuumller-

projekt

Referenz-Taster

Schrittmotor (Rotation) Schrittmotorsteuerung Oszilloskop Geschaltete Spannungsversorgung

Oszilloskop Instrumentenverstaumlrker fuumlr X- und Y-Ablenkung

Multimeter Steuerung Spannungs- oder Strom-anzeige

Heiszliger Draht 4 Endtaster 4 Drehgeber Kurzschlusssensor

4 Gleichstrommotoren 4 Treiber

Zweifarbige LED Steuerung der LED-Farbe

Lichtgeschwin-digkeit

Drehimpulsgeber 2 Taster an Enden

der Eisenbahnstre-cke

2 Schrittmotoren 2 Schrittmotorsteuerungen Oszilloskop Geschaltete Spannungsversorgung

Motor der Lokomotive Steuerung des Ein- und Ausschal-tens und der Bewegungsrichtung

Maut Infrarot-Sensor Gleichstrommotor Geschaltete Spannungsquelle 2 IR-Fernbedienungen Spannungsregler 2-stellige 7-Segmentanzeige LED-Treiber

Millikan-Versuch 2 Referenz-Taster

2 Schrittmotoren 2 Schrittmotorsteuerungen Lichtquelle (LED) fuumlr Millikan-

Kondensator Geschaltete Spannungsversorgung

Airbrush-Kompressor Geschaltete Spannungsversorgung Magnetventil Geschaltete Spannungsversorgung Millikan-Kondensator Gesteuertes Hochspannungsmodul

Optische Com-putertomogra-

phie

2 Referenz-Taster 2 Lichtsensoren

Schrittmotor (Rotation) Schrittmotorsteuerung Schrittmotor (Translation) Schrittmotorsteuerung

2 Laser-Module 2 geschaltete Spannungsversor-gungen

Optische Fou-rier-

Transformation 2 Referenz-Taster

2 Schrittmotoren (Translation) 2 Schrittmotorsteuerungen

Laser-Modul Geschaltete Spannungsversorgung

Oszilloskop Oszilloskop Geschaltete Spannungsversorgung Signalgenerator Steuerung der Signalart

Radioaktivitaumlt 4 Referenz-Taster Geiger-Muumlller-

Zaumlhlrohr

2 Schrittmotoren (Translation) 2 Schrittmotorsteuerungen 2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen 4-stellige 7-Segment-Anzeige Treiber Elektromagnet Geschaltete Spannungsversorgung

Roboter im Labyrinth Infrarot-Sensor

2 Schrittmotoren 2 Schrittmotorsteuerung Infrarot-Sender Treiber

Rutherfordscher Streuversuch

2 Referenz-Taster Halbleiterdetektor

(Impulsformer)

2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen

4-stellige 7-Segment-Anzeige Treiber

Weltpendel

Referenz-Taster Lichtsensor der

Lichtschranke (Im-pulsformer)

Temperatursensor

Schrittmotor (Translation) Schrittmotorsteuerung Elektromagnet Geschaltete Spannungsversorgung

Laser der Lichtschranke Geschaltete Spannungsversorgung

Windkanal Referenz-Taster Schrittmotor (Translation) Schrittmotorsteuerung

41

Dehnungsmess-streifen (Wheat-stonesche Bruumlcke Messverstaumlrker Multimeter)

Geblaumlsemotor Geschaltete Spannungsversorgung

und Ansteuerung mit Pulsweiten-modulation

Anemometer Geschaltete Spannungsversorgung Multimeter Geschaltete Spannungsversorgung

Tab 9 Sensoren Aktoren und Erweiterungsschaltungen der RCLs des RCL-Portals

422 TMC222-Modul zur Schrittmotorsteuerung 4221 Schaltplan und Bauteilliste Abb 1 zeigt die Beschaltung des TMC222 von Trinamic auf dem TMC222-Modul

Abb 24 Beschaltung des TMC222 von Trinamic

Anhand der Bauteilliste in Tab 10 koumlnnen die elektronischen Bauelemente des TMC222-Moduls bei Reichelt electronic bestellt werden Ein TMC222-Modul kostet ungefaumlhr 10 euro

Nr Anzahl Kurzbeschreibung des Bauteils Best-Nr bei Reichelt electronic

Einzelpreis in euro

0 1 Epoxyd-Fotoplatine einseitig 75x100 mm 15 mm 35 microm BEL75X100-1 096 1 1 Integrierter TMC-Schrittmotor-Controller TMC 222 SI asymp 7 2 1 Elektrolytkondensator 8x11 mm Rm 35 mm 100 microF35 V RAD 10035 004 3 1 Tantal-Kondensator Rm 25 10 microF35 V Tantal 1035 014 4 2 Vielschicht-Keramikkondensator 220 nF 20 Z5U-25 220N 011 5 3 Vielschicht-Keramikkondensator 100 nF 20 Z5U-25 100N 004 6 2 Metallschichtwiderstand 100 kΩ Metall 100K 0082 7 1 1x36pol Stiftleiste gewinkelt Rm 254 SL 1X36W 027 8 1 1x36pol Buchsenleiste gerade Rm 254 BL 1X36G 025

Tab 10 Bauteilliste mit Bestellnummer und Einzelpreisen der Bauelemente bei Reichelt electronic (Stand 23102010)

4222 Bestuumlckung der Platine

42

Abb 25 zeigt die fertig bestuumlckte Platine mit den Nummern aus Tab 10

Abb 25 Bestuumlckte Platine des TMC222-Moduls

mit nummerierten Bauelementen

Die Platine (35 mm x 30 mm) kann anhand des Layouts in Abb 26 hergestellt werden Der IC TMC222 wird auf der Loumltseite der Platine aufgeloumltet Das TMC222-Modul kann mit der Stiftleiste (larr Tab 10 Nr 7) in eine Buchsenleiste (larr Tab 10 Nr 8) auf die Platine des In-terface gesteckt werden

Abb 26 Platine des TMC222-Moduls von der Loumltseite (links) und Layout

4223 Quellcode des Mikrocontroller-Programms Im Folgenden ist ein mit Bascom (larr 12 Tab 1 Entwicklungsumgebungen) erstelltes Bei-spiel-Programm zur Ansteuerung des Schrittmotormoduls TMC222 durch den Mikrocontroller ATmega16 angegeben $regfile = m16DEFdat $crystal = 11059200 $baud = 9600 Definitionen Config Scl = Portc0 Taktleitung Config Sda = Portc1 Datenleitung Const Adress = ampB11000000 I2C Adresse des TMC222 Const GetFullstatus1 = ampB10000001 Kommando des TMC222 Const Resetpos = ampB10000110 Kommando des TMC222 Const Motorparameter = ampB10001001 Kommando des TMC222 Const Setposition = ampB10001011 Dim Puffer(10) As Byte

43

Programm I2csend Adress GetFullstatus1 GetFullstatus1 (Initialisierung des TMC222) I2creceive Adress 7 Ack Daten in Puffer auslesen Puffer(1) = Motorparameter puffer auffuumlllen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB11110011 1111irun 0011ihold Puffer(5) = ampB01110001 0111vmax 0001vmin Puffer(6) = ampB00010000 000securepos(bit10-8) 1shaft 0000acceleration Puffer(7) = 0 securepos(bit7-0) Puffer(8) = ampB00001100 000nicht belegt 0accshape 11stepmode 00nicht belegt I2csend Adress Puffer(1) 8 I2csend Adress Resetpos aktuelle Position auf 0 setzen Puffer(1) = Setposition Motor bewegen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB01111111 position(bit 15-8) Puffer(5) = ampB11111111 position(bit 7-0)acute I2csend Adress Puffer(1) 5 End

423 Geschaltete Spannungsquellen und Verbraucher Die Ausgaumlnge des Mikrocontrollers duumlrfen nur mit Stroumlmen kleiner als ungefaumlhr 20 mA belas-tet werden Verbraucher mit einer Stromlast groumlszliger als 20 mA koumlnnen daher nicht direkt an den Mikrocontroller angeschlossen werden Abb 27 zeigt links eine Schaltung zum Schalten eines Verbrauchers wie z B des Relais und rechts eine Schaltung mit dem IC ULN2803A zum Schalten mehrerer Verbraucher wie z B Gluumlhlampen

Abb 27 Erweiterungsschaltungen zum Schalten eines (links) oder

mehrerer Verbraucher (rechts)

Zu beachten ist dass der Transistor BC337 maximal 800 mA schalten kann und fuumlr groumlszligere Stroumlme andere Transistoren verwendet werden muumlssen

424 Steuerung von Gleichstrommotoren

44

Sollen Gleichstrommotoren zum Bewegen von Objekten mit dem Mikrocontroller gesteuert werden dann eignet sich dazu der in Abb 28 dargestellte beschaltete IC L293D

Abb 28 Beschaltung des L293D zum

Steuern zweier Gleichstrom-motoren

Mit Pin 1 = Pin 9 = 1 (High) koumlnnen zwei Gleichstrommotoren M1 und M2 (Versorgungs-spannung UM lt 36 V Spulendauerstrom IM lt 600 mA) unabhaumlngig voneinander ein- und ausgeschaltet sowie in der Drehrichtung uumlber die Ports PA0 und PA1 fuumlr M1 und PA2 und PA3 fuumlr M2 gesteuert werden Z B gilt mit PA0 = PA1 = 0 (M1 ausgeschaltet) PA0 = 1 und PA1 = 0 (M1 dreht sich) PA0 = 0 und PA1 = 1 (M1 dreht sich in Gegenrichtung)

45

43 Quellcodes zum RCL Elektronenbeugung 431 Mikrocontroller-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

46

47

48

49

432 PHP-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

50

51

433 Bedienfeld der Laborseite

Tab 11 erlaumlutert die Funktion der Bloumlcke im Quellcode

Zeilen Funktion 1 Datei defaultconf einbinden 2 Datei headtpl einbinden

5 - 11 Ausgabe der verbleibenden Experimentierzeit 18 - 21 Button zum Einschalten der Elektronenbeugungsroumlhre 28 - 30 Eingabefeld fuumlr die Beschleunigungsspannung

37 Ruumlckmeldung zur eingegebenen Beschleunigungsspannung 42 Datei foottpl einbinden

Tab 11 Funktion der Programmbloumlcke in der Datei experi-menttpl

52

434 Webcamfeld der Laborseite

In Tab 12 ist die Funktion der Programmbloumlcke und die Anpassungen der Vorlage an das RCL Elektronenbeugung beschrieben

Zeilen Funktion Anpassung RCL Elektronenbeugung

5 Titelangabe erscheint als Tabulatorbeschriftung in Browsern

Name des RCLs eintragen

11 - 15 16 - 20

Zwei Javascripts zum getrennten Aufrufen zweier Po-pup-Fenster mit dargestelltem Webcambildern 1 und 2

Javascript 1 die IP-Adresse eintragen Javascript 2 auskommentiert weil nicht benoumltigt

24 - 40 42 - 60

Zwei Javascripts zum Aktualisieren der Webcambilder 1 und 2

Javascript 2 auskommentiert weil nicht benoumltigt

67 - 71 79 - 83

Aufrufen des ersten Webcambilds der Webcams 1 und 2 beim Aufrufen der Datei

Webcambild 2 auskommentiert weil nicht benoumltigt

72 - 78 84 - 90

Buttons zum Aufrufen der Screenshots der Webcam-bilder 1 und 2

Button 2 auskommentiert weil nicht benoumltigt

91 - 95 Zeile der Tabelle zum Eintragen von Informationen die sich auf die Webcambilder oder den Versuch beziehen

Text in Zeile der Tabelle geschrieben

Tab 12 Funktionen der Codeabschnitte in der Datei videohtm und Anpassung der Vor-lage an das RCL Elektronenbeugung

53

44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung Im Folgenden wird die Installation und Konfiguration des AVR-Studios 418 und der Bascom 11198 Demoversion beschrieben Alle Anleitungen sind zeilenweise von links nach rechts zu lesen

441 AVR-Studio 418 4411 Installation Auf der Webseite von ATMEL Register AVR Studio 418 (build 684) anklicken und Registrie-rungsformular ausfuumlllen Danach die Datei AvrStudio418Setup herunterladen Durch Dop-pelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen Next waumlhlen

I accept hellip und Next waumlhlen Installationsordner und Next waumlhlen

54

Installupgrade hellip und Next waumlhlen Install waumlhlen Die Installation beginnt

Finish waumlhlen

4412 Konfiguration AVR Studio 418 in Windows XP Professional unter StartProgramme aufrufen

Startfenster mit Cancel schlieszligen Unter ToolsProgram AVR Auto Connect waumlhlen

55

Im eingeblendeten Fenster auf der Registerkarte Main als Device ATmega16 und als Programming Mode ISP mo-de waumlhlen

Optional kann Signatur gelesen werden

In der Registerkarte Fuses alle Haumlkchen und Auswahlfel-der wie angegeben waumlhlen

Dann Program waumlhlen

442 BASCOM 11198 Demoversion 4421 Installation Auf der Webseite von Bascom unter Bascom AVR Demo die Zip-Datei setupdemoexe her-untergeladen Durch Doppelklick auf den Dateinamen die Installation starten

Next waumlhlen I accept the agreement und Next waumlhlen

56

Next waumlhlen Installationsordner eingeben und Next waumlhlen

Eintrag im Start-Menuuml eingeben und Next waumlhlen Next waumlhlen

Yes restart the computer now und Finish waumlhlen

57

4422 Konfiguration Bascom AVR in Windows XP Professional unter StartProgramme zum Einstellen der Para-meter des Mikrocontrollers und des Terminals aufrufen

OptionsCompilerChip waumlhlen Einstellungen wie im Bild vornehmen und OK waumlhlen

Auf der Registerkarte Communications Einstellungen wie im Bild vornehmen und OK waumlhlen

Unter OptionsCommunication Einstellungen wie im Bild

vornehmen und OK waumlhlen FileNew waumlhlen Unter ToolsTerminal emulator das Terminal aufrufen und

eingeben Die Befehlsliste des RCLs Elektronenbeu-gung wird angezeigt

45 Installation und Konfiguration von Programmen auf dem RCL-Server Im Folgenden wird der Download die Installation und die Konfiguration von Programmen auf dem RCL-Server unter Windows XP Professional beschrieben Alle Anleitungen sind zeilen-weise von links nach rechts zu lesen Die Installation der Programme sollte in der angegebe-nen Reihenfolge erfolgen

58

451 Einrichten des Internet-Zugangs LAN-Verbindung unter StartSystemsteuerungNetzwerkverbindungen aufrufen

Internetprotokoll (TCPIP) und Eigenschaften waumlhlen Folgende IP-Adresse verwenden waumlhlen IP-Adressen ein-

geben und OK waumlhlen

452 Paket XAMPP 174 Unter apache friends - xampp fuumlr windows und XAMPP Windows 174 Installer anklicken und Datei xampp-win32-174-VC6-installerexe speichern Durch Doppelklick auf die Datei die Installation starten

Sprache und Ok waumlhlen Ok waumlhlen

59

Weiter waumlhlen Zielverzeichnis mit Durchsuchen waumlhlen oder eingeben

Apache nicht als Dienst installieren Fertig stellen waumlhlen

Ja waumlhlen Zum Starten des Apache Webservers das Control Panel

unter StartProgrammeXAMPP 173 for Windows mit Start starten Anstelle von Start erscheint Running

Zum Beenden des Apache Webservers Stop waumlhlen Zum Beenden des Control Panels Exit waumlhlen

60

453 Videoserver webcamXP 5 Private Auf der Webseite von Moonware Studios unter webcamXP 55xx die Datei wlite550 herun-terladen Durch Doppelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen I Agree waumlhlen

Next waumlhlen Auszliger webcamXP 5 brauchen keine weiteren Komponen-

ten installiert zu werden

Den vorgeschlagenen Ordner und Install waumlhlen Finish waumlhlen

61

WebcamXP unter StartProgramme aufrufen Zugesandte

Lizenz-Daten in das eingeblendete Fenster eingeben und Register waumlhlen

Beim Starten des Programms stellt webcamXP automa-tisch eine Verbindung zu den am Computer angeschlosse-nen Webcams her

Nach dem Start ist Uumlberwachen gewaumlhlt Durch Rechts-klick mit der Maus auf das Videofenster wird zu jeder Vi-deoquelle ein Kontextmenuuml angezeigt Wird kein Videobild dargestellt das Kontextmenuuml aufrufen Art der Videoquelle waumlhlen (hier USB) und unter den erkannten Videoquellen (hier USB-Videogeraumlt) die gewuumlnschte waumlhlen

Das Videoformat muss fuumlr eine passende Darstellung auf

der Laborseite auf 320 x 240 eingestellt sein Ist das nicht der Fall im Kontextmenuuml unter Video Format einstellen

In gleicher Weise kann eine zweite Videoquelle hinzugefuumlgt werden

In der Registerkarte Web Broadcast kann unter

Broadcast (HTTP) der Videoserver mit Ausschalten ge-stoppt und mit Aktivieren gestartet werden

Zur Zielwahl des Webservers (131246237167 - Internet D16W3X3J - Computer 127001 - Local Host) Videoser-ver stoppen und einstellen Videoserver wieder starten

62

454 Terminalprogramm Hyperterminal Hyperterminal in Windows XP Professional unter StartProgrammeZubehoumlrKommunikation aufrufen

Name der neuen Verbindung - z B Interface - eingeben

und OK waumlhlen Die Verbindung zwischen Computer und Interface wurde

uumlber einen USB-Seriell-Adapter hergestellt Dann erschei-nen zwei zusaumltzliche Eintraumlge (Motorola Comp Modem und COM5) in der Liste Prinzipiell muss eine COMx-Verbindung gewaumlhlt werden

Eigenschaften von COM 5 wie im Bild einstellen und OK

waumlhlen DateiEigenschaften aufrufen und ASCII-Konfiguration

waumlhlen

63

Haken bei Eingegebene Zeichen lokal ausgeben (lokales

Echo) setzen um eingegebenen Zeichen im Hyperterminal zu sehen

Bei funktionsfaumlhiger Verbindung erscheint nach Eingabe von Return die Befehlsliste des Interface

Durch Aufrufen von DateiSpeichern die erstellte Verbin-

dung z B auf dem Desktop speichern Dadurch braucht die Verbindung nicht immer wieder von neuem konfiguriert wer-den

Nach Aufrufen von DateiBeenden die bestehende Verbin-dung mit Ja beenden

64

Wurde ein falscher COM-Port gewaumlhlt reagiert das Inter-

face auf die Eingabe Return nicht Hyperterminal dann beenden

Der COM-Port kann dann nicht unter DateiEigenschaften im Hyperterminal aber unter Eigenschaften des Kontext-menuumls der Datei Interfaceht in der Registerkarte Verbin-den mit geaumlndert werden Dann OK waumlhlen und erneut Verbindung testen

65

455 Fernwartungssoftware TeamViewer 6 Host Auf der Webseite von Teamviewer GmbH unter Fuumlr unbeaufsichtigte Server TeamViewer Vollversion die Datei TeamViewer_Setup-wq herunterladen Das Programm muss auf dem RCL-Server und dem Computer der auf den RCL-Server zugreifen soll installiert werden Durch Doppelklick auf die Datei die Installation starten

Ausfuumlhren waumlhlen Weiter waumlhlen

Fuumlr die private nicht kommerzielle Nutzung ist Teamviewer kostenlos

privat nicht-kommerziell und Weiter waumlhlen

Beide Haumlkchen setzen und Weiter waumlhlen

66

Ja un Weiter waumlhlen Weiter

Computername und Kennwort fuumlr den Zugriff auf den RCL-Server oder den eigenen Computer vergeben Kenn wort notie-ren

Ein Teamviewerkonto ist nicht erforderlich Kann auch spaumlter noch eingerichtet werden

ID fuumlr den Computer auf dem das Programm installiert wird fuumlr Zugriff notieren

Das Programm wird gestartet Standardmaumlszligig vorein-gestellt ist der Start des Programms beim Start des Be-trienssystems

67

46 Selbstbau eines elementaren RCLs 461 Hard- und Software Auch ohne gleich ein vielleicht teures physikalisches Experiment zu steuern laumlsst sich mit wenigen Bauelementen ein elementares RCL realisieren Von einer Webseite im Internet sol-len eine Leuchtdiode (LED) ein- oder ausgeschaltet sowie der Zustand der Leuchtdiode und eines Tasters abgefragt werden An Hard- und Software werden benoumltigt

1 Low-Current-LED 5 mm 2 mA 1 Widerstand 18 kΩ 1 Taster und optional zwei 10-polige Wannenstecker mit ungefaumlhr 10 cm passendem Flachbandkabel und Buchsen

Interface in Basisschaltung Null-Modem-Kabel 12 V DC Steckernetzteil (larr 1)

Installierte Bascom-Demo-Version (larr 42)

AVR ISP-Programmer mit 10-poligem Programmierkabel

Installiertes und konfiguriertes AVR Studio 418 (larr 41)

Installiertes Paket XAMPP (larr 52)

Texteditor wie z B Notepad in Windows XP Professional

Konfigurierte Hyperterminalverbindung (larr 54)

462 Bestuumlckung der Platine Abb 29 zeigt zur Orientierung fuumlr das Einloumlten der Bauelemente die fertig bestuumlckte Platine des Interface

Abb 29 Mit elementarem RCL bestuumlckte Platine

des Interface

LED mit Vorwiderstand und der Taster sind rechts neben dem Mikrocontroller im Lochraster-bereich aufgebaut und uumlber Wannenstecker und Flachbandkabel mit dem Port A des Mikro-controllers verbunden (die drei Bauteile rechts neben dem ATmega16 werden nicht benouml-tigt) Tab 13 erlaumlutert die Schritte zur Bestuumlckung der Platine des Interface

68

Nr Schaltung Erlaumluterung

1

Die Leuchtdiode (LED) mit dem Pluspol (langes Beinchen) an PortA0 (PIN40 oben rechts) des Mikrocontrollers anloumlten

An das kurze Beinchen einen 18kΩ Widerstand loumlten dessen anderes Ende mit der Masse (GND) verbinden

2

Den Taster mit PortA1 (PIN39 = 2 Beinchen von oben rechts) und Masse (GND) verbinden

3

Draufsicht

Belegung des 10-poligen Wannensteckers 1 GND (Masse) im Foto oben links 2 +5 V 3 PortA0 4 PortA1 10 PortA7 im Foto unten rechts

Tab 13 Schritte zum Aufbau des elementaren RCLs

463 Lokal gesteuertes RCL Nachfolgend ist der Basic-Programmcode des Mikrocontrollers zur Steuerung und Abfrage der LED und des Tasters angegeben 01 $regfile = m16DEFdat Microcontroller ATmega16 02 $crystal = 11059200 110592MHz Quarz 03 $baud = 9600 Baudrate 04 05 ---[ Variables ]--------------------------------------------------------------- 06 Dim Rs232kommando As String 10 erst Befehlspuffer dann Kommando 07 Dim Parameter As String 10 Parameter 08 Dim Str_pos As Byte Position von Leerzeichen zur Trennung von Kommando und Pa-rameter 09 10 ---[ Initialisierung ]--------------------------------------------------------- 11 Ddra0 = 1 PortA0 als Ausgang fuumlr LED 12 Porta0 = 0 LED aus 13 Ddra1 = 0 PortA1 als Eingang fuumlr Taster 14 Porta1 = 1 Pull-Up aktivieren 15 16 ---[ Main program loop ]------------------------------------------------------- 17 Do Start der Endlos-Schleife 18 19 If Ischarwaiting() = 1 Then Zeichen uumlber RS232 empfangen 20 Input Rs232kommando neues Kommando lesen 21 Parameter = Parameter initialisieren 22 Str_pos = Instr(rs232kommando ) Leerzeichen im Kommando suchen 23 If Str_pos gt 0 Then falls Leerzeichen dann in Kommando+Parameter zerlegen 24 Incr Str_pos Str_pos soll jetzt auf 1Zeichen des Parameters zeigen 25 Parameter = Mid(rs232kommando Str_pos ) Parameter = Teilstring nach Leerzeichen 26 Parameter = Ucase(parameter) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 27 Str_pos = Str_pos - 2 Str_pos soll jetzt auf letztes Zeichen des Kommandos zeigen 28 Rs232kommando = Left(rs232kommando Str_pos)Kommando = Teilstring vor Leerzeichen 29 Rs232kommando = Ucase(rs232kommando) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 30 End If 31 32 Select Case Rs232kommando Eventhandler Interpretation der Kommandos 33 Case Print Hilfe Hilfeseite anzeigen 34 Print LED on - LED einschalten 35 Print LED off - LED ausschalten 36 Print LED - zeigt Status der LED an 37 Print SW - zeigt Status des Schalters an 38

1K8

LED rotmicroC PortA0(PIN40)

Taster

microC PortA1(PIN39)

1

3

2

69

39 Case LED If Parameter = ON Then LED schalten 40 Porta0 = 1 41 End If 42 If Parameter = OFF Then 43 Porta0 = 0 44 End If 45 46 Case LED If Porta0 = 0 Then Status der LED ausgeben 47 Print LED aus 48 Else 49 Print LED an 50 End If 51 52 Case SW If Pina1 = 1 Then Status des Schalters ausgeben 53 Print Taster offen 54 Else 55 Print Taster geschlossen 56 End If 57 58 Case Else Print gt Rs232kommando lt ungueltiger Befehl - weitere Infos mit Info bei unguumlltigen Eingaben 59 End Select 60 61 End If 62 63 Loop Endlos-Schleife Springe zu Do 64 65 End wird nie erreicht

Der erste Teil des Programms (Zeilen 1 - 15) enthaumllt die Systemparameter Variablen und Initialisierung der Ein- und Ausgaumlnge Der zweite Teil enthaumllt ab Zeile 17 das Hauptpro-gramm in dem Benutzereingaben uumlber die serielle Schnittstelle empfangen interpretiert und in entsprechende Anweisungen umgesetzt werden Tab 14 erlaumlutert den Programmcode de-taillierter

Zeilen Erlaumluterung

1 - 3 Diese Angaben teilen dem Compiler (Bascom) mit welcher Prozessor eingesetzt wird wie schnell dieser getaktet (Quarz) ist und mit welcher Uumlbertragungsgeschwindigkeit die Kommunikation uumlber die serielle Schnittstelle (RS232) mit dem PC erfolgen soll

6 - 8 Es werden drei Variablen genutzt Die Eingabe uumlber die serielle Schnittstelle wird in rs232kommando gespeichert Es wird ein Text der Form Kommando ltLeerzeichengt Parameter erwartet so dass die Variable Parameter den-selbigen aufnimmt Die Variable str_pos wird fuumlr die Trennung von Kommando und Parameter benoumltigt

11 - 14

Mit dem Befehl ddrPX (ddr = data direction) wird festgelegt ob ein Beinchen als Ausgang (=1) oder als Eingang (=0) arbeiten soll Der ATmega16 besitzt 32 Ein-Ausgaumlnge die in vier Ports (P=AD) zu je 8 Pins (X=07) unterteilt sind ddrA0 = 1 legt also das 1 Beinchen (Pin 0) von PortA als Ausgang (=1) fest Mit dem Befehl PortA0 =1 kann dieser Pin dann durch Zuweisen von 1 oder 0 an- bzw ausgeschaltet werden Im Datenblatt erfahren Sie welches der 40 Beinchen des Mikrocontrollers wie bezeichnet wird (Pin-Belegung) Wird ein Beinchen als Eingang verwendet (ddrA1 = 0) koumlnnen Sie optional einen so genannten Pull-Up-Widerstand aktivieren (PortA1=1) oder deaktivieren (PortA1=0) Auch hierzu sollten Sie sich unbedingt mit dem Datenblatt vertraut machen

17 63 Das Hauptprogramm besteht aus einer Endlosschleife d h der Mikrocontroller verrichtet ununterbrochen seinen Job so lange er mit Strom versorgt wird

19 - 30 Falls ein Zeichen uumlber die serielle Schnittstelle empfangen wurde wird dieses und alle folgenden gelesen Anschlie-szligend wird gepruumlft ob der empfangene Text von der Form Kommando ltLeerzeichengt Parameter ist so dass er ge-gebenenfalls in ein Kommando und einen Parameter zerlegt werden kann

32 - 59 Dieser Abschnitt wird mit Event-Handler bezeichnet Hier wird auf die Kommandos (Events) reagiert und die ent-sprechenden Schritte ausgefuumlhrt zB schalten LED je nach Wert der Variablen Parameter an- bzw ausschalten

46 52

In beiden Zeilen wird ein Wert eines Ports abgefragt Unterschiedlich ist dass in Zeile 46 der Status eines Ausgangs abgefragt wird (porta0) und in Zeile 52 der Zustand eines Eingangs (pina0) Die Anweisung IF porta0 = 0 THEN pruumlft (hier ist = ein Vergleich und KEINE Zuweisung) ob zuletzt die LED ausgeschaltet (Zuweisung porta0 = 0) wurde Die Anweisung IF pina1= 1 THEN liest den Status eines Eingangs Hier kann festgestellt werden ob der Eingang uumlber den internen Pull-UP-Widerstand auf +5V liegt (pina1 liefert 1) oder ob der Schalter den Eingang mit Masse (0V) verbindet (pina1 liefert 0)

Tab 14 Erlaumluterung des Mikrocontroller-Programmcodes fuumlr elementares RCL

70

In Bascom AVR eine neue Datei erzeugen (FileNew) den Programmcode ohne Kommenta-re eingeben und mit ProgramCompile (F7) eine Hexadezimaldatei erzeugen Die Hexadezi-maldatei mit dem AVR-Studio und dem AVR-ISP-Programmer in den Mikrocontroller schrei-ben (larr 222 Programmuumlbertragung) Nach dem Verbinden von Computer und Interface per Null-Modem-Kabel kann durch Eingabe von in das konfigurierte Hyperterminal die Befehls-liste in Abb 30 aufgerufen werden

Abb 30 Aufgerufene Befehlsliste im Hyperterminal

Durch Eingabe von LED on oder LED off kann die LED ein- und ausgeschaltet LED zeigt den Status der LED und sw den Status des Tasters an Alternativ zum Hyperterminal kann auch das Terminal in BASCOM unter ToolsTerminal Emulator verwendet werden (larr 422)

464 Ferngesteuertes RCL Zum Ansteuern des Interfaces und zum Bedienen des Versuchsaufbaus uumlber das Internet wird eine Webseite benoumltigt die dem Benutzer alle Bedienelemente des Experiments zur Verfuumlgung stellt

Der Benutzer benoumltigt anklickbare Buttons im Webbrowser

Der Webserver muss die Information welcher Button gedruumlckt wurde empfangen und ein entsprechendes Kommando uumlber die serielle Schnittstelle an das Interface senden

Beide Schritte sind im nachfolgenden PHPHTML-Quellcode zusammengefasst 01 ltDOCTYPE HTML PUBLIC -W3CDTD HTML 401 TransitionalEN httpwwww3orgTRhtml4loosedtdgt 02 lthtmlgt 03 ltheadgt 04 ltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1gt 05 lttitlegtelementares RCLlttitlegt 06 ltheadgt 07 08 ltbodygt 09 ltphp 10 if (isset($_POST[Kommando])) wurde bereits Kommando gesendet 11 if( ( $handle = fopen( COM1 w+ ) ) ) Schnittstelle oumlffnen 12

71

13 throw new Exception( Can not access serial port 2 ) ohne Erfolg 14 15 fwrite( $handle $_POST[Kommando] chr( 13 ) ) Befehl an Interface senden 16 switch ( $_POST[Kommando] ) Antwort von Interface auswerten 17 case LED $tmp = fgets( $handle ) Echo von Interface ignorieren 18 $antwort = fgets( $handle ) Antwort des Interfaces 19 echo Antwort $antwort Ausgabe auf Webseite 20 break switch verlassen 21 22 case SW $tmp = fgets( $handle ) Echo von Interface ignorieren 23 $antwort = fgets( $handle ) Antwort des Interfaces 24 echo Antwort $antwort Ausgabe auf Webseite 25 break switch verlassen 26 27 28 29 fclose( $handle ) Schnittstelle schlieszligen 30 31 else 32 `mode com1 BAUD=9600 PARITY=N data=8 stop=1 xon=off` Schnittstellenparameter setzen 33 34 35 gt 36 37 lth3gtBefehl sendenlth3gt 38 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 39 ltinput type=hidden name=Kommando value=LED ON gt 40 ltinput type=submit value=LED anschalten gt 41 ltformgt 42 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 43 ltinput type=hidden name=Kommando value=LED OFF gt 44 ltinput type=submit value=LED ausschalten gt 45 ltformgt 46 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 47 ltinput type=hidden name=Kommando value=LED gt 48 ltinput type=submit value=LED abfragen gt 49 ltformgt 50 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 51 ltinput type=hidden name=Kommando value=SW gt 52 ltinput type=submit value=Taster abfragen gt 53 ltformgt 54 ltbodygt 55 lthtmlgt Den Quellcode in den Texteditor kopieren und im Ordner htdocs von XAMPP z B unter rclphp speichern HTML-Dateien mit PHP-Code (Zeilen 9-35) muumlssen mit der Erweiterung php gespeichert werden damit der Apache Webserver zwischen HTML-Seiten mit und ohne PHP-Code unterscheiden kann Den installierten Apache Webserver starten (larr 452) und im Adressfeld des Webbrowsers die IP-Adresse http127001rclphp aufrufen Das Bedi-enfeld des elementaren RCLs in Abb 31 wird im Browserfenster angezeigt

72

Abb 31 Laborseite des elementaren RCLs

Im Bedienfeld kann die LED an- und ausgeschaltet sowie der Status von LED und Taster abgefragt werden

  • 0 Warum ein Tutorial zur RCL-Technik
  • 1 Technische Konzeption
    • 11 Einfuumlhrung
    • 12 Wahl der RCL-Technik
      • 2 Lokal gesteuertes RCL
        • 21 Interface
          • 211 Mikrocontroller
          • 212 Basisschaltung und Erweiterungsschaltungen
          • 213 Programmierung des Mikrocontrollers
            • 22 Hyperterminal
            • 23 Positionieren von Objekten
              • 231 Hybrid-Schrittmotoren
              • 232 Schrittmotorsteuerung und Positionierungsmechanik
                  • 3 Ferngesteuertes RCL
                    • 31 RCL-Server
                    • 32 Laborseite
                      • 321 Steuerung des RCLs uumlber das Bedienfeld
                      • 322 Videouumlbertragung im Webcamfeld
                        • 33 Standard-Lernumgebung
                          • 4 ANHANG
                            • 41 Interface in Basisschaltung
                              • 411 Schaltplan und Bauteilliste
                              • 412 Bestuumlckung der Platine
                                • 42 Erweiterungsschaltungen
                                  • 421 Uumlbersicht
                                  • 422 TMC222-Modul zur Schrittmotorsteuerung
                                    • 4221 Schaltplan und Bauteilliste
                                    • 4222 Bestuumlckung der Platine
                                    • 4223 Quellcode des Mikrocontroller-Programms
                                      • 423 Geschaltete Spannungsquellen und Verbraucher
                                      • 424 Steuerung von Gleichstrommotoren
                                        • 43 Quellcodes zum RCL Elektronenbeugung
                                          • 431 Mikrocontroller-Programmierung
                                          • 432 PHP-Programmierung
                                          • 433 Bedienfeld der Laborseite
                                          • 434 Webcamfeld der Laborseite
                                            • 44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung
                                              • 441 AVR-Studio 418
                                                • 4411 Installation
                                                • 4412 Konfiguration
                                                  • 442 BASCOM 11198 Demoversion
                                                    • 4421 Installation
                                                    • 4422 Konfiguration
                                                        • 45 Installation und Konfiguration von Programmen auf dem RCL-Server
                                                          • 451 Einrichten des Internet-Zugangs
                                                          • 452 Paket XAMPP 174
                                                          • 453 Videoserver webcamXP 5 Private
                                                          • 454 Terminalprogramm Hyperterminal
                                                          • 455 Fernwartungssoftware TeamViewer 6 Host
                                                            • 46 Selbstbau eines elementaren RCLs
                                                              • 461 Hard- und Software
                                                              • 462 Bestuumlckung der Platine
                                                              • 463 Lokal gesteuertes RCL
                                                              • 464 Ferngesteuertes RCL

27

Datei speichern damit PHP bei Befehlen mit laumlngerer Ausfuumlhrungsdauer keine Fehler-meldung liefert

Ordner xampphtdocs mit den Webseiten von XAMPP in xampphtdocs_xampp um-benennen und fuumlr spaumltere Testzwecke nicht loumlschen RCL-Ordner htdocs herunterladen (larr Tab 1) extrahieren und in das Verzeichnis xampp verschieben

Abb 16 zeigt die Struktur des RCL-Ordners htdocs

Abb 16 Struktur des RCL-Ordners htdocs RCL-spezifisch anzupassende Dateien sind grau

hinterlegt

Der geoumlffnete Ordner Labor enthaumllt alle PHP- und HTML-Dateien bzw Programmierungen fuumlr die Funktionalitaumlt des Bedienfelds der Laborseite (larr 11 Abb 3) An das RCL anzupas-sen sind die portalsprachenunabhaumlngigen Dateien configphp und experimentphp sowie fuumlr jede Portalsprache die Dateien defaultconf und experimenttpl in den Ordnern eng fra ger und ita

Datei configphp Zeit bis zum automatischen Logout beim Experimentieren mit dem RCL eintragen

Datei experimentphp PHP-Basisprogrammierung um die RCL-spezifische PHP-Programmierung erweitern (rarr 432)

Datei defaultconf Name des RCLs (z B Elektronenbeugung) in jeder Portalsprache ein-getragen

Datei experimenttpl HTML-Basisprogrammierung um RCL-spezifische Ein- und Ausga-befelder erweitern (rarr 433)

28

32 Laborseite 321 Steuerung des RCLs uumlber das Bedienfeld Das Bedienfeld der Laborseite (larr 11 Abb 3) wird von der Dateien indexphp und experi-menttpl erzeugt Befehle wie das Anklicken von Buttons Eingaben und Auswahl aus Listen werden in ein HTML-Formular mit Formularfeldern in der Datei experimenttpl geschrieben Die Daten werden von der PHP-Datei experimentphp ausgewertet und uumlber die serielle Schnittstelle dem Mikrocontroller-Programm zur Steuerung des Experiments uumlbergeben Die Dateien experimentphp und experimenttpl wurden getrennt angelegt um Code und Design zu trennen und nur das Design in der Datei experimenttpl an die Portalsprache anpasst werden muss

Tab 5 enthaumllt Ausschnitte der HTML-Datei experimenttpl (rarr 433) der Datei experi-mentphp (rarr 432) und des Mikrocontroller-Programms (rarr 431) fuumlr das RCL Elektronen-beugung

29

Code mit Erlaumluterung

expe

rimen

ttpl

1821 Tag ltformgtltformgt definiert ein Formular 18 Attribut action legt fest dass Formulardaten in der Datei indexphp verarbeitet werden Uumlbertragen

werden eine Session-ID ($sid) um exklusiven Zugriff des jeweilgen Besuchers zu sichern und ($portal) um die vom Besucher gewaumlhlte Sprache beizubehalten post ist eine Uumlbertragungsmethode zwischen Browser und Webserver und gibt die die vom Besucher gewaumlhlte Aktion zum Ansteuern des Experiments an die Datei experimenttpl weiter

20 Erzeugt im Bedienfeld den Sendebutton (submit) mit der Aufschrift Elektronenroumlhre einschalten (valu-e)

19 Unsichtbares Feld (hidden) mit Variablennamen action und Wert RoumlhreAn Der Variablenname ac-tion stimmt nur zufaumlllig mit action in Zeile 18 uumlberein

expe

rimen

tphp

24 Die Funktion wird als Eventhaumlndler bezeichnet weil je nach uumlbergebener Aktion - siehe Zeile 19 in experi-

menttpl - die entsprechenden Anweisungen (case) ausgefuumlhrt werden 37 Fuumlr den Fall dass die Variable $action den Wert RoumlhreAn hat wird die Funktion power_on() aufgeru-

fen

59 Schreibt in die Logdatei logtxt den Text RoumlhreAn 6061 Oumlffnet den in der Datei configphp zentral gespeicherten Com-Port an den das Interface angeschlossen ist

oder gibt Fehlermeldung Can not access file system im Bedienfeld aus falls der Com-Port sich nicht oumlff-nen laumlsst

62 Sendet die Zeichenfolge On und chr(13) (entspricht der Betaumltigung der Return-Taste im Hyperterminal) an den Mikrocontroller

63 Schlieszligt serielle Schnittstelle

Que

llcod

e M

ikro

cont

rolle

r

166 Wird uumlber die serielle Schnittstelle der Befehl on empfangen und ist das Einschalten zulaumlssig (Zeiten fuumlr

PowerOnDelay und Standby abgelaufen) dann hellip 167 Hochspannungsnetzgeraumlt einschalten 168 Der DA-Wandler PCF8591 wird unter seiner Adresse PCF8591 = 01001000 angesprochen Parameterein-

stellungen mit 01000000 und Ausgangsspannung auf 0 V einstellen 169 Setzt Standby auf vorgegebene Standbyzeit zuruumlck 171 Gibt Meldung aus wie lange PowerOnDelay noch dauert

Tab 5 Uumlbertragung des Befehls Elektronenroumlhre einschalten vom Bedienfeld zum Experi-ment

30

Anhand der Erlaumluterungen der Programmcodes koumlnnen die Ablaumlufe zwischen dem Druumlcken des Buttons Elektronenroumlhre einschalten und dem Einschalten der Elektronenbeugungs-roumlhre oder der Eingabe einer Beschleunigungsspannung und dem Anlegen einer Beschleu-nigungsspannung verfolgt werden Uumlber das Bedienfeld koumlnnen nur die von der Datei expe-rimenttpl bereitgestellten Befehle on und da der insgesamt implementierten Befehle (rarr 22 Abb 10) aufgerufen werden

322 Videouumlbertragung im Webcamfeld Zur Aufnahme von Livebildern des Experiments koumlnnen USB-Webcams und IP-Kameras (Netzwerkkameras) eingesetzt werden Teurere IP-Kameras muumlssen eingesetzt werden wenn die Kamera wie z B beim RCL Roboter im Labyrinth zu weit vom Computer entfernt ist oder eine besonders lichtempfindliche Kamera aus der Uumlberwachungstechnik wie z B beim RCL Millikan-Versuch benoumltigt wird W-LAN-Kameras kommen zum Einsatz wenn Bil-der von einem beweglichen Objekt aus wie z B beim RCL Roboter im Labyrinth uumlbertra-gen werden sollen

Das Videoserverprogramm webcamXP 5 erkennt beim Aufrufen automatisch an den RCL-Server angeschlossenen USB-Webcams Vor dem Kauf einer IP-Kamera ist zu pruumlfen ob das Modell unterstuumltzt wird14 IP-Kameras muumlssen im Kontextmenuuml der Videoquelle konfigu-riert werden Abb 17 zeigt das Webcambild einer USB-Webcam vom Szintillationsschirm der Elektronenbeugungsroumlhre

Abb 17 Webcambild des Szintillationsschirms der Elektro-

nenbeugungsroumlhre einer USB-Webcam in webcamXP 5 beim RCL Elektronenbeugung

14 Vgl Moonware Studios webcamXP IP-cameras for webcamXP

31

Zum Einbinden des Webcambilds in die Laborseite des RCLs wird die laborsprachenabhaumln-gige Datei videohtm (rarr 434) in den Ordnern eng fra ger und ita verwendet Standardmauml-szligig werden zwei Webcambilder und Screenshots unterstuumltzt der Code fuumlr weitere Webcam-bilder kann durch copy and paste hinzugefuumlgt werden

Unter den Technologien Java Javaskript Flash und Windows Media fuumlr die Wiedergabe ei-nes Livestreams auf eine Webseite wurde Javaskript gewaumlhlt weil die anderen Technologien die Installation des Java Runtime Environments (JRE) des Flash- oder Windows Media Players durch den Besucher eines RCLs voraussetzen Die Wiedergabe des Livestreams mit einem Java-Applet startet zudem erst verzoumlgert nachdem das Applet geladen ist und verfuumlgt uumlber eine zu geringe Wiedergabegeschwindigkeit

33 Standard-Lernumgebung Bestandteil der Entwicklung eines RCLs ist die Erstellung einer Standard-Lernumgebung zum RCL Abb 18 zeigt exemplarisch fuumlr die deutschen Webseiten im Ordner ger das Menuuml (larr 11 Abb 3) und die Dateistruktur der Standard-Lernumgebung

Abb 18 Deutschsprachiges Menuuml und Dateistruktur der Standard-Lernumgebung

RCL-spezifisch anzupassende Dateien sind grau hinterlegt

Die englischen Dateinamen introductionhtm setuphtm hellip im Ordner ger korrespondieren mit den deutschen Menuumlpunkten Wird das RCL unter dem Menuumlpunkt RCLs des RCL-Portals aufgerufen dann ruft die Frameset-Datei indexhtm die Dateien menuumlhtm und intro-ductionhtm auf und das Menuuml wird zusammen mit der Webseite Einstieg dargestellt Die Wahl weiterer Menuumlpunkte ruft jeweils die korrespondiere Datei im Ordner auf Bei Wahl des Menuumlpunkts Labor werden mit der Frameset-Datei laboratoryhtm die Dateien videohtm fuumlr das Webcamfeld und die Datei laborindexphp fuumlr das Bedienfeld aufgerufen

32

Im Ordner docsmaterial werden alle Dokumente fuumlr die Webseite Material im Ordner docsothers die Dokumente anderer Webseiten abgelegt Im Ordner docsoriginals sind die Originale von Dokumenten wie z B Word-Dateien und der verwendeten Bilder abgelegt Grafikdateien der Webseiten Einstieg hellip Auswertung hellip Betreuung werden in gleichnami-gen Ordnern wie z B imagesanalysis abgelegt Bei sprachenunabhaumlngigen Grafikdateien wird unter dem Dateinamen abbx bei sprachenabhaumlngigen unter dem Dateinamen abbx_lan mit lan = eng fra ger und ita gespeichert Analoges gilt fuumlr die als gif-Grafiken forxgif oder forx_langif zu speichernden Formeln Originale von Bildern werden im Ordner imagesoriginals abgelegt Die Webseite zur Datei htdocsindexhtm enthaumllt zum lokalen Aufrufen der Standard-Lernumgebung Links zu den vier Index-Dateien in den Ordnern eng fra ger und ita Die Stylesheet-Datei htdocsrcl_stylecss enthaumllt die Styles der Webseiten

In der Regel werden Standard-Lernumgebungen der RCLs des RCL-Portals von verschiede-nen Personen erstellt Fehlende Gestaltungs- und Formatierungsregeln fuumlhren zu einem un-einheitlichen inattraktivem Erscheinungsbild des RCL-Portals Tab 6 gibt einen Uumlberblick der wichtigsten Gestaltungs- und Formatierungsregeln

Element Richtlinien

Gliederung

Die Webseiten Einstieg Aufbau Aufgaben Diskussion Material und Support enthalten vorgegebene Gliederungspunkte teilweise mit ausgefuumlhrten Uumlberschriften

Die umfangreicheren Webseiten Theorie und Auswertung enthalten ein Inhaltsverzeichnis mit internen Links zu Gliederungspunkten Zwischen Punkten der ersten Gliederungsebene (1 2 hellip) ist ein zwei-zeiliger Abstand (ltpgtampnbspltpgtltpgtampnbspltpgt) zwischen Punkten der zweiten (11 12 hellip) und Punkten der nur falls unbedingt notwendig dritten 111 112 hellip) Gliederungsebene ein einzeiliger Abstand zu waumlhlen Nach Abbildungen und Tabellen folgt ein einzeiliger Abstand zum nachfolgenden Text

Links Keine internen Links zwischen den Webseiten der Lernumgebung Externe Links werden prinzipiell in einem neuen Browserfenster geoumlffnet (blank)

Abbildung

Alle Abbildungen erhalten fortlaufend beginnend mit 1 nummerierte Abbildungsunterschriften der Form Abb x hellip

Abbildungen sind moumlglichst spachenunabhaumlngig d h ohne Texte in der Abbildung zu erstellen Zur Beschriftung koumlnnen z B Zahlen verwendet werden die in der Abbildungsunterschrift oder im Text er-laumlutert werden

Tabellen Tabellen werden in jeder Webseite fortlaufend beginnend mit 1 nummeriert Tabellen sind zu zentrieren Rahmenstaumlrke 1

Formeln

Formeln sind nicht als Textzeichen oder Grafik im laufenden Text einzufuumlgen sondern stets zentriert in einer eigenen Zeile als gif-Grafik

Zum Erstellen der Formel-Grafiken eignet sich z B der Formel-Editor MathType15 mit der Aufloumlsungs-Einstellung 120 dpi fuumlr InternetGif

Formeln brauchen im Rahmen des begrenzten Umfangs der Webseiten nicht nummeriert zu werden Groumlszligen-symbole

Griechische Groumlszligensymbole und mathematische Symbole sind nicht als Grafiken im laufenden Text sondern als HTML-Code einzufuumlgen Eine Zeichenreferenz findet sich bei Selfhtml16

Styles Zur Formatierung der Webseiten werden aus der Stylesheet-Datei nur die drei Styles Uumlberschrift fuumlr

die Uumlberschriften Bildunterschrift fuumlr Abbildungs- und Tabellenunterschriften und Tabellentext fuumlr Tex-te in Tabellen benoumltigt

Tab 6 Richtlinien zur Gestaltung und Formatierung der Standard-Lernumgebung

Detailliertere Informationen zum Layout der Standard-Lernumgebung koumlnnen dem RCL-Ordner und dem Erscheinungsbild der Webseiten von RCLs in Browsern entnommen wer-den

15 Vgl Design Science MathType 16 Vgl Selfhtml HTML-Zeichreferenz

33

4 ANHANG

34

41 Interface in Basisschaltung 411 Schaltplan und Bauteilliste Abb 19 zeigt den Schaltplan der Basisschaltung des Interface und Tab 7 die dazugehoumlrige Bauteilliste

Abb 19 Basisschaltung des Interface

Nr Anzahl Kurzbeschreibung des Bauteils Best-Nr bei Reichelt electronic

Einzelpreis in euro

0 1 Epoxyd-Platine (190x112 mm) mit Anteil Loumltpunktraster (Spezi-

alanfertigung) - asymp 10

1 1

Epoxyd-Fotoplatine einseitig 160x100 mm 15 mm 35 microm Epoxyd-Lochrasterplatine 160x100 mm 15 mm 35 microm

BEL 160x100-1 UP 832EP

170 420

1 1 Hohlstecker-Einbaubuchse gewinkelt Loumltfahnen 21 mm HEBW 21 018 2 1 D-SUB-Stecker 9-polig gewinkelt RM 94 D-SUB ST 09EU 029 3 1 Schottky Diode DO41 40 V 1 A SB 140 008 4 1 Draht von abgeschnittenem Beinchen aus Pos-Nr 3 - - 5 1 IC-Sockel 16-polig superflach gedreht vergoldet GS 16P 029 6 1 IC-Sockel 40-polig superflach gedreht vergoldet GS 40P 061 7 1 2x10-pol-Stiftleiste gerade RM 254 SL 2X10G 254 007 8 1 Metallschichtwiderstand 100 kΩ Metall 100k 0082 9 1 Elektrolytkondensator 10x16 mm 470 microF RM 50 mm RAD 47025 006 10 1 Elektrolytkondensator 63x11 mm 100 microF RM 25 mm RAD 10016 004 11 5 Elektrolytkondensator 5x11 mm 10 microF RM 20 mm RAD 1035 004 12 2 Keramik-Kondensator 33 pF Kerko 33p 006 13 3 Vielschicht-Keramikkondensator 100 nF 20 Z5U-25 100n 004

35

14 1 Standardquarz Grundton 110592 MHz 110592-HC49U-S 018 15 1 Spannungsregler 1 A positiv TO-220 microA 7805 028 16 1 Kuumlhlkoumlrper fuumlr Gehaumluse TO-220 99KW V FI356 066 17 1 Zylinderkopfschraube Schlitz M3 10 mm fuumlr Kuumlhlkoumlrper M3x10mm 160 18 2 Sechskantmutter M3 fuumlr Kuumlhlkoumlrper SK M3 001 19 1 Stecker-Schaltnetzteil 12 V 2250 mA MW 3IP25GS 1150 20 1 RS232-Driver DIL-16 MAX 232 CPE 041 21 1 ATmega AVR-RISC-Controller DIL-40 ATmega16-16 DIP 420 22 3 10-poliger Wannenstecker RM 254 stehend (optional) WSL 10G 009 23 1 14-poliger Wannenstecker RM 254 stehend (optional) WSL 14G 014 24 1 40-polige Stiftleiste 1-reihig gerade RM254 (optional) SL 1x40G 254 023 25 1 Kunststoffgehaumluse 1982x1124x760 mm (Serientyp 202) - asymp 10 euro 26 1 D-SUB Nullmodem-Kabel 9-pol BUBU 3 m AK 143 155 27 x DIN-Einbaubuchse 5-pol Schraubver 360deg (optional) DIO-50W EMS 185 28 x DIN-Einbaubuchse 8-polig Schraubversch 270deg (optional) DIO-80SN EMS 180 29 x Pfostenstecker 10-polig mit Verrieglung gew (optional) PSL 10W 028 30 x Klemmleiste RM 254 Oumlffnungshebel 8-polig (optional) Wago 233 220

Tab 7 Bauteilliste mit Bestellnummer und Einzelpreisen der Bauelemente bei Reichelt electronic (Stand 23102010)

Anhand der Bauteilliste in koumlnnen die elektronischen Bauelemente der Basisschaltung (larr Tab 7 Nr 0 ndash 21 optional Nr 22 - 24) bei Reichelt electronic bestellt werden Das Gehaumluse des Interface (larr Tab 7 Nr 25) sollte vom Hersteller HAGOTECH GmbH bezogen werden Weiterhin wird ein Nullmodemkabel (larr Tab 7 Nr 26) zur Verbindung des Interface mit dem Computer benoumltigt Sensoren und Aktoren des Experiments koumlnnen mit optionalen Steck-verbindern (larr Tab 7 Nr 27 - 30) und entsprechende Kabelverbindungen an das Interface angeschlossen werden Die Nummern 0 - 25 stimmen mit der angegebenen Bestuumlckungs-reihenfolge auf der Platine uumlberein Das Interface kostet in der Basisschaltung ca 50 euro

412 Bestuumlckung der Platine Abb 20 zeigt zur Bestuumlckung der Platine benoumltigte Werkzeuge

Abb 20 Werkzeuge zur Bestuumlckung der Platine des Interface

36

Loumltkolben mit feiner Spitze in Meisselform 2 mm oder Loumltstation (1) Loumltzinnabsauger zum Entfernen von Loumltzinn (2) Nasser Schwamm zum Reinigen der Spitze des Loumltkolbens (3) Loumltzinn mit Durchmesser 08 - 10 mm (4) Flachspitzzange zum Biegen von Anschluumlssen der Bauelemente (5) Seitenschneider zum Kuumlrzen der Beinchen von Bauelementen (6) Multimeter zum Pruumlfen der Funktionsfaumlhigkeit der Schaltung (7) Sekundenkleber zur Befestigung von Bauelementen Kleine Bohrmaschine z B von Dremel und 08 mm Bohrer oder duumlnne Rundfeile zum

Weiten von Loumlchern auf der Platine des Interface

Abb 21 zeigt die Platine des Interface von der Loumltseite in der Spezialanfertigung der Elekt-ronik-Werkstatt an der Technischen Universitaumlt Kaiserslautern und in der Selbstbauvariante (larr Tab 7 Nr 0) Abb 22 zeigt das Platinenlayout

Abb 21 Platine des Interface von der Loumltseite als Spezialanfertigung (links) und der Selbstbauvariante

(rechts)

Abb 22 Layout zur Herstellung des geaumltzten Teils der

Platine in der Selbstbauvariante

37

In der Selbstbauvariante kann anhand des Platinenlayouts eine selbst geaumltzte Platine fuumlr die Basisschaltung auf einer Platine im Europakartenformat hergestellt und diese in der Laumlnge gekuumlrzt werden Eine gekuumlrzte Lochrasterplatine bildet den zweiten Teil der Platine Mit den optionalen vier Wannensteckern (larr Tab 7 Nr 22 - 23) oder den vier Stiftleisten (larr Tab 7 Nr 24) an den Ports des Mikrocontrollers koumlnnen leicht elektrische Verbindungen zum Rasterteil der Platine herstellt werden Abb 23 zeigt die fertig bestuumlckte Platine mit den Nummern aus Tab 7

Abb 23 Bestuumlckte Platine des Interface mit nummerierten Bauelementen

Tab 8 beschreibt das Einloumlten der elektronischen Bauelemente anhand der Nummern aus Tab 7 und in der angegebenen Reihenfolge

Nr Bauelement Beschreibung des Einbaus

0 Spezialanfertigung und Selbst-bauvariante der Epoxydharz-

Platine

1

Stromversorgungsbuchse ndash Hohlstecker 21 mm

Wenn die Loumltbeine nicht durch die Loumlcher der Platine passen die Loumlcher mit einer runden Schluumlsselfeile aufweiten

Stromversorgungsbuchse mit Sekundenkleber vor dem Festloumlten auf der Pla-tine fixieren da diese mechanischen Belastungen durch das Einstecken und Herausziehen des 12 V -Steckers ausgesetzt ist

Wahlweise kann die 25 mm-Version der Buchse verwendet werden

2

RS232 Datenstecker

RS232 Datenstecker mit Sekundenkleber vor dem Festloumlten auf der Platine fixieren da dieser mechanischen Belastungen durch das Einstecken und Herausziehen des Null-Modem-Kabels ausgesetzt ist

Alle Beinchen und Befestigungsstifte zur houmlheren Stabilitaumlt anloumlten

3

Ein Ring an einer Seite der Diode (hier links weiszlig) zeigt die Durchlass- bzw Sperrrichtung der Diode an Die Position des Ringes entspricht der Position des Balkens im Schaltungssymbol

38

Diode ndash SB140 Auf der Platine muss der Ring auf der von der Stromversorgungsbuchse ab-

gewandten Seite liegen

4 Drahtbruumlcke

Vor dem Einloumlten des 40-poligen IC-Sockels (Nr 5) muss eine Drahtbruumlcke unter diesem eingeloumltet werden Dazu koumlnnen die abgeschnittenen Beinchen der bereits eingeloumlteten Diode (Nr 3) verwendet werden

5 6

IC-Fassungen

Die 16-polige und 40-polige IC-Fassungen besitzen eventuell eine Markie-rung fuumlr Pin1 (z B Kerbe in der Stirnseite Punkt Pfeilhellip) als Hilfe fuumlr das richtige Einstecken der ICs Die Markierungen muumlssen bei beiden Fassungen nach oben also zum naumlchstliegenden Rand der Platine zeigen

Die ICs unbedingt noch nicht einstecken

7

ISP-Stiftleiste

Die doppelreihige ISP-Stiftleiste dient der Programmierung des Mikrocontrol-lers mit dem AVR-ISP-Programmer (ISP steht fuumlr In System Programming)

ISP-Stiftleiste auf 2 x 5 Stifte kuumlrzen und mit den kurzen Beinchen einloumlten so dass auf die langen Stifte der AVR-ISP-Programmer gesteckt werden kann

8

Widerstand 100 kΩ

Den 100 kΩ-Widerstand rechts neben der ISP-Stiftleiste einloumlten

9

10

11

Elkos

Bei den verwendeten Elektrolyt-Kondensatoren ist die Polung zu beachten (langes Beinchen = Plus-Pol) Weiterhin ist auf den Kondensatoren ein wei-szliger Streifen mit Minus-Zeichen aufgedruckt Die Kondensatoren sollten eine Spannungsfestigkeit von mindestens 16 V besser 25V besitzen

Auf der Kupferseite der Platine zeigt die Form der Loumltaugen die Polung an Rundes Loumltauge = Plus quadratisches Loumltauge = Minus

Der 470 microF Kondensator wird mit dem weiszligen Streifen in Richtung Stromver-sorgungsbuchse direkt unter diese montiert

Der 100 microF Kondensator sitzt direkt unter der 16-poligen IC-Fassung Sein weiszliger Streifen (Minus-Pol) zeigt in Richtung der Stromversorgungsbuchse

Vier der 10 microF Kondensatoren werden links neben der 16-poligen IC-Fassung montiert Deren Polung ist wie folgt Unterster Kondensator Minus nach oben naumlchster Kondensator Minus nach unten die beiden oberen Kondensatoren mit Minus nach oben

Ein weiterer 10 microF Kondensator wird rechts neben die 16-polige IC-Fassung geloumltet Sein Minus-Streifen zeigt nach unten

12

13

Keramik-Kondensatoren

Die Beschriftung 104 bedeutet 10e4 pF = 100 nF Die beiden 33 pF-Kerkos (Keramik-Kondensatoren) werden direkt nebenei-

nander rechts neben die 16-polige IC-Fassung geloumltet Zwei 100 nF-Kondensatoren werden unter dem 470 microF-Elko eingeloumltet ein

weiterer mittig an der linken Seite der 40-poligen IC-Fassung

14

Quarz

Als Quarz wird ein 110592 MHz-Typ verwendet Bei dieser Frequenz ist eine fehlerfreie Kommunikation uumlber RS232 mit 9600 Baud moumlglich Fuumlr den AT-mega16 koumlnnen Quarze bis 16 MHz eingesetzt werden Details siehe Daten-blatt

Der Quarz wird direkt rechts neben die beiden 33 pF-Kerkos geloumltet Die Ori-entierung des Quarz spielt keine Rolle

15

16

17

18

Der Spannungsregler L7805 erzeugt eine stabilisierte Spannung von 5 V Es muss ein Kuumlhlkoumlrper zur Waumlrmeabfuhr vom Spannungsregler verwendet werden

Vor dem Einloumlten zwischen Spannungsregler und Kuumlhlkoumlrper etwas Waumlrme-leitpaste aufgetragen Beide Bauteile fest mit einer Schraube M3x10 und ei-ner 1 Mutter verschrauben

Dann den Spannungsregler einloumlten um 90deg abzubiegen das uumlberstehende Gewinde durch das vorgesehene Loch stecken und alles mit einer 2 Mutter auf der Platine befestigen

1 Mutter

2 Mutter

Schr

aube

L7805

Platine

KuumlhlkoumlrperWaumlrmeleitpaste

Beinchen

Loumlten

39

Spannungsregler L7805 Kuumlhl-koumlrper und Montage

19

Steckernetzteil

Funktionskontrolle vor dem Einsetzen des Mikrocontrollers Polung der Elektrolyt-Kondensatoren (Elkos) pruumlfen Sind alle Beinchen angeloumltet Hat das Loumltzinn an den Beinchen und der Pla-

tine guten Kontakt Sind eventuell zwei benachbarte Beinchen unbeabsichtigt durch Loumltzinn verbunden Alle Loumltverbindungen nochmals genau z B mit ei-ner Lupe pruumlfen

Probeweise das Stecker-Netzteil an die Buchse anschlieszligen Am 100 nF-Kondensator links mittig der 40-poligen IC-Fassung muumlssen 5 V anliegen

Versorgungsspannung unbedingt wieder von der Platine trennen

20

21

ICs MAX232 und ATmega16

Die Nuten auf den ICs am linken Rand muumlssen nach oben zeigen d h Pin1 ist bei beiden ICs in der Abbildung links unten und auf der Platine oben links

Manchmal passen die Beinchen der ICs nicht in die Fassung weil die Fas-sung scheinbar zu schmal ist Dann den IC seitlich mit einer Beinchen-Reihe flach auf den Tisch legen den IC-Koumlrper links und rechts greifen und Bein-chen durch leichten Druck biegen Einzelne verbogene Beinchen vorsichtig mit einer kleinen Flachzange richten

22

23

Wannenstecker 10- und 14-polig

Wannenstecker an den vorgesehe-nen Stellen mit der Nut gegen Ver-polung in Richtung des naumlherliegen-den Platinenrands einloumlten

Die Abbildung rechts zeigt die Pin-Belegung der Wannenstecker

24

Stiftleiste 8-polig 40-pol Stiftleiste in 4 jeweils 8-polige Stuumlcke zerteilen und einloumlten

25

Kunststoffgehaumluse

In der Selbstbauvariante der Platine (Nr 0) vor dem Einsetzten der Platine in das Gehaumluse passend positionierte Kunststoffstege am Gehaumluseboden fest-kleben

Tab 8 Bestuumlckung der Platine des Interface mit Bauelementen

42 Erweiterungsschaltungen 421 Uumlbersicht In Tab 3 sind von RCLs des RCL-Portals Sensoren und Aktoren mit den dazugehoumlrigen Er-weiterungsschaltungen zusammengestellt Da alle RCLs obligatorisch uumlber mindestens eine Webcam verfuumlgen sind diese unter den Sensoren nicht aufgefuumlhrt Die wenigen Erweite-rungsschaltungen fuumlr Sensoren sind unter Sensoren in Klammern aufgelistet Unter Aktoren werden auszliger elektro-mechanischen Wandlern auch gesteuerte Geraumlte oder Bauelemente verstanden Anzeigeinstrumente sind unter Aktoren nur aufgefuumlhrt wenn sie direkt vom In-terface gesteuert werden Mit gekennzeichnete Erweiterungsschaltungen befinden sich au-szligerhalb des Interface

40

RCL Sensoren Aktoren Erweiterungsschaltungen fuumlr Aktoren

Beugung und Interferenz I Referenz-Taster

Schrittmotor (Rotation) Schrittmotorsteuerung Laser-Modul Geschaltete Spannungsversorgung

Beugung und Interferenz II

4 Referenz-Taster Lichtsensor

4 Schrittmotoren (Translation) 4 Schrittmotorsteuerungen 5 Laser-Module Geschaltete Spannungsversorgung LED fuumlr Position des

Lichtsensors Geschaltete Spannungsversorgung

LED fuumlr Linealbeleuchtung Geschaltete Spannungsversorgung

Elektronen-beugung

Hochspannungsnetzgeraumlt Geschaltete Spannungsversorgung Hochspannungsnetzgeraumlt Steuerung der Hochspannung

Fotoeffekt 2 Referenz-Taster Photozelle

2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen

Quecksilberdampflampe Geschaltete Spannungsversorgung

der Drossel fuumlr Quecksilberdampf-lampe

Halbleiter-kennlinien

und Halbleiterkennli-nien - Schuumller-

projekt

Referenz-Taster

Schrittmotor (Rotation) Schrittmotorsteuerung Oszilloskop Geschaltete Spannungsversorgung

Oszilloskop Instrumentenverstaumlrker fuumlr X- und Y-Ablenkung

Multimeter Steuerung Spannungs- oder Strom-anzeige

Heiszliger Draht 4 Endtaster 4 Drehgeber Kurzschlusssensor

4 Gleichstrommotoren 4 Treiber

Zweifarbige LED Steuerung der LED-Farbe

Lichtgeschwin-digkeit

Drehimpulsgeber 2 Taster an Enden

der Eisenbahnstre-cke

2 Schrittmotoren 2 Schrittmotorsteuerungen Oszilloskop Geschaltete Spannungsversorgung

Motor der Lokomotive Steuerung des Ein- und Ausschal-tens und der Bewegungsrichtung

Maut Infrarot-Sensor Gleichstrommotor Geschaltete Spannungsquelle 2 IR-Fernbedienungen Spannungsregler 2-stellige 7-Segmentanzeige LED-Treiber

Millikan-Versuch 2 Referenz-Taster

2 Schrittmotoren 2 Schrittmotorsteuerungen Lichtquelle (LED) fuumlr Millikan-

Kondensator Geschaltete Spannungsversorgung

Airbrush-Kompressor Geschaltete Spannungsversorgung Magnetventil Geschaltete Spannungsversorgung Millikan-Kondensator Gesteuertes Hochspannungsmodul

Optische Com-putertomogra-

phie

2 Referenz-Taster 2 Lichtsensoren

Schrittmotor (Rotation) Schrittmotorsteuerung Schrittmotor (Translation) Schrittmotorsteuerung

2 Laser-Module 2 geschaltete Spannungsversor-gungen

Optische Fou-rier-

Transformation 2 Referenz-Taster

2 Schrittmotoren (Translation) 2 Schrittmotorsteuerungen

Laser-Modul Geschaltete Spannungsversorgung

Oszilloskop Oszilloskop Geschaltete Spannungsversorgung Signalgenerator Steuerung der Signalart

Radioaktivitaumlt 4 Referenz-Taster Geiger-Muumlller-

Zaumlhlrohr

2 Schrittmotoren (Translation) 2 Schrittmotorsteuerungen 2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen 4-stellige 7-Segment-Anzeige Treiber Elektromagnet Geschaltete Spannungsversorgung

Roboter im Labyrinth Infrarot-Sensor

2 Schrittmotoren 2 Schrittmotorsteuerung Infrarot-Sender Treiber

Rutherfordscher Streuversuch

2 Referenz-Taster Halbleiterdetektor

(Impulsformer)

2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen

4-stellige 7-Segment-Anzeige Treiber

Weltpendel

Referenz-Taster Lichtsensor der

Lichtschranke (Im-pulsformer)

Temperatursensor

Schrittmotor (Translation) Schrittmotorsteuerung Elektromagnet Geschaltete Spannungsversorgung

Laser der Lichtschranke Geschaltete Spannungsversorgung

Windkanal Referenz-Taster Schrittmotor (Translation) Schrittmotorsteuerung

41

Dehnungsmess-streifen (Wheat-stonesche Bruumlcke Messverstaumlrker Multimeter)

Geblaumlsemotor Geschaltete Spannungsversorgung

und Ansteuerung mit Pulsweiten-modulation

Anemometer Geschaltete Spannungsversorgung Multimeter Geschaltete Spannungsversorgung

Tab 9 Sensoren Aktoren und Erweiterungsschaltungen der RCLs des RCL-Portals

422 TMC222-Modul zur Schrittmotorsteuerung 4221 Schaltplan und Bauteilliste Abb 1 zeigt die Beschaltung des TMC222 von Trinamic auf dem TMC222-Modul

Abb 24 Beschaltung des TMC222 von Trinamic

Anhand der Bauteilliste in Tab 10 koumlnnen die elektronischen Bauelemente des TMC222-Moduls bei Reichelt electronic bestellt werden Ein TMC222-Modul kostet ungefaumlhr 10 euro

Nr Anzahl Kurzbeschreibung des Bauteils Best-Nr bei Reichelt electronic

Einzelpreis in euro

0 1 Epoxyd-Fotoplatine einseitig 75x100 mm 15 mm 35 microm BEL75X100-1 096 1 1 Integrierter TMC-Schrittmotor-Controller TMC 222 SI asymp 7 2 1 Elektrolytkondensator 8x11 mm Rm 35 mm 100 microF35 V RAD 10035 004 3 1 Tantal-Kondensator Rm 25 10 microF35 V Tantal 1035 014 4 2 Vielschicht-Keramikkondensator 220 nF 20 Z5U-25 220N 011 5 3 Vielschicht-Keramikkondensator 100 nF 20 Z5U-25 100N 004 6 2 Metallschichtwiderstand 100 kΩ Metall 100K 0082 7 1 1x36pol Stiftleiste gewinkelt Rm 254 SL 1X36W 027 8 1 1x36pol Buchsenleiste gerade Rm 254 BL 1X36G 025

Tab 10 Bauteilliste mit Bestellnummer und Einzelpreisen der Bauelemente bei Reichelt electronic (Stand 23102010)

4222 Bestuumlckung der Platine

42

Abb 25 zeigt die fertig bestuumlckte Platine mit den Nummern aus Tab 10

Abb 25 Bestuumlckte Platine des TMC222-Moduls

mit nummerierten Bauelementen

Die Platine (35 mm x 30 mm) kann anhand des Layouts in Abb 26 hergestellt werden Der IC TMC222 wird auf der Loumltseite der Platine aufgeloumltet Das TMC222-Modul kann mit der Stiftleiste (larr Tab 10 Nr 7) in eine Buchsenleiste (larr Tab 10 Nr 8) auf die Platine des In-terface gesteckt werden

Abb 26 Platine des TMC222-Moduls von der Loumltseite (links) und Layout

4223 Quellcode des Mikrocontroller-Programms Im Folgenden ist ein mit Bascom (larr 12 Tab 1 Entwicklungsumgebungen) erstelltes Bei-spiel-Programm zur Ansteuerung des Schrittmotormoduls TMC222 durch den Mikrocontroller ATmega16 angegeben $regfile = m16DEFdat $crystal = 11059200 $baud = 9600 Definitionen Config Scl = Portc0 Taktleitung Config Sda = Portc1 Datenleitung Const Adress = ampB11000000 I2C Adresse des TMC222 Const GetFullstatus1 = ampB10000001 Kommando des TMC222 Const Resetpos = ampB10000110 Kommando des TMC222 Const Motorparameter = ampB10001001 Kommando des TMC222 Const Setposition = ampB10001011 Dim Puffer(10) As Byte

43

Programm I2csend Adress GetFullstatus1 GetFullstatus1 (Initialisierung des TMC222) I2creceive Adress 7 Ack Daten in Puffer auslesen Puffer(1) = Motorparameter puffer auffuumlllen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB11110011 1111irun 0011ihold Puffer(5) = ampB01110001 0111vmax 0001vmin Puffer(6) = ampB00010000 000securepos(bit10-8) 1shaft 0000acceleration Puffer(7) = 0 securepos(bit7-0) Puffer(8) = ampB00001100 000nicht belegt 0accshape 11stepmode 00nicht belegt I2csend Adress Puffer(1) 8 I2csend Adress Resetpos aktuelle Position auf 0 setzen Puffer(1) = Setposition Motor bewegen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB01111111 position(bit 15-8) Puffer(5) = ampB11111111 position(bit 7-0)acute I2csend Adress Puffer(1) 5 End

423 Geschaltete Spannungsquellen und Verbraucher Die Ausgaumlnge des Mikrocontrollers duumlrfen nur mit Stroumlmen kleiner als ungefaumlhr 20 mA belas-tet werden Verbraucher mit einer Stromlast groumlszliger als 20 mA koumlnnen daher nicht direkt an den Mikrocontroller angeschlossen werden Abb 27 zeigt links eine Schaltung zum Schalten eines Verbrauchers wie z B des Relais und rechts eine Schaltung mit dem IC ULN2803A zum Schalten mehrerer Verbraucher wie z B Gluumlhlampen

Abb 27 Erweiterungsschaltungen zum Schalten eines (links) oder

mehrerer Verbraucher (rechts)

Zu beachten ist dass der Transistor BC337 maximal 800 mA schalten kann und fuumlr groumlszligere Stroumlme andere Transistoren verwendet werden muumlssen

424 Steuerung von Gleichstrommotoren

44

Sollen Gleichstrommotoren zum Bewegen von Objekten mit dem Mikrocontroller gesteuert werden dann eignet sich dazu der in Abb 28 dargestellte beschaltete IC L293D

Abb 28 Beschaltung des L293D zum

Steuern zweier Gleichstrom-motoren

Mit Pin 1 = Pin 9 = 1 (High) koumlnnen zwei Gleichstrommotoren M1 und M2 (Versorgungs-spannung UM lt 36 V Spulendauerstrom IM lt 600 mA) unabhaumlngig voneinander ein- und ausgeschaltet sowie in der Drehrichtung uumlber die Ports PA0 und PA1 fuumlr M1 und PA2 und PA3 fuumlr M2 gesteuert werden Z B gilt mit PA0 = PA1 = 0 (M1 ausgeschaltet) PA0 = 1 und PA1 = 0 (M1 dreht sich) PA0 = 0 und PA1 = 1 (M1 dreht sich in Gegenrichtung)

45

43 Quellcodes zum RCL Elektronenbeugung 431 Mikrocontroller-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

46

47

48

49

432 PHP-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

50

51

433 Bedienfeld der Laborseite

Tab 11 erlaumlutert die Funktion der Bloumlcke im Quellcode

Zeilen Funktion 1 Datei defaultconf einbinden 2 Datei headtpl einbinden

5 - 11 Ausgabe der verbleibenden Experimentierzeit 18 - 21 Button zum Einschalten der Elektronenbeugungsroumlhre 28 - 30 Eingabefeld fuumlr die Beschleunigungsspannung

37 Ruumlckmeldung zur eingegebenen Beschleunigungsspannung 42 Datei foottpl einbinden

Tab 11 Funktion der Programmbloumlcke in der Datei experi-menttpl

52

434 Webcamfeld der Laborseite

In Tab 12 ist die Funktion der Programmbloumlcke und die Anpassungen der Vorlage an das RCL Elektronenbeugung beschrieben

Zeilen Funktion Anpassung RCL Elektronenbeugung

5 Titelangabe erscheint als Tabulatorbeschriftung in Browsern

Name des RCLs eintragen

11 - 15 16 - 20

Zwei Javascripts zum getrennten Aufrufen zweier Po-pup-Fenster mit dargestelltem Webcambildern 1 und 2

Javascript 1 die IP-Adresse eintragen Javascript 2 auskommentiert weil nicht benoumltigt

24 - 40 42 - 60

Zwei Javascripts zum Aktualisieren der Webcambilder 1 und 2

Javascript 2 auskommentiert weil nicht benoumltigt

67 - 71 79 - 83

Aufrufen des ersten Webcambilds der Webcams 1 und 2 beim Aufrufen der Datei

Webcambild 2 auskommentiert weil nicht benoumltigt

72 - 78 84 - 90

Buttons zum Aufrufen der Screenshots der Webcam-bilder 1 und 2

Button 2 auskommentiert weil nicht benoumltigt

91 - 95 Zeile der Tabelle zum Eintragen von Informationen die sich auf die Webcambilder oder den Versuch beziehen

Text in Zeile der Tabelle geschrieben

Tab 12 Funktionen der Codeabschnitte in der Datei videohtm und Anpassung der Vor-lage an das RCL Elektronenbeugung

53

44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung Im Folgenden wird die Installation und Konfiguration des AVR-Studios 418 und der Bascom 11198 Demoversion beschrieben Alle Anleitungen sind zeilenweise von links nach rechts zu lesen

441 AVR-Studio 418 4411 Installation Auf der Webseite von ATMEL Register AVR Studio 418 (build 684) anklicken und Registrie-rungsformular ausfuumlllen Danach die Datei AvrStudio418Setup herunterladen Durch Dop-pelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen Next waumlhlen

I accept hellip und Next waumlhlen Installationsordner und Next waumlhlen

54

Installupgrade hellip und Next waumlhlen Install waumlhlen Die Installation beginnt

Finish waumlhlen

4412 Konfiguration AVR Studio 418 in Windows XP Professional unter StartProgramme aufrufen

Startfenster mit Cancel schlieszligen Unter ToolsProgram AVR Auto Connect waumlhlen

55

Im eingeblendeten Fenster auf der Registerkarte Main als Device ATmega16 und als Programming Mode ISP mo-de waumlhlen

Optional kann Signatur gelesen werden

In der Registerkarte Fuses alle Haumlkchen und Auswahlfel-der wie angegeben waumlhlen

Dann Program waumlhlen

442 BASCOM 11198 Demoversion 4421 Installation Auf der Webseite von Bascom unter Bascom AVR Demo die Zip-Datei setupdemoexe her-untergeladen Durch Doppelklick auf den Dateinamen die Installation starten

Next waumlhlen I accept the agreement und Next waumlhlen

56

Next waumlhlen Installationsordner eingeben und Next waumlhlen

Eintrag im Start-Menuuml eingeben und Next waumlhlen Next waumlhlen

Yes restart the computer now und Finish waumlhlen

57

4422 Konfiguration Bascom AVR in Windows XP Professional unter StartProgramme zum Einstellen der Para-meter des Mikrocontrollers und des Terminals aufrufen

OptionsCompilerChip waumlhlen Einstellungen wie im Bild vornehmen und OK waumlhlen

Auf der Registerkarte Communications Einstellungen wie im Bild vornehmen und OK waumlhlen

Unter OptionsCommunication Einstellungen wie im Bild

vornehmen und OK waumlhlen FileNew waumlhlen Unter ToolsTerminal emulator das Terminal aufrufen und

eingeben Die Befehlsliste des RCLs Elektronenbeu-gung wird angezeigt

45 Installation und Konfiguration von Programmen auf dem RCL-Server Im Folgenden wird der Download die Installation und die Konfiguration von Programmen auf dem RCL-Server unter Windows XP Professional beschrieben Alle Anleitungen sind zeilen-weise von links nach rechts zu lesen Die Installation der Programme sollte in der angegebe-nen Reihenfolge erfolgen

58

451 Einrichten des Internet-Zugangs LAN-Verbindung unter StartSystemsteuerungNetzwerkverbindungen aufrufen

Internetprotokoll (TCPIP) und Eigenschaften waumlhlen Folgende IP-Adresse verwenden waumlhlen IP-Adressen ein-

geben und OK waumlhlen

452 Paket XAMPP 174 Unter apache friends - xampp fuumlr windows und XAMPP Windows 174 Installer anklicken und Datei xampp-win32-174-VC6-installerexe speichern Durch Doppelklick auf die Datei die Installation starten

Sprache und Ok waumlhlen Ok waumlhlen

59

Weiter waumlhlen Zielverzeichnis mit Durchsuchen waumlhlen oder eingeben

Apache nicht als Dienst installieren Fertig stellen waumlhlen

Ja waumlhlen Zum Starten des Apache Webservers das Control Panel

unter StartProgrammeXAMPP 173 for Windows mit Start starten Anstelle von Start erscheint Running

Zum Beenden des Apache Webservers Stop waumlhlen Zum Beenden des Control Panels Exit waumlhlen

60

453 Videoserver webcamXP 5 Private Auf der Webseite von Moonware Studios unter webcamXP 55xx die Datei wlite550 herun-terladen Durch Doppelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen I Agree waumlhlen

Next waumlhlen Auszliger webcamXP 5 brauchen keine weiteren Komponen-

ten installiert zu werden

Den vorgeschlagenen Ordner und Install waumlhlen Finish waumlhlen

61

WebcamXP unter StartProgramme aufrufen Zugesandte

Lizenz-Daten in das eingeblendete Fenster eingeben und Register waumlhlen

Beim Starten des Programms stellt webcamXP automa-tisch eine Verbindung zu den am Computer angeschlosse-nen Webcams her

Nach dem Start ist Uumlberwachen gewaumlhlt Durch Rechts-klick mit der Maus auf das Videofenster wird zu jeder Vi-deoquelle ein Kontextmenuuml angezeigt Wird kein Videobild dargestellt das Kontextmenuuml aufrufen Art der Videoquelle waumlhlen (hier USB) und unter den erkannten Videoquellen (hier USB-Videogeraumlt) die gewuumlnschte waumlhlen

Das Videoformat muss fuumlr eine passende Darstellung auf

der Laborseite auf 320 x 240 eingestellt sein Ist das nicht der Fall im Kontextmenuuml unter Video Format einstellen

In gleicher Weise kann eine zweite Videoquelle hinzugefuumlgt werden

In der Registerkarte Web Broadcast kann unter

Broadcast (HTTP) der Videoserver mit Ausschalten ge-stoppt und mit Aktivieren gestartet werden

Zur Zielwahl des Webservers (131246237167 - Internet D16W3X3J - Computer 127001 - Local Host) Videoser-ver stoppen und einstellen Videoserver wieder starten

62

454 Terminalprogramm Hyperterminal Hyperterminal in Windows XP Professional unter StartProgrammeZubehoumlrKommunikation aufrufen

Name der neuen Verbindung - z B Interface - eingeben

und OK waumlhlen Die Verbindung zwischen Computer und Interface wurde

uumlber einen USB-Seriell-Adapter hergestellt Dann erschei-nen zwei zusaumltzliche Eintraumlge (Motorola Comp Modem und COM5) in der Liste Prinzipiell muss eine COMx-Verbindung gewaumlhlt werden

Eigenschaften von COM 5 wie im Bild einstellen und OK

waumlhlen DateiEigenschaften aufrufen und ASCII-Konfiguration

waumlhlen

63

Haken bei Eingegebene Zeichen lokal ausgeben (lokales

Echo) setzen um eingegebenen Zeichen im Hyperterminal zu sehen

Bei funktionsfaumlhiger Verbindung erscheint nach Eingabe von Return die Befehlsliste des Interface

Durch Aufrufen von DateiSpeichern die erstellte Verbin-

dung z B auf dem Desktop speichern Dadurch braucht die Verbindung nicht immer wieder von neuem konfiguriert wer-den

Nach Aufrufen von DateiBeenden die bestehende Verbin-dung mit Ja beenden

64

Wurde ein falscher COM-Port gewaumlhlt reagiert das Inter-

face auf die Eingabe Return nicht Hyperterminal dann beenden

Der COM-Port kann dann nicht unter DateiEigenschaften im Hyperterminal aber unter Eigenschaften des Kontext-menuumls der Datei Interfaceht in der Registerkarte Verbin-den mit geaumlndert werden Dann OK waumlhlen und erneut Verbindung testen

65

455 Fernwartungssoftware TeamViewer 6 Host Auf der Webseite von Teamviewer GmbH unter Fuumlr unbeaufsichtigte Server TeamViewer Vollversion die Datei TeamViewer_Setup-wq herunterladen Das Programm muss auf dem RCL-Server und dem Computer der auf den RCL-Server zugreifen soll installiert werden Durch Doppelklick auf die Datei die Installation starten

Ausfuumlhren waumlhlen Weiter waumlhlen

Fuumlr die private nicht kommerzielle Nutzung ist Teamviewer kostenlos

privat nicht-kommerziell und Weiter waumlhlen

Beide Haumlkchen setzen und Weiter waumlhlen

66

Ja un Weiter waumlhlen Weiter

Computername und Kennwort fuumlr den Zugriff auf den RCL-Server oder den eigenen Computer vergeben Kenn wort notie-ren

Ein Teamviewerkonto ist nicht erforderlich Kann auch spaumlter noch eingerichtet werden

ID fuumlr den Computer auf dem das Programm installiert wird fuumlr Zugriff notieren

Das Programm wird gestartet Standardmaumlszligig vorein-gestellt ist der Start des Programms beim Start des Be-trienssystems

67

46 Selbstbau eines elementaren RCLs 461 Hard- und Software Auch ohne gleich ein vielleicht teures physikalisches Experiment zu steuern laumlsst sich mit wenigen Bauelementen ein elementares RCL realisieren Von einer Webseite im Internet sol-len eine Leuchtdiode (LED) ein- oder ausgeschaltet sowie der Zustand der Leuchtdiode und eines Tasters abgefragt werden An Hard- und Software werden benoumltigt

1 Low-Current-LED 5 mm 2 mA 1 Widerstand 18 kΩ 1 Taster und optional zwei 10-polige Wannenstecker mit ungefaumlhr 10 cm passendem Flachbandkabel und Buchsen

Interface in Basisschaltung Null-Modem-Kabel 12 V DC Steckernetzteil (larr 1)

Installierte Bascom-Demo-Version (larr 42)

AVR ISP-Programmer mit 10-poligem Programmierkabel

Installiertes und konfiguriertes AVR Studio 418 (larr 41)

Installiertes Paket XAMPP (larr 52)

Texteditor wie z B Notepad in Windows XP Professional

Konfigurierte Hyperterminalverbindung (larr 54)

462 Bestuumlckung der Platine Abb 29 zeigt zur Orientierung fuumlr das Einloumlten der Bauelemente die fertig bestuumlckte Platine des Interface

Abb 29 Mit elementarem RCL bestuumlckte Platine

des Interface

LED mit Vorwiderstand und der Taster sind rechts neben dem Mikrocontroller im Lochraster-bereich aufgebaut und uumlber Wannenstecker und Flachbandkabel mit dem Port A des Mikro-controllers verbunden (die drei Bauteile rechts neben dem ATmega16 werden nicht benouml-tigt) Tab 13 erlaumlutert die Schritte zur Bestuumlckung der Platine des Interface

68

Nr Schaltung Erlaumluterung

1

Die Leuchtdiode (LED) mit dem Pluspol (langes Beinchen) an PortA0 (PIN40 oben rechts) des Mikrocontrollers anloumlten

An das kurze Beinchen einen 18kΩ Widerstand loumlten dessen anderes Ende mit der Masse (GND) verbinden

2

Den Taster mit PortA1 (PIN39 = 2 Beinchen von oben rechts) und Masse (GND) verbinden

3

Draufsicht

Belegung des 10-poligen Wannensteckers 1 GND (Masse) im Foto oben links 2 +5 V 3 PortA0 4 PortA1 10 PortA7 im Foto unten rechts

Tab 13 Schritte zum Aufbau des elementaren RCLs

463 Lokal gesteuertes RCL Nachfolgend ist der Basic-Programmcode des Mikrocontrollers zur Steuerung und Abfrage der LED und des Tasters angegeben 01 $regfile = m16DEFdat Microcontroller ATmega16 02 $crystal = 11059200 110592MHz Quarz 03 $baud = 9600 Baudrate 04 05 ---[ Variables ]--------------------------------------------------------------- 06 Dim Rs232kommando As String 10 erst Befehlspuffer dann Kommando 07 Dim Parameter As String 10 Parameter 08 Dim Str_pos As Byte Position von Leerzeichen zur Trennung von Kommando und Pa-rameter 09 10 ---[ Initialisierung ]--------------------------------------------------------- 11 Ddra0 = 1 PortA0 als Ausgang fuumlr LED 12 Porta0 = 0 LED aus 13 Ddra1 = 0 PortA1 als Eingang fuumlr Taster 14 Porta1 = 1 Pull-Up aktivieren 15 16 ---[ Main program loop ]------------------------------------------------------- 17 Do Start der Endlos-Schleife 18 19 If Ischarwaiting() = 1 Then Zeichen uumlber RS232 empfangen 20 Input Rs232kommando neues Kommando lesen 21 Parameter = Parameter initialisieren 22 Str_pos = Instr(rs232kommando ) Leerzeichen im Kommando suchen 23 If Str_pos gt 0 Then falls Leerzeichen dann in Kommando+Parameter zerlegen 24 Incr Str_pos Str_pos soll jetzt auf 1Zeichen des Parameters zeigen 25 Parameter = Mid(rs232kommando Str_pos ) Parameter = Teilstring nach Leerzeichen 26 Parameter = Ucase(parameter) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 27 Str_pos = Str_pos - 2 Str_pos soll jetzt auf letztes Zeichen des Kommandos zeigen 28 Rs232kommando = Left(rs232kommando Str_pos)Kommando = Teilstring vor Leerzeichen 29 Rs232kommando = Ucase(rs232kommando) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 30 End If 31 32 Select Case Rs232kommando Eventhandler Interpretation der Kommandos 33 Case Print Hilfe Hilfeseite anzeigen 34 Print LED on - LED einschalten 35 Print LED off - LED ausschalten 36 Print LED - zeigt Status der LED an 37 Print SW - zeigt Status des Schalters an 38

1K8

LED rotmicroC PortA0(PIN40)

Taster

microC PortA1(PIN39)

1

3

2

69

39 Case LED If Parameter = ON Then LED schalten 40 Porta0 = 1 41 End If 42 If Parameter = OFF Then 43 Porta0 = 0 44 End If 45 46 Case LED If Porta0 = 0 Then Status der LED ausgeben 47 Print LED aus 48 Else 49 Print LED an 50 End If 51 52 Case SW If Pina1 = 1 Then Status des Schalters ausgeben 53 Print Taster offen 54 Else 55 Print Taster geschlossen 56 End If 57 58 Case Else Print gt Rs232kommando lt ungueltiger Befehl - weitere Infos mit Info bei unguumlltigen Eingaben 59 End Select 60 61 End If 62 63 Loop Endlos-Schleife Springe zu Do 64 65 End wird nie erreicht

Der erste Teil des Programms (Zeilen 1 - 15) enthaumllt die Systemparameter Variablen und Initialisierung der Ein- und Ausgaumlnge Der zweite Teil enthaumllt ab Zeile 17 das Hauptpro-gramm in dem Benutzereingaben uumlber die serielle Schnittstelle empfangen interpretiert und in entsprechende Anweisungen umgesetzt werden Tab 14 erlaumlutert den Programmcode de-taillierter

Zeilen Erlaumluterung

1 - 3 Diese Angaben teilen dem Compiler (Bascom) mit welcher Prozessor eingesetzt wird wie schnell dieser getaktet (Quarz) ist und mit welcher Uumlbertragungsgeschwindigkeit die Kommunikation uumlber die serielle Schnittstelle (RS232) mit dem PC erfolgen soll

6 - 8 Es werden drei Variablen genutzt Die Eingabe uumlber die serielle Schnittstelle wird in rs232kommando gespeichert Es wird ein Text der Form Kommando ltLeerzeichengt Parameter erwartet so dass die Variable Parameter den-selbigen aufnimmt Die Variable str_pos wird fuumlr die Trennung von Kommando und Parameter benoumltigt

11 - 14

Mit dem Befehl ddrPX (ddr = data direction) wird festgelegt ob ein Beinchen als Ausgang (=1) oder als Eingang (=0) arbeiten soll Der ATmega16 besitzt 32 Ein-Ausgaumlnge die in vier Ports (P=AD) zu je 8 Pins (X=07) unterteilt sind ddrA0 = 1 legt also das 1 Beinchen (Pin 0) von PortA als Ausgang (=1) fest Mit dem Befehl PortA0 =1 kann dieser Pin dann durch Zuweisen von 1 oder 0 an- bzw ausgeschaltet werden Im Datenblatt erfahren Sie welches der 40 Beinchen des Mikrocontrollers wie bezeichnet wird (Pin-Belegung) Wird ein Beinchen als Eingang verwendet (ddrA1 = 0) koumlnnen Sie optional einen so genannten Pull-Up-Widerstand aktivieren (PortA1=1) oder deaktivieren (PortA1=0) Auch hierzu sollten Sie sich unbedingt mit dem Datenblatt vertraut machen

17 63 Das Hauptprogramm besteht aus einer Endlosschleife d h der Mikrocontroller verrichtet ununterbrochen seinen Job so lange er mit Strom versorgt wird

19 - 30 Falls ein Zeichen uumlber die serielle Schnittstelle empfangen wurde wird dieses und alle folgenden gelesen Anschlie-szligend wird gepruumlft ob der empfangene Text von der Form Kommando ltLeerzeichengt Parameter ist so dass er ge-gebenenfalls in ein Kommando und einen Parameter zerlegt werden kann

32 - 59 Dieser Abschnitt wird mit Event-Handler bezeichnet Hier wird auf die Kommandos (Events) reagiert und die ent-sprechenden Schritte ausgefuumlhrt zB schalten LED je nach Wert der Variablen Parameter an- bzw ausschalten

46 52

In beiden Zeilen wird ein Wert eines Ports abgefragt Unterschiedlich ist dass in Zeile 46 der Status eines Ausgangs abgefragt wird (porta0) und in Zeile 52 der Zustand eines Eingangs (pina0) Die Anweisung IF porta0 = 0 THEN pruumlft (hier ist = ein Vergleich und KEINE Zuweisung) ob zuletzt die LED ausgeschaltet (Zuweisung porta0 = 0) wurde Die Anweisung IF pina1= 1 THEN liest den Status eines Eingangs Hier kann festgestellt werden ob der Eingang uumlber den internen Pull-UP-Widerstand auf +5V liegt (pina1 liefert 1) oder ob der Schalter den Eingang mit Masse (0V) verbindet (pina1 liefert 0)

Tab 14 Erlaumluterung des Mikrocontroller-Programmcodes fuumlr elementares RCL

70

In Bascom AVR eine neue Datei erzeugen (FileNew) den Programmcode ohne Kommenta-re eingeben und mit ProgramCompile (F7) eine Hexadezimaldatei erzeugen Die Hexadezi-maldatei mit dem AVR-Studio und dem AVR-ISP-Programmer in den Mikrocontroller schrei-ben (larr 222 Programmuumlbertragung) Nach dem Verbinden von Computer und Interface per Null-Modem-Kabel kann durch Eingabe von in das konfigurierte Hyperterminal die Befehls-liste in Abb 30 aufgerufen werden

Abb 30 Aufgerufene Befehlsliste im Hyperterminal

Durch Eingabe von LED on oder LED off kann die LED ein- und ausgeschaltet LED zeigt den Status der LED und sw den Status des Tasters an Alternativ zum Hyperterminal kann auch das Terminal in BASCOM unter ToolsTerminal Emulator verwendet werden (larr 422)

464 Ferngesteuertes RCL Zum Ansteuern des Interfaces und zum Bedienen des Versuchsaufbaus uumlber das Internet wird eine Webseite benoumltigt die dem Benutzer alle Bedienelemente des Experiments zur Verfuumlgung stellt

Der Benutzer benoumltigt anklickbare Buttons im Webbrowser

Der Webserver muss die Information welcher Button gedruumlckt wurde empfangen und ein entsprechendes Kommando uumlber die serielle Schnittstelle an das Interface senden

Beide Schritte sind im nachfolgenden PHPHTML-Quellcode zusammengefasst 01 ltDOCTYPE HTML PUBLIC -W3CDTD HTML 401 TransitionalEN httpwwww3orgTRhtml4loosedtdgt 02 lthtmlgt 03 ltheadgt 04 ltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1gt 05 lttitlegtelementares RCLlttitlegt 06 ltheadgt 07 08 ltbodygt 09 ltphp 10 if (isset($_POST[Kommando])) wurde bereits Kommando gesendet 11 if( ( $handle = fopen( COM1 w+ ) ) ) Schnittstelle oumlffnen 12

71

13 throw new Exception( Can not access serial port 2 ) ohne Erfolg 14 15 fwrite( $handle $_POST[Kommando] chr( 13 ) ) Befehl an Interface senden 16 switch ( $_POST[Kommando] ) Antwort von Interface auswerten 17 case LED $tmp = fgets( $handle ) Echo von Interface ignorieren 18 $antwort = fgets( $handle ) Antwort des Interfaces 19 echo Antwort $antwort Ausgabe auf Webseite 20 break switch verlassen 21 22 case SW $tmp = fgets( $handle ) Echo von Interface ignorieren 23 $antwort = fgets( $handle ) Antwort des Interfaces 24 echo Antwort $antwort Ausgabe auf Webseite 25 break switch verlassen 26 27 28 29 fclose( $handle ) Schnittstelle schlieszligen 30 31 else 32 `mode com1 BAUD=9600 PARITY=N data=8 stop=1 xon=off` Schnittstellenparameter setzen 33 34 35 gt 36 37 lth3gtBefehl sendenlth3gt 38 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 39 ltinput type=hidden name=Kommando value=LED ON gt 40 ltinput type=submit value=LED anschalten gt 41 ltformgt 42 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 43 ltinput type=hidden name=Kommando value=LED OFF gt 44 ltinput type=submit value=LED ausschalten gt 45 ltformgt 46 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 47 ltinput type=hidden name=Kommando value=LED gt 48 ltinput type=submit value=LED abfragen gt 49 ltformgt 50 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 51 ltinput type=hidden name=Kommando value=SW gt 52 ltinput type=submit value=Taster abfragen gt 53 ltformgt 54 ltbodygt 55 lthtmlgt Den Quellcode in den Texteditor kopieren und im Ordner htdocs von XAMPP z B unter rclphp speichern HTML-Dateien mit PHP-Code (Zeilen 9-35) muumlssen mit der Erweiterung php gespeichert werden damit der Apache Webserver zwischen HTML-Seiten mit und ohne PHP-Code unterscheiden kann Den installierten Apache Webserver starten (larr 452) und im Adressfeld des Webbrowsers die IP-Adresse http127001rclphp aufrufen Das Bedi-enfeld des elementaren RCLs in Abb 31 wird im Browserfenster angezeigt

72

Abb 31 Laborseite des elementaren RCLs

Im Bedienfeld kann die LED an- und ausgeschaltet sowie der Status von LED und Taster abgefragt werden

  • 0 Warum ein Tutorial zur RCL-Technik
  • 1 Technische Konzeption
    • 11 Einfuumlhrung
    • 12 Wahl der RCL-Technik
      • 2 Lokal gesteuertes RCL
        • 21 Interface
          • 211 Mikrocontroller
          • 212 Basisschaltung und Erweiterungsschaltungen
          • 213 Programmierung des Mikrocontrollers
            • 22 Hyperterminal
            • 23 Positionieren von Objekten
              • 231 Hybrid-Schrittmotoren
              • 232 Schrittmotorsteuerung und Positionierungsmechanik
                  • 3 Ferngesteuertes RCL
                    • 31 RCL-Server
                    • 32 Laborseite
                      • 321 Steuerung des RCLs uumlber das Bedienfeld
                      • 322 Videouumlbertragung im Webcamfeld
                        • 33 Standard-Lernumgebung
                          • 4 ANHANG
                            • 41 Interface in Basisschaltung
                              • 411 Schaltplan und Bauteilliste
                              • 412 Bestuumlckung der Platine
                                • 42 Erweiterungsschaltungen
                                  • 421 Uumlbersicht
                                  • 422 TMC222-Modul zur Schrittmotorsteuerung
                                    • 4221 Schaltplan und Bauteilliste
                                    • 4222 Bestuumlckung der Platine
                                    • 4223 Quellcode des Mikrocontroller-Programms
                                      • 423 Geschaltete Spannungsquellen und Verbraucher
                                      • 424 Steuerung von Gleichstrommotoren
                                        • 43 Quellcodes zum RCL Elektronenbeugung
                                          • 431 Mikrocontroller-Programmierung
                                          • 432 PHP-Programmierung
                                          • 433 Bedienfeld der Laborseite
                                          • 434 Webcamfeld der Laborseite
                                            • 44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung
                                              • 441 AVR-Studio 418
                                                • 4411 Installation
                                                • 4412 Konfiguration
                                                  • 442 BASCOM 11198 Demoversion
                                                    • 4421 Installation
                                                    • 4422 Konfiguration
                                                        • 45 Installation und Konfiguration von Programmen auf dem RCL-Server
                                                          • 451 Einrichten des Internet-Zugangs
                                                          • 452 Paket XAMPP 174
                                                          • 453 Videoserver webcamXP 5 Private
                                                          • 454 Terminalprogramm Hyperterminal
                                                          • 455 Fernwartungssoftware TeamViewer 6 Host
                                                            • 46 Selbstbau eines elementaren RCLs
                                                              • 461 Hard- und Software
                                                              • 462 Bestuumlckung der Platine
                                                              • 463 Lokal gesteuertes RCL
                                                              • 464 Ferngesteuertes RCL

28

32 Laborseite 321 Steuerung des RCLs uumlber das Bedienfeld Das Bedienfeld der Laborseite (larr 11 Abb 3) wird von der Dateien indexphp und experi-menttpl erzeugt Befehle wie das Anklicken von Buttons Eingaben und Auswahl aus Listen werden in ein HTML-Formular mit Formularfeldern in der Datei experimenttpl geschrieben Die Daten werden von der PHP-Datei experimentphp ausgewertet und uumlber die serielle Schnittstelle dem Mikrocontroller-Programm zur Steuerung des Experiments uumlbergeben Die Dateien experimentphp und experimenttpl wurden getrennt angelegt um Code und Design zu trennen und nur das Design in der Datei experimenttpl an die Portalsprache anpasst werden muss

Tab 5 enthaumllt Ausschnitte der HTML-Datei experimenttpl (rarr 433) der Datei experi-mentphp (rarr 432) und des Mikrocontroller-Programms (rarr 431) fuumlr das RCL Elektronen-beugung

29

Code mit Erlaumluterung

expe

rimen

ttpl

1821 Tag ltformgtltformgt definiert ein Formular 18 Attribut action legt fest dass Formulardaten in der Datei indexphp verarbeitet werden Uumlbertragen

werden eine Session-ID ($sid) um exklusiven Zugriff des jeweilgen Besuchers zu sichern und ($portal) um die vom Besucher gewaumlhlte Sprache beizubehalten post ist eine Uumlbertragungsmethode zwischen Browser und Webserver und gibt die die vom Besucher gewaumlhlte Aktion zum Ansteuern des Experiments an die Datei experimenttpl weiter

20 Erzeugt im Bedienfeld den Sendebutton (submit) mit der Aufschrift Elektronenroumlhre einschalten (valu-e)

19 Unsichtbares Feld (hidden) mit Variablennamen action und Wert RoumlhreAn Der Variablenname ac-tion stimmt nur zufaumlllig mit action in Zeile 18 uumlberein

expe

rimen

tphp

24 Die Funktion wird als Eventhaumlndler bezeichnet weil je nach uumlbergebener Aktion - siehe Zeile 19 in experi-

menttpl - die entsprechenden Anweisungen (case) ausgefuumlhrt werden 37 Fuumlr den Fall dass die Variable $action den Wert RoumlhreAn hat wird die Funktion power_on() aufgeru-

fen

59 Schreibt in die Logdatei logtxt den Text RoumlhreAn 6061 Oumlffnet den in der Datei configphp zentral gespeicherten Com-Port an den das Interface angeschlossen ist

oder gibt Fehlermeldung Can not access file system im Bedienfeld aus falls der Com-Port sich nicht oumlff-nen laumlsst

62 Sendet die Zeichenfolge On und chr(13) (entspricht der Betaumltigung der Return-Taste im Hyperterminal) an den Mikrocontroller

63 Schlieszligt serielle Schnittstelle

Que

llcod

e M

ikro

cont

rolle

r

166 Wird uumlber die serielle Schnittstelle der Befehl on empfangen und ist das Einschalten zulaumlssig (Zeiten fuumlr

PowerOnDelay und Standby abgelaufen) dann hellip 167 Hochspannungsnetzgeraumlt einschalten 168 Der DA-Wandler PCF8591 wird unter seiner Adresse PCF8591 = 01001000 angesprochen Parameterein-

stellungen mit 01000000 und Ausgangsspannung auf 0 V einstellen 169 Setzt Standby auf vorgegebene Standbyzeit zuruumlck 171 Gibt Meldung aus wie lange PowerOnDelay noch dauert

Tab 5 Uumlbertragung des Befehls Elektronenroumlhre einschalten vom Bedienfeld zum Experi-ment

30

Anhand der Erlaumluterungen der Programmcodes koumlnnen die Ablaumlufe zwischen dem Druumlcken des Buttons Elektronenroumlhre einschalten und dem Einschalten der Elektronenbeugungs-roumlhre oder der Eingabe einer Beschleunigungsspannung und dem Anlegen einer Beschleu-nigungsspannung verfolgt werden Uumlber das Bedienfeld koumlnnen nur die von der Datei expe-rimenttpl bereitgestellten Befehle on und da der insgesamt implementierten Befehle (rarr 22 Abb 10) aufgerufen werden

322 Videouumlbertragung im Webcamfeld Zur Aufnahme von Livebildern des Experiments koumlnnen USB-Webcams und IP-Kameras (Netzwerkkameras) eingesetzt werden Teurere IP-Kameras muumlssen eingesetzt werden wenn die Kamera wie z B beim RCL Roboter im Labyrinth zu weit vom Computer entfernt ist oder eine besonders lichtempfindliche Kamera aus der Uumlberwachungstechnik wie z B beim RCL Millikan-Versuch benoumltigt wird W-LAN-Kameras kommen zum Einsatz wenn Bil-der von einem beweglichen Objekt aus wie z B beim RCL Roboter im Labyrinth uumlbertra-gen werden sollen

Das Videoserverprogramm webcamXP 5 erkennt beim Aufrufen automatisch an den RCL-Server angeschlossenen USB-Webcams Vor dem Kauf einer IP-Kamera ist zu pruumlfen ob das Modell unterstuumltzt wird14 IP-Kameras muumlssen im Kontextmenuuml der Videoquelle konfigu-riert werden Abb 17 zeigt das Webcambild einer USB-Webcam vom Szintillationsschirm der Elektronenbeugungsroumlhre

Abb 17 Webcambild des Szintillationsschirms der Elektro-

nenbeugungsroumlhre einer USB-Webcam in webcamXP 5 beim RCL Elektronenbeugung

14 Vgl Moonware Studios webcamXP IP-cameras for webcamXP

31

Zum Einbinden des Webcambilds in die Laborseite des RCLs wird die laborsprachenabhaumln-gige Datei videohtm (rarr 434) in den Ordnern eng fra ger und ita verwendet Standardmauml-szligig werden zwei Webcambilder und Screenshots unterstuumltzt der Code fuumlr weitere Webcam-bilder kann durch copy and paste hinzugefuumlgt werden

Unter den Technologien Java Javaskript Flash und Windows Media fuumlr die Wiedergabe ei-nes Livestreams auf eine Webseite wurde Javaskript gewaumlhlt weil die anderen Technologien die Installation des Java Runtime Environments (JRE) des Flash- oder Windows Media Players durch den Besucher eines RCLs voraussetzen Die Wiedergabe des Livestreams mit einem Java-Applet startet zudem erst verzoumlgert nachdem das Applet geladen ist und verfuumlgt uumlber eine zu geringe Wiedergabegeschwindigkeit

33 Standard-Lernumgebung Bestandteil der Entwicklung eines RCLs ist die Erstellung einer Standard-Lernumgebung zum RCL Abb 18 zeigt exemplarisch fuumlr die deutschen Webseiten im Ordner ger das Menuuml (larr 11 Abb 3) und die Dateistruktur der Standard-Lernumgebung

Abb 18 Deutschsprachiges Menuuml und Dateistruktur der Standard-Lernumgebung

RCL-spezifisch anzupassende Dateien sind grau hinterlegt

Die englischen Dateinamen introductionhtm setuphtm hellip im Ordner ger korrespondieren mit den deutschen Menuumlpunkten Wird das RCL unter dem Menuumlpunkt RCLs des RCL-Portals aufgerufen dann ruft die Frameset-Datei indexhtm die Dateien menuumlhtm und intro-ductionhtm auf und das Menuuml wird zusammen mit der Webseite Einstieg dargestellt Die Wahl weiterer Menuumlpunkte ruft jeweils die korrespondiere Datei im Ordner auf Bei Wahl des Menuumlpunkts Labor werden mit der Frameset-Datei laboratoryhtm die Dateien videohtm fuumlr das Webcamfeld und die Datei laborindexphp fuumlr das Bedienfeld aufgerufen

32

Im Ordner docsmaterial werden alle Dokumente fuumlr die Webseite Material im Ordner docsothers die Dokumente anderer Webseiten abgelegt Im Ordner docsoriginals sind die Originale von Dokumenten wie z B Word-Dateien und der verwendeten Bilder abgelegt Grafikdateien der Webseiten Einstieg hellip Auswertung hellip Betreuung werden in gleichnami-gen Ordnern wie z B imagesanalysis abgelegt Bei sprachenunabhaumlngigen Grafikdateien wird unter dem Dateinamen abbx bei sprachenabhaumlngigen unter dem Dateinamen abbx_lan mit lan = eng fra ger und ita gespeichert Analoges gilt fuumlr die als gif-Grafiken forxgif oder forx_langif zu speichernden Formeln Originale von Bildern werden im Ordner imagesoriginals abgelegt Die Webseite zur Datei htdocsindexhtm enthaumllt zum lokalen Aufrufen der Standard-Lernumgebung Links zu den vier Index-Dateien in den Ordnern eng fra ger und ita Die Stylesheet-Datei htdocsrcl_stylecss enthaumllt die Styles der Webseiten

In der Regel werden Standard-Lernumgebungen der RCLs des RCL-Portals von verschiede-nen Personen erstellt Fehlende Gestaltungs- und Formatierungsregeln fuumlhren zu einem un-einheitlichen inattraktivem Erscheinungsbild des RCL-Portals Tab 6 gibt einen Uumlberblick der wichtigsten Gestaltungs- und Formatierungsregeln

Element Richtlinien

Gliederung

Die Webseiten Einstieg Aufbau Aufgaben Diskussion Material und Support enthalten vorgegebene Gliederungspunkte teilweise mit ausgefuumlhrten Uumlberschriften

Die umfangreicheren Webseiten Theorie und Auswertung enthalten ein Inhaltsverzeichnis mit internen Links zu Gliederungspunkten Zwischen Punkten der ersten Gliederungsebene (1 2 hellip) ist ein zwei-zeiliger Abstand (ltpgtampnbspltpgtltpgtampnbspltpgt) zwischen Punkten der zweiten (11 12 hellip) und Punkten der nur falls unbedingt notwendig dritten 111 112 hellip) Gliederungsebene ein einzeiliger Abstand zu waumlhlen Nach Abbildungen und Tabellen folgt ein einzeiliger Abstand zum nachfolgenden Text

Links Keine internen Links zwischen den Webseiten der Lernumgebung Externe Links werden prinzipiell in einem neuen Browserfenster geoumlffnet (blank)

Abbildung

Alle Abbildungen erhalten fortlaufend beginnend mit 1 nummerierte Abbildungsunterschriften der Form Abb x hellip

Abbildungen sind moumlglichst spachenunabhaumlngig d h ohne Texte in der Abbildung zu erstellen Zur Beschriftung koumlnnen z B Zahlen verwendet werden die in der Abbildungsunterschrift oder im Text er-laumlutert werden

Tabellen Tabellen werden in jeder Webseite fortlaufend beginnend mit 1 nummeriert Tabellen sind zu zentrieren Rahmenstaumlrke 1

Formeln

Formeln sind nicht als Textzeichen oder Grafik im laufenden Text einzufuumlgen sondern stets zentriert in einer eigenen Zeile als gif-Grafik

Zum Erstellen der Formel-Grafiken eignet sich z B der Formel-Editor MathType15 mit der Aufloumlsungs-Einstellung 120 dpi fuumlr InternetGif

Formeln brauchen im Rahmen des begrenzten Umfangs der Webseiten nicht nummeriert zu werden Groumlszligen-symbole

Griechische Groumlszligensymbole und mathematische Symbole sind nicht als Grafiken im laufenden Text sondern als HTML-Code einzufuumlgen Eine Zeichenreferenz findet sich bei Selfhtml16

Styles Zur Formatierung der Webseiten werden aus der Stylesheet-Datei nur die drei Styles Uumlberschrift fuumlr

die Uumlberschriften Bildunterschrift fuumlr Abbildungs- und Tabellenunterschriften und Tabellentext fuumlr Tex-te in Tabellen benoumltigt

Tab 6 Richtlinien zur Gestaltung und Formatierung der Standard-Lernumgebung

Detailliertere Informationen zum Layout der Standard-Lernumgebung koumlnnen dem RCL-Ordner und dem Erscheinungsbild der Webseiten von RCLs in Browsern entnommen wer-den

15 Vgl Design Science MathType 16 Vgl Selfhtml HTML-Zeichreferenz

33

4 ANHANG

34

41 Interface in Basisschaltung 411 Schaltplan und Bauteilliste Abb 19 zeigt den Schaltplan der Basisschaltung des Interface und Tab 7 die dazugehoumlrige Bauteilliste

Abb 19 Basisschaltung des Interface

Nr Anzahl Kurzbeschreibung des Bauteils Best-Nr bei Reichelt electronic

Einzelpreis in euro

0 1 Epoxyd-Platine (190x112 mm) mit Anteil Loumltpunktraster (Spezi-

alanfertigung) - asymp 10

1 1

Epoxyd-Fotoplatine einseitig 160x100 mm 15 mm 35 microm Epoxyd-Lochrasterplatine 160x100 mm 15 mm 35 microm

BEL 160x100-1 UP 832EP

170 420

1 1 Hohlstecker-Einbaubuchse gewinkelt Loumltfahnen 21 mm HEBW 21 018 2 1 D-SUB-Stecker 9-polig gewinkelt RM 94 D-SUB ST 09EU 029 3 1 Schottky Diode DO41 40 V 1 A SB 140 008 4 1 Draht von abgeschnittenem Beinchen aus Pos-Nr 3 - - 5 1 IC-Sockel 16-polig superflach gedreht vergoldet GS 16P 029 6 1 IC-Sockel 40-polig superflach gedreht vergoldet GS 40P 061 7 1 2x10-pol-Stiftleiste gerade RM 254 SL 2X10G 254 007 8 1 Metallschichtwiderstand 100 kΩ Metall 100k 0082 9 1 Elektrolytkondensator 10x16 mm 470 microF RM 50 mm RAD 47025 006 10 1 Elektrolytkondensator 63x11 mm 100 microF RM 25 mm RAD 10016 004 11 5 Elektrolytkondensator 5x11 mm 10 microF RM 20 mm RAD 1035 004 12 2 Keramik-Kondensator 33 pF Kerko 33p 006 13 3 Vielschicht-Keramikkondensator 100 nF 20 Z5U-25 100n 004

35

14 1 Standardquarz Grundton 110592 MHz 110592-HC49U-S 018 15 1 Spannungsregler 1 A positiv TO-220 microA 7805 028 16 1 Kuumlhlkoumlrper fuumlr Gehaumluse TO-220 99KW V FI356 066 17 1 Zylinderkopfschraube Schlitz M3 10 mm fuumlr Kuumlhlkoumlrper M3x10mm 160 18 2 Sechskantmutter M3 fuumlr Kuumlhlkoumlrper SK M3 001 19 1 Stecker-Schaltnetzteil 12 V 2250 mA MW 3IP25GS 1150 20 1 RS232-Driver DIL-16 MAX 232 CPE 041 21 1 ATmega AVR-RISC-Controller DIL-40 ATmega16-16 DIP 420 22 3 10-poliger Wannenstecker RM 254 stehend (optional) WSL 10G 009 23 1 14-poliger Wannenstecker RM 254 stehend (optional) WSL 14G 014 24 1 40-polige Stiftleiste 1-reihig gerade RM254 (optional) SL 1x40G 254 023 25 1 Kunststoffgehaumluse 1982x1124x760 mm (Serientyp 202) - asymp 10 euro 26 1 D-SUB Nullmodem-Kabel 9-pol BUBU 3 m AK 143 155 27 x DIN-Einbaubuchse 5-pol Schraubver 360deg (optional) DIO-50W EMS 185 28 x DIN-Einbaubuchse 8-polig Schraubversch 270deg (optional) DIO-80SN EMS 180 29 x Pfostenstecker 10-polig mit Verrieglung gew (optional) PSL 10W 028 30 x Klemmleiste RM 254 Oumlffnungshebel 8-polig (optional) Wago 233 220

Tab 7 Bauteilliste mit Bestellnummer und Einzelpreisen der Bauelemente bei Reichelt electronic (Stand 23102010)

Anhand der Bauteilliste in koumlnnen die elektronischen Bauelemente der Basisschaltung (larr Tab 7 Nr 0 ndash 21 optional Nr 22 - 24) bei Reichelt electronic bestellt werden Das Gehaumluse des Interface (larr Tab 7 Nr 25) sollte vom Hersteller HAGOTECH GmbH bezogen werden Weiterhin wird ein Nullmodemkabel (larr Tab 7 Nr 26) zur Verbindung des Interface mit dem Computer benoumltigt Sensoren und Aktoren des Experiments koumlnnen mit optionalen Steck-verbindern (larr Tab 7 Nr 27 - 30) und entsprechende Kabelverbindungen an das Interface angeschlossen werden Die Nummern 0 - 25 stimmen mit der angegebenen Bestuumlckungs-reihenfolge auf der Platine uumlberein Das Interface kostet in der Basisschaltung ca 50 euro

412 Bestuumlckung der Platine Abb 20 zeigt zur Bestuumlckung der Platine benoumltigte Werkzeuge

Abb 20 Werkzeuge zur Bestuumlckung der Platine des Interface

36

Loumltkolben mit feiner Spitze in Meisselform 2 mm oder Loumltstation (1) Loumltzinnabsauger zum Entfernen von Loumltzinn (2) Nasser Schwamm zum Reinigen der Spitze des Loumltkolbens (3) Loumltzinn mit Durchmesser 08 - 10 mm (4) Flachspitzzange zum Biegen von Anschluumlssen der Bauelemente (5) Seitenschneider zum Kuumlrzen der Beinchen von Bauelementen (6) Multimeter zum Pruumlfen der Funktionsfaumlhigkeit der Schaltung (7) Sekundenkleber zur Befestigung von Bauelementen Kleine Bohrmaschine z B von Dremel und 08 mm Bohrer oder duumlnne Rundfeile zum

Weiten von Loumlchern auf der Platine des Interface

Abb 21 zeigt die Platine des Interface von der Loumltseite in der Spezialanfertigung der Elekt-ronik-Werkstatt an der Technischen Universitaumlt Kaiserslautern und in der Selbstbauvariante (larr Tab 7 Nr 0) Abb 22 zeigt das Platinenlayout

Abb 21 Platine des Interface von der Loumltseite als Spezialanfertigung (links) und der Selbstbauvariante

(rechts)

Abb 22 Layout zur Herstellung des geaumltzten Teils der

Platine in der Selbstbauvariante

37

In der Selbstbauvariante kann anhand des Platinenlayouts eine selbst geaumltzte Platine fuumlr die Basisschaltung auf einer Platine im Europakartenformat hergestellt und diese in der Laumlnge gekuumlrzt werden Eine gekuumlrzte Lochrasterplatine bildet den zweiten Teil der Platine Mit den optionalen vier Wannensteckern (larr Tab 7 Nr 22 - 23) oder den vier Stiftleisten (larr Tab 7 Nr 24) an den Ports des Mikrocontrollers koumlnnen leicht elektrische Verbindungen zum Rasterteil der Platine herstellt werden Abb 23 zeigt die fertig bestuumlckte Platine mit den Nummern aus Tab 7

Abb 23 Bestuumlckte Platine des Interface mit nummerierten Bauelementen

Tab 8 beschreibt das Einloumlten der elektronischen Bauelemente anhand der Nummern aus Tab 7 und in der angegebenen Reihenfolge

Nr Bauelement Beschreibung des Einbaus

0 Spezialanfertigung und Selbst-bauvariante der Epoxydharz-

Platine

1

Stromversorgungsbuchse ndash Hohlstecker 21 mm

Wenn die Loumltbeine nicht durch die Loumlcher der Platine passen die Loumlcher mit einer runden Schluumlsselfeile aufweiten

Stromversorgungsbuchse mit Sekundenkleber vor dem Festloumlten auf der Pla-tine fixieren da diese mechanischen Belastungen durch das Einstecken und Herausziehen des 12 V -Steckers ausgesetzt ist

Wahlweise kann die 25 mm-Version der Buchse verwendet werden

2

RS232 Datenstecker

RS232 Datenstecker mit Sekundenkleber vor dem Festloumlten auf der Platine fixieren da dieser mechanischen Belastungen durch das Einstecken und Herausziehen des Null-Modem-Kabels ausgesetzt ist

Alle Beinchen und Befestigungsstifte zur houmlheren Stabilitaumlt anloumlten

3

Ein Ring an einer Seite der Diode (hier links weiszlig) zeigt die Durchlass- bzw Sperrrichtung der Diode an Die Position des Ringes entspricht der Position des Balkens im Schaltungssymbol

38

Diode ndash SB140 Auf der Platine muss der Ring auf der von der Stromversorgungsbuchse ab-

gewandten Seite liegen

4 Drahtbruumlcke

Vor dem Einloumlten des 40-poligen IC-Sockels (Nr 5) muss eine Drahtbruumlcke unter diesem eingeloumltet werden Dazu koumlnnen die abgeschnittenen Beinchen der bereits eingeloumlteten Diode (Nr 3) verwendet werden

5 6

IC-Fassungen

Die 16-polige und 40-polige IC-Fassungen besitzen eventuell eine Markie-rung fuumlr Pin1 (z B Kerbe in der Stirnseite Punkt Pfeilhellip) als Hilfe fuumlr das richtige Einstecken der ICs Die Markierungen muumlssen bei beiden Fassungen nach oben also zum naumlchstliegenden Rand der Platine zeigen

Die ICs unbedingt noch nicht einstecken

7

ISP-Stiftleiste

Die doppelreihige ISP-Stiftleiste dient der Programmierung des Mikrocontrol-lers mit dem AVR-ISP-Programmer (ISP steht fuumlr In System Programming)

ISP-Stiftleiste auf 2 x 5 Stifte kuumlrzen und mit den kurzen Beinchen einloumlten so dass auf die langen Stifte der AVR-ISP-Programmer gesteckt werden kann

8

Widerstand 100 kΩ

Den 100 kΩ-Widerstand rechts neben der ISP-Stiftleiste einloumlten

9

10

11

Elkos

Bei den verwendeten Elektrolyt-Kondensatoren ist die Polung zu beachten (langes Beinchen = Plus-Pol) Weiterhin ist auf den Kondensatoren ein wei-szliger Streifen mit Minus-Zeichen aufgedruckt Die Kondensatoren sollten eine Spannungsfestigkeit von mindestens 16 V besser 25V besitzen

Auf der Kupferseite der Platine zeigt die Form der Loumltaugen die Polung an Rundes Loumltauge = Plus quadratisches Loumltauge = Minus

Der 470 microF Kondensator wird mit dem weiszligen Streifen in Richtung Stromver-sorgungsbuchse direkt unter diese montiert

Der 100 microF Kondensator sitzt direkt unter der 16-poligen IC-Fassung Sein weiszliger Streifen (Minus-Pol) zeigt in Richtung der Stromversorgungsbuchse

Vier der 10 microF Kondensatoren werden links neben der 16-poligen IC-Fassung montiert Deren Polung ist wie folgt Unterster Kondensator Minus nach oben naumlchster Kondensator Minus nach unten die beiden oberen Kondensatoren mit Minus nach oben

Ein weiterer 10 microF Kondensator wird rechts neben die 16-polige IC-Fassung geloumltet Sein Minus-Streifen zeigt nach unten

12

13

Keramik-Kondensatoren

Die Beschriftung 104 bedeutet 10e4 pF = 100 nF Die beiden 33 pF-Kerkos (Keramik-Kondensatoren) werden direkt nebenei-

nander rechts neben die 16-polige IC-Fassung geloumltet Zwei 100 nF-Kondensatoren werden unter dem 470 microF-Elko eingeloumltet ein

weiterer mittig an der linken Seite der 40-poligen IC-Fassung

14

Quarz

Als Quarz wird ein 110592 MHz-Typ verwendet Bei dieser Frequenz ist eine fehlerfreie Kommunikation uumlber RS232 mit 9600 Baud moumlglich Fuumlr den AT-mega16 koumlnnen Quarze bis 16 MHz eingesetzt werden Details siehe Daten-blatt

Der Quarz wird direkt rechts neben die beiden 33 pF-Kerkos geloumltet Die Ori-entierung des Quarz spielt keine Rolle

15

16

17

18

Der Spannungsregler L7805 erzeugt eine stabilisierte Spannung von 5 V Es muss ein Kuumlhlkoumlrper zur Waumlrmeabfuhr vom Spannungsregler verwendet werden

Vor dem Einloumlten zwischen Spannungsregler und Kuumlhlkoumlrper etwas Waumlrme-leitpaste aufgetragen Beide Bauteile fest mit einer Schraube M3x10 und ei-ner 1 Mutter verschrauben

Dann den Spannungsregler einloumlten um 90deg abzubiegen das uumlberstehende Gewinde durch das vorgesehene Loch stecken und alles mit einer 2 Mutter auf der Platine befestigen

1 Mutter

2 Mutter

Schr

aube

L7805

Platine

KuumlhlkoumlrperWaumlrmeleitpaste

Beinchen

Loumlten

39

Spannungsregler L7805 Kuumlhl-koumlrper und Montage

19

Steckernetzteil

Funktionskontrolle vor dem Einsetzen des Mikrocontrollers Polung der Elektrolyt-Kondensatoren (Elkos) pruumlfen Sind alle Beinchen angeloumltet Hat das Loumltzinn an den Beinchen und der Pla-

tine guten Kontakt Sind eventuell zwei benachbarte Beinchen unbeabsichtigt durch Loumltzinn verbunden Alle Loumltverbindungen nochmals genau z B mit ei-ner Lupe pruumlfen

Probeweise das Stecker-Netzteil an die Buchse anschlieszligen Am 100 nF-Kondensator links mittig der 40-poligen IC-Fassung muumlssen 5 V anliegen

Versorgungsspannung unbedingt wieder von der Platine trennen

20

21

ICs MAX232 und ATmega16

Die Nuten auf den ICs am linken Rand muumlssen nach oben zeigen d h Pin1 ist bei beiden ICs in der Abbildung links unten und auf der Platine oben links

Manchmal passen die Beinchen der ICs nicht in die Fassung weil die Fas-sung scheinbar zu schmal ist Dann den IC seitlich mit einer Beinchen-Reihe flach auf den Tisch legen den IC-Koumlrper links und rechts greifen und Bein-chen durch leichten Druck biegen Einzelne verbogene Beinchen vorsichtig mit einer kleinen Flachzange richten

22

23

Wannenstecker 10- und 14-polig

Wannenstecker an den vorgesehe-nen Stellen mit der Nut gegen Ver-polung in Richtung des naumlherliegen-den Platinenrands einloumlten

Die Abbildung rechts zeigt die Pin-Belegung der Wannenstecker

24

Stiftleiste 8-polig 40-pol Stiftleiste in 4 jeweils 8-polige Stuumlcke zerteilen und einloumlten

25

Kunststoffgehaumluse

In der Selbstbauvariante der Platine (Nr 0) vor dem Einsetzten der Platine in das Gehaumluse passend positionierte Kunststoffstege am Gehaumluseboden fest-kleben

Tab 8 Bestuumlckung der Platine des Interface mit Bauelementen

42 Erweiterungsschaltungen 421 Uumlbersicht In Tab 3 sind von RCLs des RCL-Portals Sensoren und Aktoren mit den dazugehoumlrigen Er-weiterungsschaltungen zusammengestellt Da alle RCLs obligatorisch uumlber mindestens eine Webcam verfuumlgen sind diese unter den Sensoren nicht aufgefuumlhrt Die wenigen Erweite-rungsschaltungen fuumlr Sensoren sind unter Sensoren in Klammern aufgelistet Unter Aktoren werden auszliger elektro-mechanischen Wandlern auch gesteuerte Geraumlte oder Bauelemente verstanden Anzeigeinstrumente sind unter Aktoren nur aufgefuumlhrt wenn sie direkt vom In-terface gesteuert werden Mit gekennzeichnete Erweiterungsschaltungen befinden sich au-szligerhalb des Interface

40

RCL Sensoren Aktoren Erweiterungsschaltungen fuumlr Aktoren

Beugung und Interferenz I Referenz-Taster

Schrittmotor (Rotation) Schrittmotorsteuerung Laser-Modul Geschaltete Spannungsversorgung

Beugung und Interferenz II

4 Referenz-Taster Lichtsensor

4 Schrittmotoren (Translation) 4 Schrittmotorsteuerungen 5 Laser-Module Geschaltete Spannungsversorgung LED fuumlr Position des

Lichtsensors Geschaltete Spannungsversorgung

LED fuumlr Linealbeleuchtung Geschaltete Spannungsversorgung

Elektronen-beugung

Hochspannungsnetzgeraumlt Geschaltete Spannungsversorgung Hochspannungsnetzgeraumlt Steuerung der Hochspannung

Fotoeffekt 2 Referenz-Taster Photozelle

2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen

Quecksilberdampflampe Geschaltete Spannungsversorgung

der Drossel fuumlr Quecksilberdampf-lampe

Halbleiter-kennlinien

und Halbleiterkennli-nien - Schuumller-

projekt

Referenz-Taster

Schrittmotor (Rotation) Schrittmotorsteuerung Oszilloskop Geschaltete Spannungsversorgung

Oszilloskop Instrumentenverstaumlrker fuumlr X- und Y-Ablenkung

Multimeter Steuerung Spannungs- oder Strom-anzeige

Heiszliger Draht 4 Endtaster 4 Drehgeber Kurzschlusssensor

4 Gleichstrommotoren 4 Treiber

Zweifarbige LED Steuerung der LED-Farbe

Lichtgeschwin-digkeit

Drehimpulsgeber 2 Taster an Enden

der Eisenbahnstre-cke

2 Schrittmotoren 2 Schrittmotorsteuerungen Oszilloskop Geschaltete Spannungsversorgung

Motor der Lokomotive Steuerung des Ein- und Ausschal-tens und der Bewegungsrichtung

Maut Infrarot-Sensor Gleichstrommotor Geschaltete Spannungsquelle 2 IR-Fernbedienungen Spannungsregler 2-stellige 7-Segmentanzeige LED-Treiber

Millikan-Versuch 2 Referenz-Taster

2 Schrittmotoren 2 Schrittmotorsteuerungen Lichtquelle (LED) fuumlr Millikan-

Kondensator Geschaltete Spannungsversorgung

Airbrush-Kompressor Geschaltete Spannungsversorgung Magnetventil Geschaltete Spannungsversorgung Millikan-Kondensator Gesteuertes Hochspannungsmodul

Optische Com-putertomogra-

phie

2 Referenz-Taster 2 Lichtsensoren

Schrittmotor (Rotation) Schrittmotorsteuerung Schrittmotor (Translation) Schrittmotorsteuerung

2 Laser-Module 2 geschaltete Spannungsversor-gungen

Optische Fou-rier-

Transformation 2 Referenz-Taster

2 Schrittmotoren (Translation) 2 Schrittmotorsteuerungen

Laser-Modul Geschaltete Spannungsversorgung

Oszilloskop Oszilloskop Geschaltete Spannungsversorgung Signalgenerator Steuerung der Signalart

Radioaktivitaumlt 4 Referenz-Taster Geiger-Muumlller-

Zaumlhlrohr

2 Schrittmotoren (Translation) 2 Schrittmotorsteuerungen 2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen 4-stellige 7-Segment-Anzeige Treiber Elektromagnet Geschaltete Spannungsversorgung

Roboter im Labyrinth Infrarot-Sensor

2 Schrittmotoren 2 Schrittmotorsteuerung Infrarot-Sender Treiber

Rutherfordscher Streuversuch

2 Referenz-Taster Halbleiterdetektor

(Impulsformer)

2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen

4-stellige 7-Segment-Anzeige Treiber

Weltpendel

Referenz-Taster Lichtsensor der

Lichtschranke (Im-pulsformer)

Temperatursensor

Schrittmotor (Translation) Schrittmotorsteuerung Elektromagnet Geschaltete Spannungsversorgung

Laser der Lichtschranke Geschaltete Spannungsversorgung

Windkanal Referenz-Taster Schrittmotor (Translation) Schrittmotorsteuerung

41

Dehnungsmess-streifen (Wheat-stonesche Bruumlcke Messverstaumlrker Multimeter)

Geblaumlsemotor Geschaltete Spannungsversorgung

und Ansteuerung mit Pulsweiten-modulation

Anemometer Geschaltete Spannungsversorgung Multimeter Geschaltete Spannungsversorgung

Tab 9 Sensoren Aktoren und Erweiterungsschaltungen der RCLs des RCL-Portals

422 TMC222-Modul zur Schrittmotorsteuerung 4221 Schaltplan und Bauteilliste Abb 1 zeigt die Beschaltung des TMC222 von Trinamic auf dem TMC222-Modul

Abb 24 Beschaltung des TMC222 von Trinamic

Anhand der Bauteilliste in Tab 10 koumlnnen die elektronischen Bauelemente des TMC222-Moduls bei Reichelt electronic bestellt werden Ein TMC222-Modul kostet ungefaumlhr 10 euro

Nr Anzahl Kurzbeschreibung des Bauteils Best-Nr bei Reichelt electronic

Einzelpreis in euro

0 1 Epoxyd-Fotoplatine einseitig 75x100 mm 15 mm 35 microm BEL75X100-1 096 1 1 Integrierter TMC-Schrittmotor-Controller TMC 222 SI asymp 7 2 1 Elektrolytkondensator 8x11 mm Rm 35 mm 100 microF35 V RAD 10035 004 3 1 Tantal-Kondensator Rm 25 10 microF35 V Tantal 1035 014 4 2 Vielschicht-Keramikkondensator 220 nF 20 Z5U-25 220N 011 5 3 Vielschicht-Keramikkondensator 100 nF 20 Z5U-25 100N 004 6 2 Metallschichtwiderstand 100 kΩ Metall 100K 0082 7 1 1x36pol Stiftleiste gewinkelt Rm 254 SL 1X36W 027 8 1 1x36pol Buchsenleiste gerade Rm 254 BL 1X36G 025

Tab 10 Bauteilliste mit Bestellnummer und Einzelpreisen der Bauelemente bei Reichelt electronic (Stand 23102010)

4222 Bestuumlckung der Platine

42

Abb 25 zeigt die fertig bestuumlckte Platine mit den Nummern aus Tab 10

Abb 25 Bestuumlckte Platine des TMC222-Moduls

mit nummerierten Bauelementen

Die Platine (35 mm x 30 mm) kann anhand des Layouts in Abb 26 hergestellt werden Der IC TMC222 wird auf der Loumltseite der Platine aufgeloumltet Das TMC222-Modul kann mit der Stiftleiste (larr Tab 10 Nr 7) in eine Buchsenleiste (larr Tab 10 Nr 8) auf die Platine des In-terface gesteckt werden

Abb 26 Platine des TMC222-Moduls von der Loumltseite (links) und Layout

4223 Quellcode des Mikrocontroller-Programms Im Folgenden ist ein mit Bascom (larr 12 Tab 1 Entwicklungsumgebungen) erstelltes Bei-spiel-Programm zur Ansteuerung des Schrittmotormoduls TMC222 durch den Mikrocontroller ATmega16 angegeben $regfile = m16DEFdat $crystal = 11059200 $baud = 9600 Definitionen Config Scl = Portc0 Taktleitung Config Sda = Portc1 Datenleitung Const Adress = ampB11000000 I2C Adresse des TMC222 Const GetFullstatus1 = ampB10000001 Kommando des TMC222 Const Resetpos = ampB10000110 Kommando des TMC222 Const Motorparameter = ampB10001001 Kommando des TMC222 Const Setposition = ampB10001011 Dim Puffer(10) As Byte

43

Programm I2csend Adress GetFullstatus1 GetFullstatus1 (Initialisierung des TMC222) I2creceive Adress 7 Ack Daten in Puffer auslesen Puffer(1) = Motorparameter puffer auffuumlllen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB11110011 1111irun 0011ihold Puffer(5) = ampB01110001 0111vmax 0001vmin Puffer(6) = ampB00010000 000securepos(bit10-8) 1shaft 0000acceleration Puffer(7) = 0 securepos(bit7-0) Puffer(8) = ampB00001100 000nicht belegt 0accshape 11stepmode 00nicht belegt I2csend Adress Puffer(1) 8 I2csend Adress Resetpos aktuelle Position auf 0 setzen Puffer(1) = Setposition Motor bewegen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB01111111 position(bit 15-8) Puffer(5) = ampB11111111 position(bit 7-0)acute I2csend Adress Puffer(1) 5 End

423 Geschaltete Spannungsquellen und Verbraucher Die Ausgaumlnge des Mikrocontrollers duumlrfen nur mit Stroumlmen kleiner als ungefaumlhr 20 mA belas-tet werden Verbraucher mit einer Stromlast groumlszliger als 20 mA koumlnnen daher nicht direkt an den Mikrocontroller angeschlossen werden Abb 27 zeigt links eine Schaltung zum Schalten eines Verbrauchers wie z B des Relais und rechts eine Schaltung mit dem IC ULN2803A zum Schalten mehrerer Verbraucher wie z B Gluumlhlampen

Abb 27 Erweiterungsschaltungen zum Schalten eines (links) oder

mehrerer Verbraucher (rechts)

Zu beachten ist dass der Transistor BC337 maximal 800 mA schalten kann und fuumlr groumlszligere Stroumlme andere Transistoren verwendet werden muumlssen

424 Steuerung von Gleichstrommotoren

44

Sollen Gleichstrommotoren zum Bewegen von Objekten mit dem Mikrocontroller gesteuert werden dann eignet sich dazu der in Abb 28 dargestellte beschaltete IC L293D

Abb 28 Beschaltung des L293D zum

Steuern zweier Gleichstrom-motoren

Mit Pin 1 = Pin 9 = 1 (High) koumlnnen zwei Gleichstrommotoren M1 und M2 (Versorgungs-spannung UM lt 36 V Spulendauerstrom IM lt 600 mA) unabhaumlngig voneinander ein- und ausgeschaltet sowie in der Drehrichtung uumlber die Ports PA0 und PA1 fuumlr M1 und PA2 und PA3 fuumlr M2 gesteuert werden Z B gilt mit PA0 = PA1 = 0 (M1 ausgeschaltet) PA0 = 1 und PA1 = 0 (M1 dreht sich) PA0 = 0 und PA1 = 1 (M1 dreht sich in Gegenrichtung)

45

43 Quellcodes zum RCL Elektronenbeugung 431 Mikrocontroller-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

46

47

48

49

432 PHP-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

50

51

433 Bedienfeld der Laborseite

Tab 11 erlaumlutert die Funktion der Bloumlcke im Quellcode

Zeilen Funktion 1 Datei defaultconf einbinden 2 Datei headtpl einbinden

5 - 11 Ausgabe der verbleibenden Experimentierzeit 18 - 21 Button zum Einschalten der Elektronenbeugungsroumlhre 28 - 30 Eingabefeld fuumlr die Beschleunigungsspannung

37 Ruumlckmeldung zur eingegebenen Beschleunigungsspannung 42 Datei foottpl einbinden

Tab 11 Funktion der Programmbloumlcke in der Datei experi-menttpl

52

434 Webcamfeld der Laborseite

In Tab 12 ist die Funktion der Programmbloumlcke und die Anpassungen der Vorlage an das RCL Elektronenbeugung beschrieben

Zeilen Funktion Anpassung RCL Elektronenbeugung

5 Titelangabe erscheint als Tabulatorbeschriftung in Browsern

Name des RCLs eintragen

11 - 15 16 - 20

Zwei Javascripts zum getrennten Aufrufen zweier Po-pup-Fenster mit dargestelltem Webcambildern 1 und 2

Javascript 1 die IP-Adresse eintragen Javascript 2 auskommentiert weil nicht benoumltigt

24 - 40 42 - 60

Zwei Javascripts zum Aktualisieren der Webcambilder 1 und 2

Javascript 2 auskommentiert weil nicht benoumltigt

67 - 71 79 - 83

Aufrufen des ersten Webcambilds der Webcams 1 und 2 beim Aufrufen der Datei

Webcambild 2 auskommentiert weil nicht benoumltigt

72 - 78 84 - 90

Buttons zum Aufrufen der Screenshots der Webcam-bilder 1 und 2

Button 2 auskommentiert weil nicht benoumltigt

91 - 95 Zeile der Tabelle zum Eintragen von Informationen die sich auf die Webcambilder oder den Versuch beziehen

Text in Zeile der Tabelle geschrieben

Tab 12 Funktionen der Codeabschnitte in der Datei videohtm und Anpassung der Vor-lage an das RCL Elektronenbeugung

53

44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung Im Folgenden wird die Installation und Konfiguration des AVR-Studios 418 und der Bascom 11198 Demoversion beschrieben Alle Anleitungen sind zeilenweise von links nach rechts zu lesen

441 AVR-Studio 418 4411 Installation Auf der Webseite von ATMEL Register AVR Studio 418 (build 684) anklicken und Registrie-rungsformular ausfuumlllen Danach die Datei AvrStudio418Setup herunterladen Durch Dop-pelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen Next waumlhlen

I accept hellip und Next waumlhlen Installationsordner und Next waumlhlen

54

Installupgrade hellip und Next waumlhlen Install waumlhlen Die Installation beginnt

Finish waumlhlen

4412 Konfiguration AVR Studio 418 in Windows XP Professional unter StartProgramme aufrufen

Startfenster mit Cancel schlieszligen Unter ToolsProgram AVR Auto Connect waumlhlen

55

Im eingeblendeten Fenster auf der Registerkarte Main als Device ATmega16 und als Programming Mode ISP mo-de waumlhlen

Optional kann Signatur gelesen werden

In der Registerkarte Fuses alle Haumlkchen und Auswahlfel-der wie angegeben waumlhlen

Dann Program waumlhlen

442 BASCOM 11198 Demoversion 4421 Installation Auf der Webseite von Bascom unter Bascom AVR Demo die Zip-Datei setupdemoexe her-untergeladen Durch Doppelklick auf den Dateinamen die Installation starten

Next waumlhlen I accept the agreement und Next waumlhlen

56

Next waumlhlen Installationsordner eingeben und Next waumlhlen

Eintrag im Start-Menuuml eingeben und Next waumlhlen Next waumlhlen

Yes restart the computer now und Finish waumlhlen

57

4422 Konfiguration Bascom AVR in Windows XP Professional unter StartProgramme zum Einstellen der Para-meter des Mikrocontrollers und des Terminals aufrufen

OptionsCompilerChip waumlhlen Einstellungen wie im Bild vornehmen und OK waumlhlen

Auf der Registerkarte Communications Einstellungen wie im Bild vornehmen und OK waumlhlen

Unter OptionsCommunication Einstellungen wie im Bild

vornehmen und OK waumlhlen FileNew waumlhlen Unter ToolsTerminal emulator das Terminal aufrufen und

eingeben Die Befehlsliste des RCLs Elektronenbeu-gung wird angezeigt

45 Installation und Konfiguration von Programmen auf dem RCL-Server Im Folgenden wird der Download die Installation und die Konfiguration von Programmen auf dem RCL-Server unter Windows XP Professional beschrieben Alle Anleitungen sind zeilen-weise von links nach rechts zu lesen Die Installation der Programme sollte in der angegebe-nen Reihenfolge erfolgen

58

451 Einrichten des Internet-Zugangs LAN-Verbindung unter StartSystemsteuerungNetzwerkverbindungen aufrufen

Internetprotokoll (TCPIP) und Eigenschaften waumlhlen Folgende IP-Adresse verwenden waumlhlen IP-Adressen ein-

geben und OK waumlhlen

452 Paket XAMPP 174 Unter apache friends - xampp fuumlr windows und XAMPP Windows 174 Installer anklicken und Datei xampp-win32-174-VC6-installerexe speichern Durch Doppelklick auf die Datei die Installation starten

Sprache und Ok waumlhlen Ok waumlhlen

59

Weiter waumlhlen Zielverzeichnis mit Durchsuchen waumlhlen oder eingeben

Apache nicht als Dienst installieren Fertig stellen waumlhlen

Ja waumlhlen Zum Starten des Apache Webservers das Control Panel

unter StartProgrammeXAMPP 173 for Windows mit Start starten Anstelle von Start erscheint Running

Zum Beenden des Apache Webservers Stop waumlhlen Zum Beenden des Control Panels Exit waumlhlen

60

453 Videoserver webcamXP 5 Private Auf der Webseite von Moonware Studios unter webcamXP 55xx die Datei wlite550 herun-terladen Durch Doppelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen I Agree waumlhlen

Next waumlhlen Auszliger webcamXP 5 brauchen keine weiteren Komponen-

ten installiert zu werden

Den vorgeschlagenen Ordner und Install waumlhlen Finish waumlhlen

61

WebcamXP unter StartProgramme aufrufen Zugesandte

Lizenz-Daten in das eingeblendete Fenster eingeben und Register waumlhlen

Beim Starten des Programms stellt webcamXP automa-tisch eine Verbindung zu den am Computer angeschlosse-nen Webcams her

Nach dem Start ist Uumlberwachen gewaumlhlt Durch Rechts-klick mit der Maus auf das Videofenster wird zu jeder Vi-deoquelle ein Kontextmenuuml angezeigt Wird kein Videobild dargestellt das Kontextmenuuml aufrufen Art der Videoquelle waumlhlen (hier USB) und unter den erkannten Videoquellen (hier USB-Videogeraumlt) die gewuumlnschte waumlhlen

Das Videoformat muss fuumlr eine passende Darstellung auf

der Laborseite auf 320 x 240 eingestellt sein Ist das nicht der Fall im Kontextmenuuml unter Video Format einstellen

In gleicher Weise kann eine zweite Videoquelle hinzugefuumlgt werden

In der Registerkarte Web Broadcast kann unter

Broadcast (HTTP) der Videoserver mit Ausschalten ge-stoppt und mit Aktivieren gestartet werden

Zur Zielwahl des Webservers (131246237167 - Internet D16W3X3J - Computer 127001 - Local Host) Videoser-ver stoppen und einstellen Videoserver wieder starten

62

454 Terminalprogramm Hyperterminal Hyperterminal in Windows XP Professional unter StartProgrammeZubehoumlrKommunikation aufrufen

Name der neuen Verbindung - z B Interface - eingeben

und OK waumlhlen Die Verbindung zwischen Computer und Interface wurde

uumlber einen USB-Seriell-Adapter hergestellt Dann erschei-nen zwei zusaumltzliche Eintraumlge (Motorola Comp Modem und COM5) in der Liste Prinzipiell muss eine COMx-Verbindung gewaumlhlt werden

Eigenschaften von COM 5 wie im Bild einstellen und OK

waumlhlen DateiEigenschaften aufrufen und ASCII-Konfiguration

waumlhlen

63

Haken bei Eingegebene Zeichen lokal ausgeben (lokales

Echo) setzen um eingegebenen Zeichen im Hyperterminal zu sehen

Bei funktionsfaumlhiger Verbindung erscheint nach Eingabe von Return die Befehlsliste des Interface

Durch Aufrufen von DateiSpeichern die erstellte Verbin-

dung z B auf dem Desktop speichern Dadurch braucht die Verbindung nicht immer wieder von neuem konfiguriert wer-den

Nach Aufrufen von DateiBeenden die bestehende Verbin-dung mit Ja beenden

64

Wurde ein falscher COM-Port gewaumlhlt reagiert das Inter-

face auf die Eingabe Return nicht Hyperterminal dann beenden

Der COM-Port kann dann nicht unter DateiEigenschaften im Hyperterminal aber unter Eigenschaften des Kontext-menuumls der Datei Interfaceht in der Registerkarte Verbin-den mit geaumlndert werden Dann OK waumlhlen und erneut Verbindung testen

65

455 Fernwartungssoftware TeamViewer 6 Host Auf der Webseite von Teamviewer GmbH unter Fuumlr unbeaufsichtigte Server TeamViewer Vollversion die Datei TeamViewer_Setup-wq herunterladen Das Programm muss auf dem RCL-Server und dem Computer der auf den RCL-Server zugreifen soll installiert werden Durch Doppelklick auf die Datei die Installation starten

Ausfuumlhren waumlhlen Weiter waumlhlen

Fuumlr die private nicht kommerzielle Nutzung ist Teamviewer kostenlos

privat nicht-kommerziell und Weiter waumlhlen

Beide Haumlkchen setzen und Weiter waumlhlen

66

Ja un Weiter waumlhlen Weiter

Computername und Kennwort fuumlr den Zugriff auf den RCL-Server oder den eigenen Computer vergeben Kenn wort notie-ren

Ein Teamviewerkonto ist nicht erforderlich Kann auch spaumlter noch eingerichtet werden

ID fuumlr den Computer auf dem das Programm installiert wird fuumlr Zugriff notieren

Das Programm wird gestartet Standardmaumlszligig vorein-gestellt ist der Start des Programms beim Start des Be-trienssystems

67

46 Selbstbau eines elementaren RCLs 461 Hard- und Software Auch ohne gleich ein vielleicht teures physikalisches Experiment zu steuern laumlsst sich mit wenigen Bauelementen ein elementares RCL realisieren Von einer Webseite im Internet sol-len eine Leuchtdiode (LED) ein- oder ausgeschaltet sowie der Zustand der Leuchtdiode und eines Tasters abgefragt werden An Hard- und Software werden benoumltigt

1 Low-Current-LED 5 mm 2 mA 1 Widerstand 18 kΩ 1 Taster und optional zwei 10-polige Wannenstecker mit ungefaumlhr 10 cm passendem Flachbandkabel und Buchsen

Interface in Basisschaltung Null-Modem-Kabel 12 V DC Steckernetzteil (larr 1)

Installierte Bascom-Demo-Version (larr 42)

AVR ISP-Programmer mit 10-poligem Programmierkabel

Installiertes und konfiguriertes AVR Studio 418 (larr 41)

Installiertes Paket XAMPP (larr 52)

Texteditor wie z B Notepad in Windows XP Professional

Konfigurierte Hyperterminalverbindung (larr 54)

462 Bestuumlckung der Platine Abb 29 zeigt zur Orientierung fuumlr das Einloumlten der Bauelemente die fertig bestuumlckte Platine des Interface

Abb 29 Mit elementarem RCL bestuumlckte Platine

des Interface

LED mit Vorwiderstand und der Taster sind rechts neben dem Mikrocontroller im Lochraster-bereich aufgebaut und uumlber Wannenstecker und Flachbandkabel mit dem Port A des Mikro-controllers verbunden (die drei Bauteile rechts neben dem ATmega16 werden nicht benouml-tigt) Tab 13 erlaumlutert die Schritte zur Bestuumlckung der Platine des Interface

68

Nr Schaltung Erlaumluterung

1

Die Leuchtdiode (LED) mit dem Pluspol (langes Beinchen) an PortA0 (PIN40 oben rechts) des Mikrocontrollers anloumlten

An das kurze Beinchen einen 18kΩ Widerstand loumlten dessen anderes Ende mit der Masse (GND) verbinden

2

Den Taster mit PortA1 (PIN39 = 2 Beinchen von oben rechts) und Masse (GND) verbinden

3

Draufsicht

Belegung des 10-poligen Wannensteckers 1 GND (Masse) im Foto oben links 2 +5 V 3 PortA0 4 PortA1 10 PortA7 im Foto unten rechts

Tab 13 Schritte zum Aufbau des elementaren RCLs

463 Lokal gesteuertes RCL Nachfolgend ist der Basic-Programmcode des Mikrocontrollers zur Steuerung und Abfrage der LED und des Tasters angegeben 01 $regfile = m16DEFdat Microcontroller ATmega16 02 $crystal = 11059200 110592MHz Quarz 03 $baud = 9600 Baudrate 04 05 ---[ Variables ]--------------------------------------------------------------- 06 Dim Rs232kommando As String 10 erst Befehlspuffer dann Kommando 07 Dim Parameter As String 10 Parameter 08 Dim Str_pos As Byte Position von Leerzeichen zur Trennung von Kommando und Pa-rameter 09 10 ---[ Initialisierung ]--------------------------------------------------------- 11 Ddra0 = 1 PortA0 als Ausgang fuumlr LED 12 Porta0 = 0 LED aus 13 Ddra1 = 0 PortA1 als Eingang fuumlr Taster 14 Porta1 = 1 Pull-Up aktivieren 15 16 ---[ Main program loop ]------------------------------------------------------- 17 Do Start der Endlos-Schleife 18 19 If Ischarwaiting() = 1 Then Zeichen uumlber RS232 empfangen 20 Input Rs232kommando neues Kommando lesen 21 Parameter = Parameter initialisieren 22 Str_pos = Instr(rs232kommando ) Leerzeichen im Kommando suchen 23 If Str_pos gt 0 Then falls Leerzeichen dann in Kommando+Parameter zerlegen 24 Incr Str_pos Str_pos soll jetzt auf 1Zeichen des Parameters zeigen 25 Parameter = Mid(rs232kommando Str_pos ) Parameter = Teilstring nach Leerzeichen 26 Parameter = Ucase(parameter) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 27 Str_pos = Str_pos - 2 Str_pos soll jetzt auf letztes Zeichen des Kommandos zeigen 28 Rs232kommando = Left(rs232kommando Str_pos)Kommando = Teilstring vor Leerzeichen 29 Rs232kommando = Ucase(rs232kommando) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 30 End If 31 32 Select Case Rs232kommando Eventhandler Interpretation der Kommandos 33 Case Print Hilfe Hilfeseite anzeigen 34 Print LED on - LED einschalten 35 Print LED off - LED ausschalten 36 Print LED - zeigt Status der LED an 37 Print SW - zeigt Status des Schalters an 38

1K8

LED rotmicroC PortA0(PIN40)

Taster

microC PortA1(PIN39)

1

3

2

69

39 Case LED If Parameter = ON Then LED schalten 40 Porta0 = 1 41 End If 42 If Parameter = OFF Then 43 Porta0 = 0 44 End If 45 46 Case LED If Porta0 = 0 Then Status der LED ausgeben 47 Print LED aus 48 Else 49 Print LED an 50 End If 51 52 Case SW If Pina1 = 1 Then Status des Schalters ausgeben 53 Print Taster offen 54 Else 55 Print Taster geschlossen 56 End If 57 58 Case Else Print gt Rs232kommando lt ungueltiger Befehl - weitere Infos mit Info bei unguumlltigen Eingaben 59 End Select 60 61 End If 62 63 Loop Endlos-Schleife Springe zu Do 64 65 End wird nie erreicht

Der erste Teil des Programms (Zeilen 1 - 15) enthaumllt die Systemparameter Variablen und Initialisierung der Ein- und Ausgaumlnge Der zweite Teil enthaumllt ab Zeile 17 das Hauptpro-gramm in dem Benutzereingaben uumlber die serielle Schnittstelle empfangen interpretiert und in entsprechende Anweisungen umgesetzt werden Tab 14 erlaumlutert den Programmcode de-taillierter

Zeilen Erlaumluterung

1 - 3 Diese Angaben teilen dem Compiler (Bascom) mit welcher Prozessor eingesetzt wird wie schnell dieser getaktet (Quarz) ist und mit welcher Uumlbertragungsgeschwindigkeit die Kommunikation uumlber die serielle Schnittstelle (RS232) mit dem PC erfolgen soll

6 - 8 Es werden drei Variablen genutzt Die Eingabe uumlber die serielle Schnittstelle wird in rs232kommando gespeichert Es wird ein Text der Form Kommando ltLeerzeichengt Parameter erwartet so dass die Variable Parameter den-selbigen aufnimmt Die Variable str_pos wird fuumlr die Trennung von Kommando und Parameter benoumltigt

11 - 14

Mit dem Befehl ddrPX (ddr = data direction) wird festgelegt ob ein Beinchen als Ausgang (=1) oder als Eingang (=0) arbeiten soll Der ATmega16 besitzt 32 Ein-Ausgaumlnge die in vier Ports (P=AD) zu je 8 Pins (X=07) unterteilt sind ddrA0 = 1 legt also das 1 Beinchen (Pin 0) von PortA als Ausgang (=1) fest Mit dem Befehl PortA0 =1 kann dieser Pin dann durch Zuweisen von 1 oder 0 an- bzw ausgeschaltet werden Im Datenblatt erfahren Sie welches der 40 Beinchen des Mikrocontrollers wie bezeichnet wird (Pin-Belegung) Wird ein Beinchen als Eingang verwendet (ddrA1 = 0) koumlnnen Sie optional einen so genannten Pull-Up-Widerstand aktivieren (PortA1=1) oder deaktivieren (PortA1=0) Auch hierzu sollten Sie sich unbedingt mit dem Datenblatt vertraut machen

17 63 Das Hauptprogramm besteht aus einer Endlosschleife d h der Mikrocontroller verrichtet ununterbrochen seinen Job so lange er mit Strom versorgt wird

19 - 30 Falls ein Zeichen uumlber die serielle Schnittstelle empfangen wurde wird dieses und alle folgenden gelesen Anschlie-szligend wird gepruumlft ob der empfangene Text von der Form Kommando ltLeerzeichengt Parameter ist so dass er ge-gebenenfalls in ein Kommando und einen Parameter zerlegt werden kann

32 - 59 Dieser Abschnitt wird mit Event-Handler bezeichnet Hier wird auf die Kommandos (Events) reagiert und die ent-sprechenden Schritte ausgefuumlhrt zB schalten LED je nach Wert der Variablen Parameter an- bzw ausschalten

46 52

In beiden Zeilen wird ein Wert eines Ports abgefragt Unterschiedlich ist dass in Zeile 46 der Status eines Ausgangs abgefragt wird (porta0) und in Zeile 52 der Zustand eines Eingangs (pina0) Die Anweisung IF porta0 = 0 THEN pruumlft (hier ist = ein Vergleich und KEINE Zuweisung) ob zuletzt die LED ausgeschaltet (Zuweisung porta0 = 0) wurde Die Anweisung IF pina1= 1 THEN liest den Status eines Eingangs Hier kann festgestellt werden ob der Eingang uumlber den internen Pull-UP-Widerstand auf +5V liegt (pina1 liefert 1) oder ob der Schalter den Eingang mit Masse (0V) verbindet (pina1 liefert 0)

Tab 14 Erlaumluterung des Mikrocontroller-Programmcodes fuumlr elementares RCL

70

In Bascom AVR eine neue Datei erzeugen (FileNew) den Programmcode ohne Kommenta-re eingeben und mit ProgramCompile (F7) eine Hexadezimaldatei erzeugen Die Hexadezi-maldatei mit dem AVR-Studio und dem AVR-ISP-Programmer in den Mikrocontroller schrei-ben (larr 222 Programmuumlbertragung) Nach dem Verbinden von Computer und Interface per Null-Modem-Kabel kann durch Eingabe von in das konfigurierte Hyperterminal die Befehls-liste in Abb 30 aufgerufen werden

Abb 30 Aufgerufene Befehlsliste im Hyperterminal

Durch Eingabe von LED on oder LED off kann die LED ein- und ausgeschaltet LED zeigt den Status der LED und sw den Status des Tasters an Alternativ zum Hyperterminal kann auch das Terminal in BASCOM unter ToolsTerminal Emulator verwendet werden (larr 422)

464 Ferngesteuertes RCL Zum Ansteuern des Interfaces und zum Bedienen des Versuchsaufbaus uumlber das Internet wird eine Webseite benoumltigt die dem Benutzer alle Bedienelemente des Experiments zur Verfuumlgung stellt

Der Benutzer benoumltigt anklickbare Buttons im Webbrowser

Der Webserver muss die Information welcher Button gedruumlckt wurde empfangen und ein entsprechendes Kommando uumlber die serielle Schnittstelle an das Interface senden

Beide Schritte sind im nachfolgenden PHPHTML-Quellcode zusammengefasst 01 ltDOCTYPE HTML PUBLIC -W3CDTD HTML 401 TransitionalEN httpwwww3orgTRhtml4loosedtdgt 02 lthtmlgt 03 ltheadgt 04 ltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1gt 05 lttitlegtelementares RCLlttitlegt 06 ltheadgt 07 08 ltbodygt 09 ltphp 10 if (isset($_POST[Kommando])) wurde bereits Kommando gesendet 11 if( ( $handle = fopen( COM1 w+ ) ) ) Schnittstelle oumlffnen 12

71

13 throw new Exception( Can not access serial port 2 ) ohne Erfolg 14 15 fwrite( $handle $_POST[Kommando] chr( 13 ) ) Befehl an Interface senden 16 switch ( $_POST[Kommando] ) Antwort von Interface auswerten 17 case LED $tmp = fgets( $handle ) Echo von Interface ignorieren 18 $antwort = fgets( $handle ) Antwort des Interfaces 19 echo Antwort $antwort Ausgabe auf Webseite 20 break switch verlassen 21 22 case SW $tmp = fgets( $handle ) Echo von Interface ignorieren 23 $antwort = fgets( $handle ) Antwort des Interfaces 24 echo Antwort $antwort Ausgabe auf Webseite 25 break switch verlassen 26 27 28 29 fclose( $handle ) Schnittstelle schlieszligen 30 31 else 32 `mode com1 BAUD=9600 PARITY=N data=8 stop=1 xon=off` Schnittstellenparameter setzen 33 34 35 gt 36 37 lth3gtBefehl sendenlth3gt 38 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 39 ltinput type=hidden name=Kommando value=LED ON gt 40 ltinput type=submit value=LED anschalten gt 41 ltformgt 42 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 43 ltinput type=hidden name=Kommando value=LED OFF gt 44 ltinput type=submit value=LED ausschalten gt 45 ltformgt 46 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 47 ltinput type=hidden name=Kommando value=LED gt 48 ltinput type=submit value=LED abfragen gt 49 ltformgt 50 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 51 ltinput type=hidden name=Kommando value=SW gt 52 ltinput type=submit value=Taster abfragen gt 53 ltformgt 54 ltbodygt 55 lthtmlgt Den Quellcode in den Texteditor kopieren und im Ordner htdocs von XAMPP z B unter rclphp speichern HTML-Dateien mit PHP-Code (Zeilen 9-35) muumlssen mit der Erweiterung php gespeichert werden damit der Apache Webserver zwischen HTML-Seiten mit und ohne PHP-Code unterscheiden kann Den installierten Apache Webserver starten (larr 452) und im Adressfeld des Webbrowsers die IP-Adresse http127001rclphp aufrufen Das Bedi-enfeld des elementaren RCLs in Abb 31 wird im Browserfenster angezeigt

72

Abb 31 Laborseite des elementaren RCLs

Im Bedienfeld kann die LED an- und ausgeschaltet sowie der Status von LED und Taster abgefragt werden

  • 0 Warum ein Tutorial zur RCL-Technik
  • 1 Technische Konzeption
    • 11 Einfuumlhrung
    • 12 Wahl der RCL-Technik
      • 2 Lokal gesteuertes RCL
        • 21 Interface
          • 211 Mikrocontroller
          • 212 Basisschaltung und Erweiterungsschaltungen
          • 213 Programmierung des Mikrocontrollers
            • 22 Hyperterminal
            • 23 Positionieren von Objekten
              • 231 Hybrid-Schrittmotoren
              • 232 Schrittmotorsteuerung und Positionierungsmechanik
                  • 3 Ferngesteuertes RCL
                    • 31 RCL-Server
                    • 32 Laborseite
                      • 321 Steuerung des RCLs uumlber das Bedienfeld
                      • 322 Videouumlbertragung im Webcamfeld
                        • 33 Standard-Lernumgebung
                          • 4 ANHANG
                            • 41 Interface in Basisschaltung
                              • 411 Schaltplan und Bauteilliste
                              • 412 Bestuumlckung der Platine
                                • 42 Erweiterungsschaltungen
                                  • 421 Uumlbersicht
                                  • 422 TMC222-Modul zur Schrittmotorsteuerung
                                    • 4221 Schaltplan und Bauteilliste
                                    • 4222 Bestuumlckung der Platine
                                    • 4223 Quellcode des Mikrocontroller-Programms
                                      • 423 Geschaltete Spannungsquellen und Verbraucher
                                      • 424 Steuerung von Gleichstrommotoren
                                        • 43 Quellcodes zum RCL Elektronenbeugung
                                          • 431 Mikrocontroller-Programmierung
                                          • 432 PHP-Programmierung
                                          • 433 Bedienfeld der Laborseite
                                          • 434 Webcamfeld der Laborseite
                                            • 44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung
                                              • 441 AVR-Studio 418
                                                • 4411 Installation
                                                • 4412 Konfiguration
                                                  • 442 BASCOM 11198 Demoversion
                                                    • 4421 Installation
                                                    • 4422 Konfiguration
                                                        • 45 Installation und Konfiguration von Programmen auf dem RCL-Server
                                                          • 451 Einrichten des Internet-Zugangs
                                                          • 452 Paket XAMPP 174
                                                          • 453 Videoserver webcamXP 5 Private
                                                          • 454 Terminalprogramm Hyperterminal
                                                          • 455 Fernwartungssoftware TeamViewer 6 Host
                                                            • 46 Selbstbau eines elementaren RCLs
                                                              • 461 Hard- und Software
                                                              • 462 Bestuumlckung der Platine
                                                              • 463 Lokal gesteuertes RCL
                                                              • 464 Ferngesteuertes RCL

29

Code mit Erlaumluterung

expe

rimen

ttpl

1821 Tag ltformgtltformgt definiert ein Formular 18 Attribut action legt fest dass Formulardaten in der Datei indexphp verarbeitet werden Uumlbertragen

werden eine Session-ID ($sid) um exklusiven Zugriff des jeweilgen Besuchers zu sichern und ($portal) um die vom Besucher gewaumlhlte Sprache beizubehalten post ist eine Uumlbertragungsmethode zwischen Browser und Webserver und gibt die die vom Besucher gewaumlhlte Aktion zum Ansteuern des Experiments an die Datei experimenttpl weiter

20 Erzeugt im Bedienfeld den Sendebutton (submit) mit der Aufschrift Elektronenroumlhre einschalten (valu-e)

19 Unsichtbares Feld (hidden) mit Variablennamen action und Wert RoumlhreAn Der Variablenname ac-tion stimmt nur zufaumlllig mit action in Zeile 18 uumlberein

expe

rimen

tphp

24 Die Funktion wird als Eventhaumlndler bezeichnet weil je nach uumlbergebener Aktion - siehe Zeile 19 in experi-

menttpl - die entsprechenden Anweisungen (case) ausgefuumlhrt werden 37 Fuumlr den Fall dass die Variable $action den Wert RoumlhreAn hat wird die Funktion power_on() aufgeru-

fen

59 Schreibt in die Logdatei logtxt den Text RoumlhreAn 6061 Oumlffnet den in der Datei configphp zentral gespeicherten Com-Port an den das Interface angeschlossen ist

oder gibt Fehlermeldung Can not access file system im Bedienfeld aus falls der Com-Port sich nicht oumlff-nen laumlsst

62 Sendet die Zeichenfolge On und chr(13) (entspricht der Betaumltigung der Return-Taste im Hyperterminal) an den Mikrocontroller

63 Schlieszligt serielle Schnittstelle

Que

llcod

e M

ikro

cont

rolle

r

166 Wird uumlber die serielle Schnittstelle der Befehl on empfangen und ist das Einschalten zulaumlssig (Zeiten fuumlr

PowerOnDelay und Standby abgelaufen) dann hellip 167 Hochspannungsnetzgeraumlt einschalten 168 Der DA-Wandler PCF8591 wird unter seiner Adresse PCF8591 = 01001000 angesprochen Parameterein-

stellungen mit 01000000 und Ausgangsspannung auf 0 V einstellen 169 Setzt Standby auf vorgegebene Standbyzeit zuruumlck 171 Gibt Meldung aus wie lange PowerOnDelay noch dauert

Tab 5 Uumlbertragung des Befehls Elektronenroumlhre einschalten vom Bedienfeld zum Experi-ment

30

Anhand der Erlaumluterungen der Programmcodes koumlnnen die Ablaumlufe zwischen dem Druumlcken des Buttons Elektronenroumlhre einschalten und dem Einschalten der Elektronenbeugungs-roumlhre oder der Eingabe einer Beschleunigungsspannung und dem Anlegen einer Beschleu-nigungsspannung verfolgt werden Uumlber das Bedienfeld koumlnnen nur die von der Datei expe-rimenttpl bereitgestellten Befehle on und da der insgesamt implementierten Befehle (rarr 22 Abb 10) aufgerufen werden

322 Videouumlbertragung im Webcamfeld Zur Aufnahme von Livebildern des Experiments koumlnnen USB-Webcams und IP-Kameras (Netzwerkkameras) eingesetzt werden Teurere IP-Kameras muumlssen eingesetzt werden wenn die Kamera wie z B beim RCL Roboter im Labyrinth zu weit vom Computer entfernt ist oder eine besonders lichtempfindliche Kamera aus der Uumlberwachungstechnik wie z B beim RCL Millikan-Versuch benoumltigt wird W-LAN-Kameras kommen zum Einsatz wenn Bil-der von einem beweglichen Objekt aus wie z B beim RCL Roboter im Labyrinth uumlbertra-gen werden sollen

Das Videoserverprogramm webcamXP 5 erkennt beim Aufrufen automatisch an den RCL-Server angeschlossenen USB-Webcams Vor dem Kauf einer IP-Kamera ist zu pruumlfen ob das Modell unterstuumltzt wird14 IP-Kameras muumlssen im Kontextmenuuml der Videoquelle konfigu-riert werden Abb 17 zeigt das Webcambild einer USB-Webcam vom Szintillationsschirm der Elektronenbeugungsroumlhre

Abb 17 Webcambild des Szintillationsschirms der Elektro-

nenbeugungsroumlhre einer USB-Webcam in webcamXP 5 beim RCL Elektronenbeugung

14 Vgl Moonware Studios webcamXP IP-cameras for webcamXP

31

Zum Einbinden des Webcambilds in die Laborseite des RCLs wird die laborsprachenabhaumln-gige Datei videohtm (rarr 434) in den Ordnern eng fra ger und ita verwendet Standardmauml-szligig werden zwei Webcambilder und Screenshots unterstuumltzt der Code fuumlr weitere Webcam-bilder kann durch copy and paste hinzugefuumlgt werden

Unter den Technologien Java Javaskript Flash und Windows Media fuumlr die Wiedergabe ei-nes Livestreams auf eine Webseite wurde Javaskript gewaumlhlt weil die anderen Technologien die Installation des Java Runtime Environments (JRE) des Flash- oder Windows Media Players durch den Besucher eines RCLs voraussetzen Die Wiedergabe des Livestreams mit einem Java-Applet startet zudem erst verzoumlgert nachdem das Applet geladen ist und verfuumlgt uumlber eine zu geringe Wiedergabegeschwindigkeit

33 Standard-Lernumgebung Bestandteil der Entwicklung eines RCLs ist die Erstellung einer Standard-Lernumgebung zum RCL Abb 18 zeigt exemplarisch fuumlr die deutschen Webseiten im Ordner ger das Menuuml (larr 11 Abb 3) und die Dateistruktur der Standard-Lernumgebung

Abb 18 Deutschsprachiges Menuuml und Dateistruktur der Standard-Lernumgebung

RCL-spezifisch anzupassende Dateien sind grau hinterlegt

Die englischen Dateinamen introductionhtm setuphtm hellip im Ordner ger korrespondieren mit den deutschen Menuumlpunkten Wird das RCL unter dem Menuumlpunkt RCLs des RCL-Portals aufgerufen dann ruft die Frameset-Datei indexhtm die Dateien menuumlhtm und intro-ductionhtm auf und das Menuuml wird zusammen mit der Webseite Einstieg dargestellt Die Wahl weiterer Menuumlpunkte ruft jeweils die korrespondiere Datei im Ordner auf Bei Wahl des Menuumlpunkts Labor werden mit der Frameset-Datei laboratoryhtm die Dateien videohtm fuumlr das Webcamfeld und die Datei laborindexphp fuumlr das Bedienfeld aufgerufen

32

Im Ordner docsmaterial werden alle Dokumente fuumlr die Webseite Material im Ordner docsothers die Dokumente anderer Webseiten abgelegt Im Ordner docsoriginals sind die Originale von Dokumenten wie z B Word-Dateien und der verwendeten Bilder abgelegt Grafikdateien der Webseiten Einstieg hellip Auswertung hellip Betreuung werden in gleichnami-gen Ordnern wie z B imagesanalysis abgelegt Bei sprachenunabhaumlngigen Grafikdateien wird unter dem Dateinamen abbx bei sprachenabhaumlngigen unter dem Dateinamen abbx_lan mit lan = eng fra ger und ita gespeichert Analoges gilt fuumlr die als gif-Grafiken forxgif oder forx_langif zu speichernden Formeln Originale von Bildern werden im Ordner imagesoriginals abgelegt Die Webseite zur Datei htdocsindexhtm enthaumllt zum lokalen Aufrufen der Standard-Lernumgebung Links zu den vier Index-Dateien in den Ordnern eng fra ger und ita Die Stylesheet-Datei htdocsrcl_stylecss enthaumllt die Styles der Webseiten

In der Regel werden Standard-Lernumgebungen der RCLs des RCL-Portals von verschiede-nen Personen erstellt Fehlende Gestaltungs- und Formatierungsregeln fuumlhren zu einem un-einheitlichen inattraktivem Erscheinungsbild des RCL-Portals Tab 6 gibt einen Uumlberblick der wichtigsten Gestaltungs- und Formatierungsregeln

Element Richtlinien

Gliederung

Die Webseiten Einstieg Aufbau Aufgaben Diskussion Material und Support enthalten vorgegebene Gliederungspunkte teilweise mit ausgefuumlhrten Uumlberschriften

Die umfangreicheren Webseiten Theorie und Auswertung enthalten ein Inhaltsverzeichnis mit internen Links zu Gliederungspunkten Zwischen Punkten der ersten Gliederungsebene (1 2 hellip) ist ein zwei-zeiliger Abstand (ltpgtampnbspltpgtltpgtampnbspltpgt) zwischen Punkten der zweiten (11 12 hellip) und Punkten der nur falls unbedingt notwendig dritten 111 112 hellip) Gliederungsebene ein einzeiliger Abstand zu waumlhlen Nach Abbildungen und Tabellen folgt ein einzeiliger Abstand zum nachfolgenden Text

Links Keine internen Links zwischen den Webseiten der Lernumgebung Externe Links werden prinzipiell in einem neuen Browserfenster geoumlffnet (blank)

Abbildung

Alle Abbildungen erhalten fortlaufend beginnend mit 1 nummerierte Abbildungsunterschriften der Form Abb x hellip

Abbildungen sind moumlglichst spachenunabhaumlngig d h ohne Texte in der Abbildung zu erstellen Zur Beschriftung koumlnnen z B Zahlen verwendet werden die in der Abbildungsunterschrift oder im Text er-laumlutert werden

Tabellen Tabellen werden in jeder Webseite fortlaufend beginnend mit 1 nummeriert Tabellen sind zu zentrieren Rahmenstaumlrke 1

Formeln

Formeln sind nicht als Textzeichen oder Grafik im laufenden Text einzufuumlgen sondern stets zentriert in einer eigenen Zeile als gif-Grafik

Zum Erstellen der Formel-Grafiken eignet sich z B der Formel-Editor MathType15 mit der Aufloumlsungs-Einstellung 120 dpi fuumlr InternetGif

Formeln brauchen im Rahmen des begrenzten Umfangs der Webseiten nicht nummeriert zu werden Groumlszligen-symbole

Griechische Groumlszligensymbole und mathematische Symbole sind nicht als Grafiken im laufenden Text sondern als HTML-Code einzufuumlgen Eine Zeichenreferenz findet sich bei Selfhtml16

Styles Zur Formatierung der Webseiten werden aus der Stylesheet-Datei nur die drei Styles Uumlberschrift fuumlr

die Uumlberschriften Bildunterschrift fuumlr Abbildungs- und Tabellenunterschriften und Tabellentext fuumlr Tex-te in Tabellen benoumltigt

Tab 6 Richtlinien zur Gestaltung und Formatierung der Standard-Lernumgebung

Detailliertere Informationen zum Layout der Standard-Lernumgebung koumlnnen dem RCL-Ordner und dem Erscheinungsbild der Webseiten von RCLs in Browsern entnommen wer-den

15 Vgl Design Science MathType 16 Vgl Selfhtml HTML-Zeichreferenz

33

4 ANHANG

34

41 Interface in Basisschaltung 411 Schaltplan und Bauteilliste Abb 19 zeigt den Schaltplan der Basisschaltung des Interface und Tab 7 die dazugehoumlrige Bauteilliste

Abb 19 Basisschaltung des Interface

Nr Anzahl Kurzbeschreibung des Bauteils Best-Nr bei Reichelt electronic

Einzelpreis in euro

0 1 Epoxyd-Platine (190x112 mm) mit Anteil Loumltpunktraster (Spezi-

alanfertigung) - asymp 10

1 1

Epoxyd-Fotoplatine einseitig 160x100 mm 15 mm 35 microm Epoxyd-Lochrasterplatine 160x100 mm 15 mm 35 microm

BEL 160x100-1 UP 832EP

170 420

1 1 Hohlstecker-Einbaubuchse gewinkelt Loumltfahnen 21 mm HEBW 21 018 2 1 D-SUB-Stecker 9-polig gewinkelt RM 94 D-SUB ST 09EU 029 3 1 Schottky Diode DO41 40 V 1 A SB 140 008 4 1 Draht von abgeschnittenem Beinchen aus Pos-Nr 3 - - 5 1 IC-Sockel 16-polig superflach gedreht vergoldet GS 16P 029 6 1 IC-Sockel 40-polig superflach gedreht vergoldet GS 40P 061 7 1 2x10-pol-Stiftleiste gerade RM 254 SL 2X10G 254 007 8 1 Metallschichtwiderstand 100 kΩ Metall 100k 0082 9 1 Elektrolytkondensator 10x16 mm 470 microF RM 50 mm RAD 47025 006 10 1 Elektrolytkondensator 63x11 mm 100 microF RM 25 mm RAD 10016 004 11 5 Elektrolytkondensator 5x11 mm 10 microF RM 20 mm RAD 1035 004 12 2 Keramik-Kondensator 33 pF Kerko 33p 006 13 3 Vielschicht-Keramikkondensator 100 nF 20 Z5U-25 100n 004

35

14 1 Standardquarz Grundton 110592 MHz 110592-HC49U-S 018 15 1 Spannungsregler 1 A positiv TO-220 microA 7805 028 16 1 Kuumlhlkoumlrper fuumlr Gehaumluse TO-220 99KW V FI356 066 17 1 Zylinderkopfschraube Schlitz M3 10 mm fuumlr Kuumlhlkoumlrper M3x10mm 160 18 2 Sechskantmutter M3 fuumlr Kuumlhlkoumlrper SK M3 001 19 1 Stecker-Schaltnetzteil 12 V 2250 mA MW 3IP25GS 1150 20 1 RS232-Driver DIL-16 MAX 232 CPE 041 21 1 ATmega AVR-RISC-Controller DIL-40 ATmega16-16 DIP 420 22 3 10-poliger Wannenstecker RM 254 stehend (optional) WSL 10G 009 23 1 14-poliger Wannenstecker RM 254 stehend (optional) WSL 14G 014 24 1 40-polige Stiftleiste 1-reihig gerade RM254 (optional) SL 1x40G 254 023 25 1 Kunststoffgehaumluse 1982x1124x760 mm (Serientyp 202) - asymp 10 euro 26 1 D-SUB Nullmodem-Kabel 9-pol BUBU 3 m AK 143 155 27 x DIN-Einbaubuchse 5-pol Schraubver 360deg (optional) DIO-50W EMS 185 28 x DIN-Einbaubuchse 8-polig Schraubversch 270deg (optional) DIO-80SN EMS 180 29 x Pfostenstecker 10-polig mit Verrieglung gew (optional) PSL 10W 028 30 x Klemmleiste RM 254 Oumlffnungshebel 8-polig (optional) Wago 233 220

Tab 7 Bauteilliste mit Bestellnummer und Einzelpreisen der Bauelemente bei Reichelt electronic (Stand 23102010)

Anhand der Bauteilliste in koumlnnen die elektronischen Bauelemente der Basisschaltung (larr Tab 7 Nr 0 ndash 21 optional Nr 22 - 24) bei Reichelt electronic bestellt werden Das Gehaumluse des Interface (larr Tab 7 Nr 25) sollte vom Hersteller HAGOTECH GmbH bezogen werden Weiterhin wird ein Nullmodemkabel (larr Tab 7 Nr 26) zur Verbindung des Interface mit dem Computer benoumltigt Sensoren und Aktoren des Experiments koumlnnen mit optionalen Steck-verbindern (larr Tab 7 Nr 27 - 30) und entsprechende Kabelverbindungen an das Interface angeschlossen werden Die Nummern 0 - 25 stimmen mit der angegebenen Bestuumlckungs-reihenfolge auf der Platine uumlberein Das Interface kostet in der Basisschaltung ca 50 euro

412 Bestuumlckung der Platine Abb 20 zeigt zur Bestuumlckung der Platine benoumltigte Werkzeuge

Abb 20 Werkzeuge zur Bestuumlckung der Platine des Interface

36

Loumltkolben mit feiner Spitze in Meisselform 2 mm oder Loumltstation (1) Loumltzinnabsauger zum Entfernen von Loumltzinn (2) Nasser Schwamm zum Reinigen der Spitze des Loumltkolbens (3) Loumltzinn mit Durchmesser 08 - 10 mm (4) Flachspitzzange zum Biegen von Anschluumlssen der Bauelemente (5) Seitenschneider zum Kuumlrzen der Beinchen von Bauelementen (6) Multimeter zum Pruumlfen der Funktionsfaumlhigkeit der Schaltung (7) Sekundenkleber zur Befestigung von Bauelementen Kleine Bohrmaschine z B von Dremel und 08 mm Bohrer oder duumlnne Rundfeile zum

Weiten von Loumlchern auf der Platine des Interface

Abb 21 zeigt die Platine des Interface von der Loumltseite in der Spezialanfertigung der Elekt-ronik-Werkstatt an der Technischen Universitaumlt Kaiserslautern und in der Selbstbauvariante (larr Tab 7 Nr 0) Abb 22 zeigt das Platinenlayout

Abb 21 Platine des Interface von der Loumltseite als Spezialanfertigung (links) und der Selbstbauvariante

(rechts)

Abb 22 Layout zur Herstellung des geaumltzten Teils der

Platine in der Selbstbauvariante

37

In der Selbstbauvariante kann anhand des Platinenlayouts eine selbst geaumltzte Platine fuumlr die Basisschaltung auf einer Platine im Europakartenformat hergestellt und diese in der Laumlnge gekuumlrzt werden Eine gekuumlrzte Lochrasterplatine bildet den zweiten Teil der Platine Mit den optionalen vier Wannensteckern (larr Tab 7 Nr 22 - 23) oder den vier Stiftleisten (larr Tab 7 Nr 24) an den Ports des Mikrocontrollers koumlnnen leicht elektrische Verbindungen zum Rasterteil der Platine herstellt werden Abb 23 zeigt die fertig bestuumlckte Platine mit den Nummern aus Tab 7

Abb 23 Bestuumlckte Platine des Interface mit nummerierten Bauelementen

Tab 8 beschreibt das Einloumlten der elektronischen Bauelemente anhand der Nummern aus Tab 7 und in der angegebenen Reihenfolge

Nr Bauelement Beschreibung des Einbaus

0 Spezialanfertigung und Selbst-bauvariante der Epoxydharz-

Platine

1

Stromversorgungsbuchse ndash Hohlstecker 21 mm

Wenn die Loumltbeine nicht durch die Loumlcher der Platine passen die Loumlcher mit einer runden Schluumlsselfeile aufweiten

Stromversorgungsbuchse mit Sekundenkleber vor dem Festloumlten auf der Pla-tine fixieren da diese mechanischen Belastungen durch das Einstecken und Herausziehen des 12 V -Steckers ausgesetzt ist

Wahlweise kann die 25 mm-Version der Buchse verwendet werden

2

RS232 Datenstecker

RS232 Datenstecker mit Sekundenkleber vor dem Festloumlten auf der Platine fixieren da dieser mechanischen Belastungen durch das Einstecken und Herausziehen des Null-Modem-Kabels ausgesetzt ist

Alle Beinchen und Befestigungsstifte zur houmlheren Stabilitaumlt anloumlten

3

Ein Ring an einer Seite der Diode (hier links weiszlig) zeigt die Durchlass- bzw Sperrrichtung der Diode an Die Position des Ringes entspricht der Position des Balkens im Schaltungssymbol

38

Diode ndash SB140 Auf der Platine muss der Ring auf der von der Stromversorgungsbuchse ab-

gewandten Seite liegen

4 Drahtbruumlcke

Vor dem Einloumlten des 40-poligen IC-Sockels (Nr 5) muss eine Drahtbruumlcke unter diesem eingeloumltet werden Dazu koumlnnen die abgeschnittenen Beinchen der bereits eingeloumlteten Diode (Nr 3) verwendet werden

5 6

IC-Fassungen

Die 16-polige und 40-polige IC-Fassungen besitzen eventuell eine Markie-rung fuumlr Pin1 (z B Kerbe in der Stirnseite Punkt Pfeilhellip) als Hilfe fuumlr das richtige Einstecken der ICs Die Markierungen muumlssen bei beiden Fassungen nach oben also zum naumlchstliegenden Rand der Platine zeigen

Die ICs unbedingt noch nicht einstecken

7

ISP-Stiftleiste

Die doppelreihige ISP-Stiftleiste dient der Programmierung des Mikrocontrol-lers mit dem AVR-ISP-Programmer (ISP steht fuumlr In System Programming)

ISP-Stiftleiste auf 2 x 5 Stifte kuumlrzen und mit den kurzen Beinchen einloumlten so dass auf die langen Stifte der AVR-ISP-Programmer gesteckt werden kann

8

Widerstand 100 kΩ

Den 100 kΩ-Widerstand rechts neben der ISP-Stiftleiste einloumlten

9

10

11

Elkos

Bei den verwendeten Elektrolyt-Kondensatoren ist die Polung zu beachten (langes Beinchen = Plus-Pol) Weiterhin ist auf den Kondensatoren ein wei-szliger Streifen mit Minus-Zeichen aufgedruckt Die Kondensatoren sollten eine Spannungsfestigkeit von mindestens 16 V besser 25V besitzen

Auf der Kupferseite der Platine zeigt die Form der Loumltaugen die Polung an Rundes Loumltauge = Plus quadratisches Loumltauge = Minus

Der 470 microF Kondensator wird mit dem weiszligen Streifen in Richtung Stromver-sorgungsbuchse direkt unter diese montiert

Der 100 microF Kondensator sitzt direkt unter der 16-poligen IC-Fassung Sein weiszliger Streifen (Minus-Pol) zeigt in Richtung der Stromversorgungsbuchse

Vier der 10 microF Kondensatoren werden links neben der 16-poligen IC-Fassung montiert Deren Polung ist wie folgt Unterster Kondensator Minus nach oben naumlchster Kondensator Minus nach unten die beiden oberen Kondensatoren mit Minus nach oben

Ein weiterer 10 microF Kondensator wird rechts neben die 16-polige IC-Fassung geloumltet Sein Minus-Streifen zeigt nach unten

12

13

Keramik-Kondensatoren

Die Beschriftung 104 bedeutet 10e4 pF = 100 nF Die beiden 33 pF-Kerkos (Keramik-Kondensatoren) werden direkt nebenei-

nander rechts neben die 16-polige IC-Fassung geloumltet Zwei 100 nF-Kondensatoren werden unter dem 470 microF-Elko eingeloumltet ein

weiterer mittig an der linken Seite der 40-poligen IC-Fassung

14

Quarz

Als Quarz wird ein 110592 MHz-Typ verwendet Bei dieser Frequenz ist eine fehlerfreie Kommunikation uumlber RS232 mit 9600 Baud moumlglich Fuumlr den AT-mega16 koumlnnen Quarze bis 16 MHz eingesetzt werden Details siehe Daten-blatt

Der Quarz wird direkt rechts neben die beiden 33 pF-Kerkos geloumltet Die Ori-entierung des Quarz spielt keine Rolle

15

16

17

18

Der Spannungsregler L7805 erzeugt eine stabilisierte Spannung von 5 V Es muss ein Kuumlhlkoumlrper zur Waumlrmeabfuhr vom Spannungsregler verwendet werden

Vor dem Einloumlten zwischen Spannungsregler und Kuumlhlkoumlrper etwas Waumlrme-leitpaste aufgetragen Beide Bauteile fest mit einer Schraube M3x10 und ei-ner 1 Mutter verschrauben

Dann den Spannungsregler einloumlten um 90deg abzubiegen das uumlberstehende Gewinde durch das vorgesehene Loch stecken und alles mit einer 2 Mutter auf der Platine befestigen

1 Mutter

2 Mutter

Schr

aube

L7805

Platine

KuumlhlkoumlrperWaumlrmeleitpaste

Beinchen

Loumlten

39

Spannungsregler L7805 Kuumlhl-koumlrper und Montage

19

Steckernetzteil

Funktionskontrolle vor dem Einsetzen des Mikrocontrollers Polung der Elektrolyt-Kondensatoren (Elkos) pruumlfen Sind alle Beinchen angeloumltet Hat das Loumltzinn an den Beinchen und der Pla-

tine guten Kontakt Sind eventuell zwei benachbarte Beinchen unbeabsichtigt durch Loumltzinn verbunden Alle Loumltverbindungen nochmals genau z B mit ei-ner Lupe pruumlfen

Probeweise das Stecker-Netzteil an die Buchse anschlieszligen Am 100 nF-Kondensator links mittig der 40-poligen IC-Fassung muumlssen 5 V anliegen

Versorgungsspannung unbedingt wieder von der Platine trennen

20

21

ICs MAX232 und ATmega16

Die Nuten auf den ICs am linken Rand muumlssen nach oben zeigen d h Pin1 ist bei beiden ICs in der Abbildung links unten und auf der Platine oben links

Manchmal passen die Beinchen der ICs nicht in die Fassung weil die Fas-sung scheinbar zu schmal ist Dann den IC seitlich mit einer Beinchen-Reihe flach auf den Tisch legen den IC-Koumlrper links und rechts greifen und Bein-chen durch leichten Druck biegen Einzelne verbogene Beinchen vorsichtig mit einer kleinen Flachzange richten

22

23

Wannenstecker 10- und 14-polig

Wannenstecker an den vorgesehe-nen Stellen mit der Nut gegen Ver-polung in Richtung des naumlherliegen-den Platinenrands einloumlten

Die Abbildung rechts zeigt die Pin-Belegung der Wannenstecker

24

Stiftleiste 8-polig 40-pol Stiftleiste in 4 jeweils 8-polige Stuumlcke zerteilen und einloumlten

25

Kunststoffgehaumluse

In der Selbstbauvariante der Platine (Nr 0) vor dem Einsetzten der Platine in das Gehaumluse passend positionierte Kunststoffstege am Gehaumluseboden fest-kleben

Tab 8 Bestuumlckung der Platine des Interface mit Bauelementen

42 Erweiterungsschaltungen 421 Uumlbersicht In Tab 3 sind von RCLs des RCL-Portals Sensoren und Aktoren mit den dazugehoumlrigen Er-weiterungsschaltungen zusammengestellt Da alle RCLs obligatorisch uumlber mindestens eine Webcam verfuumlgen sind diese unter den Sensoren nicht aufgefuumlhrt Die wenigen Erweite-rungsschaltungen fuumlr Sensoren sind unter Sensoren in Klammern aufgelistet Unter Aktoren werden auszliger elektro-mechanischen Wandlern auch gesteuerte Geraumlte oder Bauelemente verstanden Anzeigeinstrumente sind unter Aktoren nur aufgefuumlhrt wenn sie direkt vom In-terface gesteuert werden Mit gekennzeichnete Erweiterungsschaltungen befinden sich au-szligerhalb des Interface

40

RCL Sensoren Aktoren Erweiterungsschaltungen fuumlr Aktoren

Beugung und Interferenz I Referenz-Taster

Schrittmotor (Rotation) Schrittmotorsteuerung Laser-Modul Geschaltete Spannungsversorgung

Beugung und Interferenz II

4 Referenz-Taster Lichtsensor

4 Schrittmotoren (Translation) 4 Schrittmotorsteuerungen 5 Laser-Module Geschaltete Spannungsversorgung LED fuumlr Position des

Lichtsensors Geschaltete Spannungsversorgung

LED fuumlr Linealbeleuchtung Geschaltete Spannungsversorgung

Elektronen-beugung

Hochspannungsnetzgeraumlt Geschaltete Spannungsversorgung Hochspannungsnetzgeraumlt Steuerung der Hochspannung

Fotoeffekt 2 Referenz-Taster Photozelle

2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen

Quecksilberdampflampe Geschaltete Spannungsversorgung

der Drossel fuumlr Quecksilberdampf-lampe

Halbleiter-kennlinien

und Halbleiterkennli-nien - Schuumller-

projekt

Referenz-Taster

Schrittmotor (Rotation) Schrittmotorsteuerung Oszilloskop Geschaltete Spannungsversorgung

Oszilloskop Instrumentenverstaumlrker fuumlr X- und Y-Ablenkung

Multimeter Steuerung Spannungs- oder Strom-anzeige

Heiszliger Draht 4 Endtaster 4 Drehgeber Kurzschlusssensor

4 Gleichstrommotoren 4 Treiber

Zweifarbige LED Steuerung der LED-Farbe

Lichtgeschwin-digkeit

Drehimpulsgeber 2 Taster an Enden

der Eisenbahnstre-cke

2 Schrittmotoren 2 Schrittmotorsteuerungen Oszilloskop Geschaltete Spannungsversorgung

Motor der Lokomotive Steuerung des Ein- und Ausschal-tens und der Bewegungsrichtung

Maut Infrarot-Sensor Gleichstrommotor Geschaltete Spannungsquelle 2 IR-Fernbedienungen Spannungsregler 2-stellige 7-Segmentanzeige LED-Treiber

Millikan-Versuch 2 Referenz-Taster

2 Schrittmotoren 2 Schrittmotorsteuerungen Lichtquelle (LED) fuumlr Millikan-

Kondensator Geschaltete Spannungsversorgung

Airbrush-Kompressor Geschaltete Spannungsversorgung Magnetventil Geschaltete Spannungsversorgung Millikan-Kondensator Gesteuertes Hochspannungsmodul

Optische Com-putertomogra-

phie

2 Referenz-Taster 2 Lichtsensoren

Schrittmotor (Rotation) Schrittmotorsteuerung Schrittmotor (Translation) Schrittmotorsteuerung

2 Laser-Module 2 geschaltete Spannungsversor-gungen

Optische Fou-rier-

Transformation 2 Referenz-Taster

2 Schrittmotoren (Translation) 2 Schrittmotorsteuerungen

Laser-Modul Geschaltete Spannungsversorgung

Oszilloskop Oszilloskop Geschaltete Spannungsversorgung Signalgenerator Steuerung der Signalart

Radioaktivitaumlt 4 Referenz-Taster Geiger-Muumlller-

Zaumlhlrohr

2 Schrittmotoren (Translation) 2 Schrittmotorsteuerungen 2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen 4-stellige 7-Segment-Anzeige Treiber Elektromagnet Geschaltete Spannungsversorgung

Roboter im Labyrinth Infrarot-Sensor

2 Schrittmotoren 2 Schrittmotorsteuerung Infrarot-Sender Treiber

Rutherfordscher Streuversuch

2 Referenz-Taster Halbleiterdetektor

(Impulsformer)

2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen

4-stellige 7-Segment-Anzeige Treiber

Weltpendel

Referenz-Taster Lichtsensor der

Lichtschranke (Im-pulsformer)

Temperatursensor

Schrittmotor (Translation) Schrittmotorsteuerung Elektromagnet Geschaltete Spannungsversorgung

Laser der Lichtschranke Geschaltete Spannungsversorgung

Windkanal Referenz-Taster Schrittmotor (Translation) Schrittmotorsteuerung

41

Dehnungsmess-streifen (Wheat-stonesche Bruumlcke Messverstaumlrker Multimeter)

Geblaumlsemotor Geschaltete Spannungsversorgung

und Ansteuerung mit Pulsweiten-modulation

Anemometer Geschaltete Spannungsversorgung Multimeter Geschaltete Spannungsversorgung

Tab 9 Sensoren Aktoren und Erweiterungsschaltungen der RCLs des RCL-Portals

422 TMC222-Modul zur Schrittmotorsteuerung 4221 Schaltplan und Bauteilliste Abb 1 zeigt die Beschaltung des TMC222 von Trinamic auf dem TMC222-Modul

Abb 24 Beschaltung des TMC222 von Trinamic

Anhand der Bauteilliste in Tab 10 koumlnnen die elektronischen Bauelemente des TMC222-Moduls bei Reichelt electronic bestellt werden Ein TMC222-Modul kostet ungefaumlhr 10 euro

Nr Anzahl Kurzbeschreibung des Bauteils Best-Nr bei Reichelt electronic

Einzelpreis in euro

0 1 Epoxyd-Fotoplatine einseitig 75x100 mm 15 mm 35 microm BEL75X100-1 096 1 1 Integrierter TMC-Schrittmotor-Controller TMC 222 SI asymp 7 2 1 Elektrolytkondensator 8x11 mm Rm 35 mm 100 microF35 V RAD 10035 004 3 1 Tantal-Kondensator Rm 25 10 microF35 V Tantal 1035 014 4 2 Vielschicht-Keramikkondensator 220 nF 20 Z5U-25 220N 011 5 3 Vielschicht-Keramikkondensator 100 nF 20 Z5U-25 100N 004 6 2 Metallschichtwiderstand 100 kΩ Metall 100K 0082 7 1 1x36pol Stiftleiste gewinkelt Rm 254 SL 1X36W 027 8 1 1x36pol Buchsenleiste gerade Rm 254 BL 1X36G 025

Tab 10 Bauteilliste mit Bestellnummer und Einzelpreisen der Bauelemente bei Reichelt electronic (Stand 23102010)

4222 Bestuumlckung der Platine

42

Abb 25 zeigt die fertig bestuumlckte Platine mit den Nummern aus Tab 10

Abb 25 Bestuumlckte Platine des TMC222-Moduls

mit nummerierten Bauelementen

Die Platine (35 mm x 30 mm) kann anhand des Layouts in Abb 26 hergestellt werden Der IC TMC222 wird auf der Loumltseite der Platine aufgeloumltet Das TMC222-Modul kann mit der Stiftleiste (larr Tab 10 Nr 7) in eine Buchsenleiste (larr Tab 10 Nr 8) auf die Platine des In-terface gesteckt werden

Abb 26 Platine des TMC222-Moduls von der Loumltseite (links) und Layout

4223 Quellcode des Mikrocontroller-Programms Im Folgenden ist ein mit Bascom (larr 12 Tab 1 Entwicklungsumgebungen) erstelltes Bei-spiel-Programm zur Ansteuerung des Schrittmotormoduls TMC222 durch den Mikrocontroller ATmega16 angegeben $regfile = m16DEFdat $crystal = 11059200 $baud = 9600 Definitionen Config Scl = Portc0 Taktleitung Config Sda = Portc1 Datenleitung Const Adress = ampB11000000 I2C Adresse des TMC222 Const GetFullstatus1 = ampB10000001 Kommando des TMC222 Const Resetpos = ampB10000110 Kommando des TMC222 Const Motorparameter = ampB10001001 Kommando des TMC222 Const Setposition = ampB10001011 Dim Puffer(10) As Byte

43

Programm I2csend Adress GetFullstatus1 GetFullstatus1 (Initialisierung des TMC222) I2creceive Adress 7 Ack Daten in Puffer auslesen Puffer(1) = Motorparameter puffer auffuumlllen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB11110011 1111irun 0011ihold Puffer(5) = ampB01110001 0111vmax 0001vmin Puffer(6) = ampB00010000 000securepos(bit10-8) 1shaft 0000acceleration Puffer(7) = 0 securepos(bit7-0) Puffer(8) = ampB00001100 000nicht belegt 0accshape 11stepmode 00nicht belegt I2csend Adress Puffer(1) 8 I2csend Adress Resetpos aktuelle Position auf 0 setzen Puffer(1) = Setposition Motor bewegen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB01111111 position(bit 15-8) Puffer(5) = ampB11111111 position(bit 7-0)acute I2csend Adress Puffer(1) 5 End

423 Geschaltete Spannungsquellen und Verbraucher Die Ausgaumlnge des Mikrocontrollers duumlrfen nur mit Stroumlmen kleiner als ungefaumlhr 20 mA belas-tet werden Verbraucher mit einer Stromlast groumlszliger als 20 mA koumlnnen daher nicht direkt an den Mikrocontroller angeschlossen werden Abb 27 zeigt links eine Schaltung zum Schalten eines Verbrauchers wie z B des Relais und rechts eine Schaltung mit dem IC ULN2803A zum Schalten mehrerer Verbraucher wie z B Gluumlhlampen

Abb 27 Erweiterungsschaltungen zum Schalten eines (links) oder

mehrerer Verbraucher (rechts)

Zu beachten ist dass der Transistor BC337 maximal 800 mA schalten kann und fuumlr groumlszligere Stroumlme andere Transistoren verwendet werden muumlssen

424 Steuerung von Gleichstrommotoren

44

Sollen Gleichstrommotoren zum Bewegen von Objekten mit dem Mikrocontroller gesteuert werden dann eignet sich dazu der in Abb 28 dargestellte beschaltete IC L293D

Abb 28 Beschaltung des L293D zum

Steuern zweier Gleichstrom-motoren

Mit Pin 1 = Pin 9 = 1 (High) koumlnnen zwei Gleichstrommotoren M1 und M2 (Versorgungs-spannung UM lt 36 V Spulendauerstrom IM lt 600 mA) unabhaumlngig voneinander ein- und ausgeschaltet sowie in der Drehrichtung uumlber die Ports PA0 und PA1 fuumlr M1 und PA2 und PA3 fuumlr M2 gesteuert werden Z B gilt mit PA0 = PA1 = 0 (M1 ausgeschaltet) PA0 = 1 und PA1 = 0 (M1 dreht sich) PA0 = 0 und PA1 = 1 (M1 dreht sich in Gegenrichtung)

45

43 Quellcodes zum RCL Elektronenbeugung 431 Mikrocontroller-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

46

47

48

49

432 PHP-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

50

51

433 Bedienfeld der Laborseite

Tab 11 erlaumlutert die Funktion der Bloumlcke im Quellcode

Zeilen Funktion 1 Datei defaultconf einbinden 2 Datei headtpl einbinden

5 - 11 Ausgabe der verbleibenden Experimentierzeit 18 - 21 Button zum Einschalten der Elektronenbeugungsroumlhre 28 - 30 Eingabefeld fuumlr die Beschleunigungsspannung

37 Ruumlckmeldung zur eingegebenen Beschleunigungsspannung 42 Datei foottpl einbinden

Tab 11 Funktion der Programmbloumlcke in der Datei experi-menttpl

52

434 Webcamfeld der Laborseite

In Tab 12 ist die Funktion der Programmbloumlcke und die Anpassungen der Vorlage an das RCL Elektronenbeugung beschrieben

Zeilen Funktion Anpassung RCL Elektronenbeugung

5 Titelangabe erscheint als Tabulatorbeschriftung in Browsern

Name des RCLs eintragen

11 - 15 16 - 20

Zwei Javascripts zum getrennten Aufrufen zweier Po-pup-Fenster mit dargestelltem Webcambildern 1 und 2

Javascript 1 die IP-Adresse eintragen Javascript 2 auskommentiert weil nicht benoumltigt

24 - 40 42 - 60

Zwei Javascripts zum Aktualisieren der Webcambilder 1 und 2

Javascript 2 auskommentiert weil nicht benoumltigt

67 - 71 79 - 83

Aufrufen des ersten Webcambilds der Webcams 1 und 2 beim Aufrufen der Datei

Webcambild 2 auskommentiert weil nicht benoumltigt

72 - 78 84 - 90

Buttons zum Aufrufen der Screenshots der Webcam-bilder 1 und 2

Button 2 auskommentiert weil nicht benoumltigt

91 - 95 Zeile der Tabelle zum Eintragen von Informationen die sich auf die Webcambilder oder den Versuch beziehen

Text in Zeile der Tabelle geschrieben

Tab 12 Funktionen der Codeabschnitte in der Datei videohtm und Anpassung der Vor-lage an das RCL Elektronenbeugung

53

44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung Im Folgenden wird die Installation und Konfiguration des AVR-Studios 418 und der Bascom 11198 Demoversion beschrieben Alle Anleitungen sind zeilenweise von links nach rechts zu lesen

441 AVR-Studio 418 4411 Installation Auf der Webseite von ATMEL Register AVR Studio 418 (build 684) anklicken und Registrie-rungsformular ausfuumlllen Danach die Datei AvrStudio418Setup herunterladen Durch Dop-pelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen Next waumlhlen

I accept hellip und Next waumlhlen Installationsordner und Next waumlhlen

54

Installupgrade hellip und Next waumlhlen Install waumlhlen Die Installation beginnt

Finish waumlhlen

4412 Konfiguration AVR Studio 418 in Windows XP Professional unter StartProgramme aufrufen

Startfenster mit Cancel schlieszligen Unter ToolsProgram AVR Auto Connect waumlhlen

55

Im eingeblendeten Fenster auf der Registerkarte Main als Device ATmega16 und als Programming Mode ISP mo-de waumlhlen

Optional kann Signatur gelesen werden

In der Registerkarte Fuses alle Haumlkchen und Auswahlfel-der wie angegeben waumlhlen

Dann Program waumlhlen

442 BASCOM 11198 Demoversion 4421 Installation Auf der Webseite von Bascom unter Bascom AVR Demo die Zip-Datei setupdemoexe her-untergeladen Durch Doppelklick auf den Dateinamen die Installation starten

Next waumlhlen I accept the agreement und Next waumlhlen

56

Next waumlhlen Installationsordner eingeben und Next waumlhlen

Eintrag im Start-Menuuml eingeben und Next waumlhlen Next waumlhlen

Yes restart the computer now und Finish waumlhlen

57

4422 Konfiguration Bascom AVR in Windows XP Professional unter StartProgramme zum Einstellen der Para-meter des Mikrocontrollers und des Terminals aufrufen

OptionsCompilerChip waumlhlen Einstellungen wie im Bild vornehmen und OK waumlhlen

Auf der Registerkarte Communications Einstellungen wie im Bild vornehmen und OK waumlhlen

Unter OptionsCommunication Einstellungen wie im Bild

vornehmen und OK waumlhlen FileNew waumlhlen Unter ToolsTerminal emulator das Terminal aufrufen und

eingeben Die Befehlsliste des RCLs Elektronenbeu-gung wird angezeigt

45 Installation und Konfiguration von Programmen auf dem RCL-Server Im Folgenden wird der Download die Installation und die Konfiguration von Programmen auf dem RCL-Server unter Windows XP Professional beschrieben Alle Anleitungen sind zeilen-weise von links nach rechts zu lesen Die Installation der Programme sollte in der angegebe-nen Reihenfolge erfolgen

58

451 Einrichten des Internet-Zugangs LAN-Verbindung unter StartSystemsteuerungNetzwerkverbindungen aufrufen

Internetprotokoll (TCPIP) und Eigenschaften waumlhlen Folgende IP-Adresse verwenden waumlhlen IP-Adressen ein-

geben und OK waumlhlen

452 Paket XAMPP 174 Unter apache friends - xampp fuumlr windows und XAMPP Windows 174 Installer anklicken und Datei xampp-win32-174-VC6-installerexe speichern Durch Doppelklick auf die Datei die Installation starten

Sprache und Ok waumlhlen Ok waumlhlen

59

Weiter waumlhlen Zielverzeichnis mit Durchsuchen waumlhlen oder eingeben

Apache nicht als Dienst installieren Fertig stellen waumlhlen

Ja waumlhlen Zum Starten des Apache Webservers das Control Panel

unter StartProgrammeXAMPP 173 for Windows mit Start starten Anstelle von Start erscheint Running

Zum Beenden des Apache Webservers Stop waumlhlen Zum Beenden des Control Panels Exit waumlhlen

60

453 Videoserver webcamXP 5 Private Auf der Webseite von Moonware Studios unter webcamXP 55xx die Datei wlite550 herun-terladen Durch Doppelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen I Agree waumlhlen

Next waumlhlen Auszliger webcamXP 5 brauchen keine weiteren Komponen-

ten installiert zu werden

Den vorgeschlagenen Ordner und Install waumlhlen Finish waumlhlen

61

WebcamXP unter StartProgramme aufrufen Zugesandte

Lizenz-Daten in das eingeblendete Fenster eingeben und Register waumlhlen

Beim Starten des Programms stellt webcamXP automa-tisch eine Verbindung zu den am Computer angeschlosse-nen Webcams her

Nach dem Start ist Uumlberwachen gewaumlhlt Durch Rechts-klick mit der Maus auf das Videofenster wird zu jeder Vi-deoquelle ein Kontextmenuuml angezeigt Wird kein Videobild dargestellt das Kontextmenuuml aufrufen Art der Videoquelle waumlhlen (hier USB) und unter den erkannten Videoquellen (hier USB-Videogeraumlt) die gewuumlnschte waumlhlen

Das Videoformat muss fuumlr eine passende Darstellung auf

der Laborseite auf 320 x 240 eingestellt sein Ist das nicht der Fall im Kontextmenuuml unter Video Format einstellen

In gleicher Weise kann eine zweite Videoquelle hinzugefuumlgt werden

In der Registerkarte Web Broadcast kann unter

Broadcast (HTTP) der Videoserver mit Ausschalten ge-stoppt und mit Aktivieren gestartet werden

Zur Zielwahl des Webservers (131246237167 - Internet D16W3X3J - Computer 127001 - Local Host) Videoser-ver stoppen und einstellen Videoserver wieder starten

62

454 Terminalprogramm Hyperterminal Hyperterminal in Windows XP Professional unter StartProgrammeZubehoumlrKommunikation aufrufen

Name der neuen Verbindung - z B Interface - eingeben

und OK waumlhlen Die Verbindung zwischen Computer und Interface wurde

uumlber einen USB-Seriell-Adapter hergestellt Dann erschei-nen zwei zusaumltzliche Eintraumlge (Motorola Comp Modem und COM5) in der Liste Prinzipiell muss eine COMx-Verbindung gewaumlhlt werden

Eigenschaften von COM 5 wie im Bild einstellen und OK

waumlhlen DateiEigenschaften aufrufen und ASCII-Konfiguration

waumlhlen

63

Haken bei Eingegebene Zeichen lokal ausgeben (lokales

Echo) setzen um eingegebenen Zeichen im Hyperterminal zu sehen

Bei funktionsfaumlhiger Verbindung erscheint nach Eingabe von Return die Befehlsliste des Interface

Durch Aufrufen von DateiSpeichern die erstellte Verbin-

dung z B auf dem Desktop speichern Dadurch braucht die Verbindung nicht immer wieder von neuem konfiguriert wer-den

Nach Aufrufen von DateiBeenden die bestehende Verbin-dung mit Ja beenden

64

Wurde ein falscher COM-Port gewaumlhlt reagiert das Inter-

face auf die Eingabe Return nicht Hyperterminal dann beenden

Der COM-Port kann dann nicht unter DateiEigenschaften im Hyperterminal aber unter Eigenschaften des Kontext-menuumls der Datei Interfaceht in der Registerkarte Verbin-den mit geaumlndert werden Dann OK waumlhlen und erneut Verbindung testen

65

455 Fernwartungssoftware TeamViewer 6 Host Auf der Webseite von Teamviewer GmbH unter Fuumlr unbeaufsichtigte Server TeamViewer Vollversion die Datei TeamViewer_Setup-wq herunterladen Das Programm muss auf dem RCL-Server und dem Computer der auf den RCL-Server zugreifen soll installiert werden Durch Doppelklick auf die Datei die Installation starten

Ausfuumlhren waumlhlen Weiter waumlhlen

Fuumlr die private nicht kommerzielle Nutzung ist Teamviewer kostenlos

privat nicht-kommerziell und Weiter waumlhlen

Beide Haumlkchen setzen und Weiter waumlhlen

66

Ja un Weiter waumlhlen Weiter

Computername und Kennwort fuumlr den Zugriff auf den RCL-Server oder den eigenen Computer vergeben Kenn wort notie-ren

Ein Teamviewerkonto ist nicht erforderlich Kann auch spaumlter noch eingerichtet werden

ID fuumlr den Computer auf dem das Programm installiert wird fuumlr Zugriff notieren

Das Programm wird gestartet Standardmaumlszligig vorein-gestellt ist der Start des Programms beim Start des Be-trienssystems

67

46 Selbstbau eines elementaren RCLs 461 Hard- und Software Auch ohne gleich ein vielleicht teures physikalisches Experiment zu steuern laumlsst sich mit wenigen Bauelementen ein elementares RCL realisieren Von einer Webseite im Internet sol-len eine Leuchtdiode (LED) ein- oder ausgeschaltet sowie der Zustand der Leuchtdiode und eines Tasters abgefragt werden An Hard- und Software werden benoumltigt

1 Low-Current-LED 5 mm 2 mA 1 Widerstand 18 kΩ 1 Taster und optional zwei 10-polige Wannenstecker mit ungefaumlhr 10 cm passendem Flachbandkabel und Buchsen

Interface in Basisschaltung Null-Modem-Kabel 12 V DC Steckernetzteil (larr 1)

Installierte Bascom-Demo-Version (larr 42)

AVR ISP-Programmer mit 10-poligem Programmierkabel

Installiertes und konfiguriertes AVR Studio 418 (larr 41)

Installiertes Paket XAMPP (larr 52)

Texteditor wie z B Notepad in Windows XP Professional

Konfigurierte Hyperterminalverbindung (larr 54)

462 Bestuumlckung der Platine Abb 29 zeigt zur Orientierung fuumlr das Einloumlten der Bauelemente die fertig bestuumlckte Platine des Interface

Abb 29 Mit elementarem RCL bestuumlckte Platine

des Interface

LED mit Vorwiderstand und der Taster sind rechts neben dem Mikrocontroller im Lochraster-bereich aufgebaut und uumlber Wannenstecker und Flachbandkabel mit dem Port A des Mikro-controllers verbunden (die drei Bauteile rechts neben dem ATmega16 werden nicht benouml-tigt) Tab 13 erlaumlutert die Schritte zur Bestuumlckung der Platine des Interface

68

Nr Schaltung Erlaumluterung

1

Die Leuchtdiode (LED) mit dem Pluspol (langes Beinchen) an PortA0 (PIN40 oben rechts) des Mikrocontrollers anloumlten

An das kurze Beinchen einen 18kΩ Widerstand loumlten dessen anderes Ende mit der Masse (GND) verbinden

2

Den Taster mit PortA1 (PIN39 = 2 Beinchen von oben rechts) und Masse (GND) verbinden

3

Draufsicht

Belegung des 10-poligen Wannensteckers 1 GND (Masse) im Foto oben links 2 +5 V 3 PortA0 4 PortA1 10 PortA7 im Foto unten rechts

Tab 13 Schritte zum Aufbau des elementaren RCLs

463 Lokal gesteuertes RCL Nachfolgend ist der Basic-Programmcode des Mikrocontrollers zur Steuerung und Abfrage der LED und des Tasters angegeben 01 $regfile = m16DEFdat Microcontroller ATmega16 02 $crystal = 11059200 110592MHz Quarz 03 $baud = 9600 Baudrate 04 05 ---[ Variables ]--------------------------------------------------------------- 06 Dim Rs232kommando As String 10 erst Befehlspuffer dann Kommando 07 Dim Parameter As String 10 Parameter 08 Dim Str_pos As Byte Position von Leerzeichen zur Trennung von Kommando und Pa-rameter 09 10 ---[ Initialisierung ]--------------------------------------------------------- 11 Ddra0 = 1 PortA0 als Ausgang fuumlr LED 12 Porta0 = 0 LED aus 13 Ddra1 = 0 PortA1 als Eingang fuumlr Taster 14 Porta1 = 1 Pull-Up aktivieren 15 16 ---[ Main program loop ]------------------------------------------------------- 17 Do Start der Endlos-Schleife 18 19 If Ischarwaiting() = 1 Then Zeichen uumlber RS232 empfangen 20 Input Rs232kommando neues Kommando lesen 21 Parameter = Parameter initialisieren 22 Str_pos = Instr(rs232kommando ) Leerzeichen im Kommando suchen 23 If Str_pos gt 0 Then falls Leerzeichen dann in Kommando+Parameter zerlegen 24 Incr Str_pos Str_pos soll jetzt auf 1Zeichen des Parameters zeigen 25 Parameter = Mid(rs232kommando Str_pos ) Parameter = Teilstring nach Leerzeichen 26 Parameter = Ucase(parameter) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 27 Str_pos = Str_pos - 2 Str_pos soll jetzt auf letztes Zeichen des Kommandos zeigen 28 Rs232kommando = Left(rs232kommando Str_pos)Kommando = Teilstring vor Leerzeichen 29 Rs232kommando = Ucase(rs232kommando) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 30 End If 31 32 Select Case Rs232kommando Eventhandler Interpretation der Kommandos 33 Case Print Hilfe Hilfeseite anzeigen 34 Print LED on - LED einschalten 35 Print LED off - LED ausschalten 36 Print LED - zeigt Status der LED an 37 Print SW - zeigt Status des Schalters an 38

1K8

LED rotmicroC PortA0(PIN40)

Taster

microC PortA1(PIN39)

1

3

2

69

39 Case LED If Parameter = ON Then LED schalten 40 Porta0 = 1 41 End If 42 If Parameter = OFF Then 43 Porta0 = 0 44 End If 45 46 Case LED If Porta0 = 0 Then Status der LED ausgeben 47 Print LED aus 48 Else 49 Print LED an 50 End If 51 52 Case SW If Pina1 = 1 Then Status des Schalters ausgeben 53 Print Taster offen 54 Else 55 Print Taster geschlossen 56 End If 57 58 Case Else Print gt Rs232kommando lt ungueltiger Befehl - weitere Infos mit Info bei unguumlltigen Eingaben 59 End Select 60 61 End If 62 63 Loop Endlos-Schleife Springe zu Do 64 65 End wird nie erreicht

Der erste Teil des Programms (Zeilen 1 - 15) enthaumllt die Systemparameter Variablen und Initialisierung der Ein- und Ausgaumlnge Der zweite Teil enthaumllt ab Zeile 17 das Hauptpro-gramm in dem Benutzereingaben uumlber die serielle Schnittstelle empfangen interpretiert und in entsprechende Anweisungen umgesetzt werden Tab 14 erlaumlutert den Programmcode de-taillierter

Zeilen Erlaumluterung

1 - 3 Diese Angaben teilen dem Compiler (Bascom) mit welcher Prozessor eingesetzt wird wie schnell dieser getaktet (Quarz) ist und mit welcher Uumlbertragungsgeschwindigkeit die Kommunikation uumlber die serielle Schnittstelle (RS232) mit dem PC erfolgen soll

6 - 8 Es werden drei Variablen genutzt Die Eingabe uumlber die serielle Schnittstelle wird in rs232kommando gespeichert Es wird ein Text der Form Kommando ltLeerzeichengt Parameter erwartet so dass die Variable Parameter den-selbigen aufnimmt Die Variable str_pos wird fuumlr die Trennung von Kommando und Parameter benoumltigt

11 - 14

Mit dem Befehl ddrPX (ddr = data direction) wird festgelegt ob ein Beinchen als Ausgang (=1) oder als Eingang (=0) arbeiten soll Der ATmega16 besitzt 32 Ein-Ausgaumlnge die in vier Ports (P=AD) zu je 8 Pins (X=07) unterteilt sind ddrA0 = 1 legt also das 1 Beinchen (Pin 0) von PortA als Ausgang (=1) fest Mit dem Befehl PortA0 =1 kann dieser Pin dann durch Zuweisen von 1 oder 0 an- bzw ausgeschaltet werden Im Datenblatt erfahren Sie welches der 40 Beinchen des Mikrocontrollers wie bezeichnet wird (Pin-Belegung) Wird ein Beinchen als Eingang verwendet (ddrA1 = 0) koumlnnen Sie optional einen so genannten Pull-Up-Widerstand aktivieren (PortA1=1) oder deaktivieren (PortA1=0) Auch hierzu sollten Sie sich unbedingt mit dem Datenblatt vertraut machen

17 63 Das Hauptprogramm besteht aus einer Endlosschleife d h der Mikrocontroller verrichtet ununterbrochen seinen Job so lange er mit Strom versorgt wird

19 - 30 Falls ein Zeichen uumlber die serielle Schnittstelle empfangen wurde wird dieses und alle folgenden gelesen Anschlie-szligend wird gepruumlft ob der empfangene Text von der Form Kommando ltLeerzeichengt Parameter ist so dass er ge-gebenenfalls in ein Kommando und einen Parameter zerlegt werden kann

32 - 59 Dieser Abschnitt wird mit Event-Handler bezeichnet Hier wird auf die Kommandos (Events) reagiert und die ent-sprechenden Schritte ausgefuumlhrt zB schalten LED je nach Wert der Variablen Parameter an- bzw ausschalten

46 52

In beiden Zeilen wird ein Wert eines Ports abgefragt Unterschiedlich ist dass in Zeile 46 der Status eines Ausgangs abgefragt wird (porta0) und in Zeile 52 der Zustand eines Eingangs (pina0) Die Anweisung IF porta0 = 0 THEN pruumlft (hier ist = ein Vergleich und KEINE Zuweisung) ob zuletzt die LED ausgeschaltet (Zuweisung porta0 = 0) wurde Die Anweisung IF pina1= 1 THEN liest den Status eines Eingangs Hier kann festgestellt werden ob der Eingang uumlber den internen Pull-UP-Widerstand auf +5V liegt (pina1 liefert 1) oder ob der Schalter den Eingang mit Masse (0V) verbindet (pina1 liefert 0)

Tab 14 Erlaumluterung des Mikrocontroller-Programmcodes fuumlr elementares RCL

70

In Bascom AVR eine neue Datei erzeugen (FileNew) den Programmcode ohne Kommenta-re eingeben und mit ProgramCompile (F7) eine Hexadezimaldatei erzeugen Die Hexadezi-maldatei mit dem AVR-Studio und dem AVR-ISP-Programmer in den Mikrocontroller schrei-ben (larr 222 Programmuumlbertragung) Nach dem Verbinden von Computer und Interface per Null-Modem-Kabel kann durch Eingabe von in das konfigurierte Hyperterminal die Befehls-liste in Abb 30 aufgerufen werden

Abb 30 Aufgerufene Befehlsliste im Hyperterminal

Durch Eingabe von LED on oder LED off kann die LED ein- und ausgeschaltet LED zeigt den Status der LED und sw den Status des Tasters an Alternativ zum Hyperterminal kann auch das Terminal in BASCOM unter ToolsTerminal Emulator verwendet werden (larr 422)

464 Ferngesteuertes RCL Zum Ansteuern des Interfaces und zum Bedienen des Versuchsaufbaus uumlber das Internet wird eine Webseite benoumltigt die dem Benutzer alle Bedienelemente des Experiments zur Verfuumlgung stellt

Der Benutzer benoumltigt anklickbare Buttons im Webbrowser

Der Webserver muss die Information welcher Button gedruumlckt wurde empfangen und ein entsprechendes Kommando uumlber die serielle Schnittstelle an das Interface senden

Beide Schritte sind im nachfolgenden PHPHTML-Quellcode zusammengefasst 01 ltDOCTYPE HTML PUBLIC -W3CDTD HTML 401 TransitionalEN httpwwww3orgTRhtml4loosedtdgt 02 lthtmlgt 03 ltheadgt 04 ltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1gt 05 lttitlegtelementares RCLlttitlegt 06 ltheadgt 07 08 ltbodygt 09 ltphp 10 if (isset($_POST[Kommando])) wurde bereits Kommando gesendet 11 if( ( $handle = fopen( COM1 w+ ) ) ) Schnittstelle oumlffnen 12

71

13 throw new Exception( Can not access serial port 2 ) ohne Erfolg 14 15 fwrite( $handle $_POST[Kommando] chr( 13 ) ) Befehl an Interface senden 16 switch ( $_POST[Kommando] ) Antwort von Interface auswerten 17 case LED $tmp = fgets( $handle ) Echo von Interface ignorieren 18 $antwort = fgets( $handle ) Antwort des Interfaces 19 echo Antwort $antwort Ausgabe auf Webseite 20 break switch verlassen 21 22 case SW $tmp = fgets( $handle ) Echo von Interface ignorieren 23 $antwort = fgets( $handle ) Antwort des Interfaces 24 echo Antwort $antwort Ausgabe auf Webseite 25 break switch verlassen 26 27 28 29 fclose( $handle ) Schnittstelle schlieszligen 30 31 else 32 `mode com1 BAUD=9600 PARITY=N data=8 stop=1 xon=off` Schnittstellenparameter setzen 33 34 35 gt 36 37 lth3gtBefehl sendenlth3gt 38 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 39 ltinput type=hidden name=Kommando value=LED ON gt 40 ltinput type=submit value=LED anschalten gt 41 ltformgt 42 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 43 ltinput type=hidden name=Kommando value=LED OFF gt 44 ltinput type=submit value=LED ausschalten gt 45 ltformgt 46 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 47 ltinput type=hidden name=Kommando value=LED gt 48 ltinput type=submit value=LED abfragen gt 49 ltformgt 50 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 51 ltinput type=hidden name=Kommando value=SW gt 52 ltinput type=submit value=Taster abfragen gt 53 ltformgt 54 ltbodygt 55 lthtmlgt Den Quellcode in den Texteditor kopieren und im Ordner htdocs von XAMPP z B unter rclphp speichern HTML-Dateien mit PHP-Code (Zeilen 9-35) muumlssen mit der Erweiterung php gespeichert werden damit der Apache Webserver zwischen HTML-Seiten mit und ohne PHP-Code unterscheiden kann Den installierten Apache Webserver starten (larr 452) und im Adressfeld des Webbrowsers die IP-Adresse http127001rclphp aufrufen Das Bedi-enfeld des elementaren RCLs in Abb 31 wird im Browserfenster angezeigt

72

Abb 31 Laborseite des elementaren RCLs

Im Bedienfeld kann die LED an- und ausgeschaltet sowie der Status von LED und Taster abgefragt werden

  • 0 Warum ein Tutorial zur RCL-Technik
  • 1 Technische Konzeption
    • 11 Einfuumlhrung
    • 12 Wahl der RCL-Technik
      • 2 Lokal gesteuertes RCL
        • 21 Interface
          • 211 Mikrocontroller
          • 212 Basisschaltung und Erweiterungsschaltungen
          • 213 Programmierung des Mikrocontrollers
            • 22 Hyperterminal
            • 23 Positionieren von Objekten
              • 231 Hybrid-Schrittmotoren
              • 232 Schrittmotorsteuerung und Positionierungsmechanik
                  • 3 Ferngesteuertes RCL
                    • 31 RCL-Server
                    • 32 Laborseite
                      • 321 Steuerung des RCLs uumlber das Bedienfeld
                      • 322 Videouumlbertragung im Webcamfeld
                        • 33 Standard-Lernumgebung
                          • 4 ANHANG
                            • 41 Interface in Basisschaltung
                              • 411 Schaltplan und Bauteilliste
                              • 412 Bestuumlckung der Platine
                                • 42 Erweiterungsschaltungen
                                  • 421 Uumlbersicht
                                  • 422 TMC222-Modul zur Schrittmotorsteuerung
                                    • 4221 Schaltplan und Bauteilliste
                                    • 4222 Bestuumlckung der Platine
                                    • 4223 Quellcode des Mikrocontroller-Programms
                                      • 423 Geschaltete Spannungsquellen und Verbraucher
                                      • 424 Steuerung von Gleichstrommotoren
                                        • 43 Quellcodes zum RCL Elektronenbeugung
                                          • 431 Mikrocontroller-Programmierung
                                          • 432 PHP-Programmierung
                                          • 433 Bedienfeld der Laborseite
                                          • 434 Webcamfeld der Laborseite
                                            • 44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung
                                              • 441 AVR-Studio 418
                                                • 4411 Installation
                                                • 4412 Konfiguration
                                                  • 442 BASCOM 11198 Demoversion
                                                    • 4421 Installation
                                                    • 4422 Konfiguration
                                                        • 45 Installation und Konfiguration von Programmen auf dem RCL-Server
                                                          • 451 Einrichten des Internet-Zugangs
                                                          • 452 Paket XAMPP 174
                                                          • 453 Videoserver webcamXP 5 Private
                                                          • 454 Terminalprogramm Hyperterminal
                                                          • 455 Fernwartungssoftware TeamViewer 6 Host
                                                            • 46 Selbstbau eines elementaren RCLs
                                                              • 461 Hard- und Software
                                                              • 462 Bestuumlckung der Platine
                                                              • 463 Lokal gesteuertes RCL
                                                              • 464 Ferngesteuertes RCL

30

Anhand der Erlaumluterungen der Programmcodes koumlnnen die Ablaumlufe zwischen dem Druumlcken des Buttons Elektronenroumlhre einschalten und dem Einschalten der Elektronenbeugungs-roumlhre oder der Eingabe einer Beschleunigungsspannung und dem Anlegen einer Beschleu-nigungsspannung verfolgt werden Uumlber das Bedienfeld koumlnnen nur die von der Datei expe-rimenttpl bereitgestellten Befehle on und da der insgesamt implementierten Befehle (rarr 22 Abb 10) aufgerufen werden

322 Videouumlbertragung im Webcamfeld Zur Aufnahme von Livebildern des Experiments koumlnnen USB-Webcams und IP-Kameras (Netzwerkkameras) eingesetzt werden Teurere IP-Kameras muumlssen eingesetzt werden wenn die Kamera wie z B beim RCL Roboter im Labyrinth zu weit vom Computer entfernt ist oder eine besonders lichtempfindliche Kamera aus der Uumlberwachungstechnik wie z B beim RCL Millikan-Versuch benoumltigt wird W-LAN-Kameras kommen zum Einsatz wenn Bil-der von einem beweglichen Objekt aus wie z B beim RCL Roboter im Labyrinth uumlbertra-gen werden sollen

Das Videoserverprogramm webcamXP 5 erkennt beim Aufrufen automatisch an den RCL-Server angeschlossenen USB-Webcams Vor dem Kauf einer IP-Kamera ist zu pruumlfen ob das Modell unterstuumltzt wird14 IP-Kameras muumlssen im Kontextmenuuml der Videoquelle konfigu-riert werden Abb 17 zeigt das Webcambild einer USB-Webcam vom Szintillationsschirm der Elektronenbeugungsroumlhre

Abb 17 Webcambild des Szintillationsschirms der Elektro-

nenbeugungsroumlhre einer USB-Webcam in webcamXP 5 beim RCL Elektronenbeugung

14 Vgl Moonware Studios webcamXP IP-cameras for webcamXP

31

Zum Einbinden des Webcambilds in die Laborseite des RCLs wird die laborsprachenabhaumln-gige Datei videohtm (rarr 434) in den Ordnern eng fra ger und ita verwendet Standardmauml-szligig werden zwei Webcambilder und Screenshots unterstuumltzt der Code fuumlr weitere Webcam-bilder kann durch copy and paste hinzugefuumlgt werden

Unter den Technologien Java Javaskript Flash und Windows Media fuumlr die Wiedergabe ei-nes Livestreams auf eine Webseite wurde Javaskript gewaumlhlt weil die anderen Technologien die Installation des Java Runtime Environments (JRE) des Flash- oder Windows Media Players durch den Besucher eines RCLs voraussetzen Die Wiedergabe des Livestreams mit einem Java-Applet startet zudem erst verzoumlgert nachdem das Applet geladen ist und verfuumlgt uumlber eine zu geringe Wiedergabegeschwindigkeit

33 Standard-Lernumgebung Bestandteil der Entwicklung eines RCLs ist die Erstellung einer Standard-Lernumgebung zum RCL Abb 18 zeigt exemplarisch fuumlr die deutschen Webseiten im Ordner ger das Menuuml (larr 11 Abb 3) und die Dateistruktur der Standard-Lernumgebung

Abb 18 Deutschsprachiges Menuuml und Dateistruktur der Standard-Lernumgebung

RCL-spezifisch anzupassende Dateien sind grau hinterlegt

Die englischen Dateinamen introductionhtm setuphtm hellip im Ordner ger korrespondieren mit den deutschen Menuumlpunkten Wird das RCL unter dem Menuumlpunkt RCLs des RCL-Portals aufgerufen dann ruft die Frameset-Datei indexhtm die Dateien menuumlhtm und intro-ductionhtm auf und das Menuuml wird zusammen mit der Webseite Einstieg dargestellt Die Wahl weiterer Menuumlpunkte ruft jeweils die korrespondiere Datei im Ordner auf Bei Wahl des Menuumlpunkts Labor werden mit der Frameset-Datei laboratoryhtm die Dateien videohtm fuumlr das Webcamfeld und die Datei laborindexphp fuumlr das Bedienfeld aufgerufen

32

Im Ordner docsmaterial werden alle Dokumente fuumlr die Webseite Material im Ordner docsothers die Dokumente anderer Webseiten abgelegt Im Ordner docsoriginals sind die Originale von Dokumenten wie z B Word-Dateien und der verwendeten Bilder abgelegt Grafikdateien der Webseiten Einstieg hellip Auswertung hellip Betreuung werden in gleichnami-gen Ordnern wie z B imagesanalysis abgelegt Bei sprachenunabhaumlngigen Grafikdateien wird unter dem Dateinamen abbx bei sprachenabhaumlngigen unter dem Dateinamen abbx_lan mit lan = eng fra ger und ita gespeichert Analoges gilt fuumlr die als gif-Grafiken forxgif oder forx_langif zu speichernden Formeln Originale von Bildern werden im Ordner imagesoriginals abgelegt Die Webseite zur Datei htdocsindexhtm enthaumllt zum lokalen Aufrufen der Standard-Lernumgebung Links zu den vier Index-Dateien in den Ordnern eng fra ger und ita Die Stylesheet-Datei htdocsrcl_stylecss enthaumllt die Styles der Webseiten

In der Regel werden Standard-Lernumgebungen der RCLs des RCL-Portals von verschiede-nen Personen erstellt Fehlende Gestaltungs- und Formatierungsregeln fuumlhren zu einem un-einheitlichen inattraktivem Erscheinungsbild des RCL-Portals Tab 6 gibt einen Uumlberblick der wichtigsten Gestaltungs- und Formatierungsregeln

Element Richtlinien

Gliederung

Die Webseiten Einstieg Aufbau Aufgaben Diskussion Material und Support enthalten vorgegebene Gliederungspunkte teilweise mit ausgefuumlhrten Uumlberschriften

Die umfangreicheren Webseiten Theorie und Auswertung enthalten ein Inhaltsverzeichnis mit internen Links zu Gliederungspunkten Zwischen Punkten der ersten Gliederungsebene (1 2 hellip) ist ein zwei-zeiliger Abstand (ltpgtampnbspltpgtltpgtampnbspltpgt) zwischen Punkten der zweiten (11 12 hellip) und Punkten der nur falls unbedingt notwendig dritten 111 112 hellip) Gliederungsebene ein einzeiliger Abstand zu waumlhlen Nach Abbildungen und Tabellen folgt ein einzeiliger Abstand zum nachfolgenden Text

Links Keine internen Links zwischen den Webseiten der Lernumgebung Externe Links werden prinzipiell in einem neuen Browserfenster geoumlffnet (blank)

Abbildung

Alle Abbildungen erhalten fortlaufend beginnend mit 1 nummerierte Abbildungsunterschriften der Form Abb x hellip

Abbildungen sind moumlglichst spachenunabhaumlngig d h ohne Texte in der Abbildung zu erstellen Zur Beschriftung koumlnnen z B Zahlen verwendet werden die in der Abbildungsunterschrift oder im Text er-laumlutert werden

Tabellen Tabellen werden in jeder Webseite fortlaufend beginnend mit 1 nummeriert Tabellen sind zu zentrieren Rahmenstaumlrke 1

Formeln

Formeln sind nicht als Textzeichen oder Grafik im laufenden Text einzufuumlgen sondern stets zentriert in einer eigenen Zeile als gif-Grafik

Zum Erstellen der Formel-Grafiken eignet sich z B der Formel-Editor MathType15 mit der Aufloumlsungs-Einstellung 120 dpi fuumlr InternetGif

Formeln brauchen im Rahmen des begrenzten Umfangs der Webseiten nicht nummeriert zu werden Groumlszligen-symbole

Griechische Groumlszligensymbole und mathematische Symbole sind nicht als Grafiken im laufenden Text sondern als HTML-Code einzufuumlgen Eine Zeichenreferenz findet sich bei Selfhtml16

Styles Zur Formatierung der Webseiten werden aus der Stylesheet-Datei nur die drei Styles Uumlberschrift fuumlr

die Uumlberschriften Bildunterschrift fuumlr Abbildungs- und Tabellenunterschriften und Tabellentext fuumlr Tex-te in Tabellen benoumltigt

Tab 6 Richtlinien zur Gestaltung und Formatierung der Standard-Lernumgebung

Detailliertere Informationen zum Layout der Standard-Lernumgebung koumlnnen dem RCL-Ordner und dem Erscheinungsbild der Webseiten von RCLs in Browsern entnommen wer-den

15 Vgl Design Science MathType 16 Vgl Selfhtml HTML-Zeichreferenz

33

4 ANHANG

34

41 Interface in Basisschaltung 411 Schaltplan und Bauteilliste Abb 19 zeigt den Schaltplan der Basisschaltung des Interface und Tab 7 die dazugehoumlrige Bauteilliste

Abb 19 Basisschaltung des Interface

Nr Anzahl Kurzbeschreibung des Bauteils Best-Nr bei Reichelt electronic

Einzelpreis in euro

0 1 Epoxyd-Platine (190x112 mm) mit Anteil Loumltpunktraster (Spezi-

alanfertigung) - asymp 10

1 1

Epoxyd-Fotoplatine einseitig 160x100 mm 15 mm 35 microm Epoxyd-Lochrasterplatine 160x100 mm 15 mm 35 microm

BEL 160x100-1 UP 832EP

170 420

1 1 Hohlstecker-Einbaubuchse gewinkelt Loumltfahnen 21 mm HEBW 21 018 2 1 D-SUB-Stecker 9-polig gewinkelt RM 94 D-SUB ST 09EU 029 3 1 Schottky Diode DO41 40 V 1 A SB 140 008 4 1 Draht von abgeschnittenem Beinchen aus Pos-Nr 3 - - 5 1 IC-Sockel 16-polig superflach gedreht vergoldet GS 16P 029 6 1 IC-Sockel 40-polig superflach gedreht vergoldet GS 40P 061 7 1 2x10-pol-Stiftleiste gerade RM 254 SL 2X10G 254 007 8 1 Metallschichtwiderstand 100 kΩ Metall 100k 0082 9 1 Elektrolytkondensator 10x16 mm 470 microF RM 50 mm RAD 47025 006 10 1 Elektrolytkondensator 63x11 mm 100 microF RM 25 mm RAD 10016 004 11 5 Elektrolytkondensator 5x11 mm 10 microF RM 20 mm RAD 1035 004 12 2 Keramik-Kondensator 33 pF Kerko 33p 006 13 3 Vielschicht-Keramikkondensator 100 nF 20 Z5U-25 100n 004

35

14 1 Standardquarz Grundton 110592 MHz 110592-HC49U-S 018 15 1 Spannungsregler 1 A positiv TO-220 microA 7805 028 16 1 Kuumlhlkoumlrper fuumlr Gehaumluse TO-220 99KW V FI356 066 17 1 Zylinderkopfschraube Schlitz M3 10 mm fuumlr Kuumlhlkoumlrper M3x10mm 160 18 2 Sechskantmutter M3 fuumlr Kuumlhlkoumlrper SK M3 001 19 1 Stecker-Schaltnetzteil 12 V 2250 mA MW 3IP25GS 1150 20 1 RS232-Driver DIL-16 MAX 232 CPE 041 21 1 ATmega AVR-RISC-Controller DIL-40 ATmega16-16 DIP 420 22 3 10-poliger Wannenstecker RM 254 stehend (optional) WSL 10G 009 23 1 14-poliger Wannenstecker RM 254 stehend (optional) WSL 14G 014 24 1 40-polige Stiftleiste 1-reihig gerade RM254 (optional) SL 1x40G 254 023 25 1 Kunststoffgehaumluse 1982x1124x760 mm (Serientyp 202) - asymp 10 euro 26 1 D-SUB Nullmodem-Kabel 9-pol BUBU 3 m AK 143 155 27 x DIN-Einbaubuchse 5-pol Schraubver 360deg (optional) DIO-50W EMS 185 28 x DIN-Einbaubuchse 8-polig Schraubversch 270deg (optional) DIO-80SN EMS 180 29 x Pfostenstecker 10-polig mit Verrieglung gew (optional) PSL 10W 028 30 x Klemmleiste RM 254 Oumlffnungshebel 8-polig (optional) Wago 233 220

Tab 7 Bauteilliste mit Bestellnummer und Einzelpreisen der Bauelemente bei Reichelt electronic (Stand 23102010)

Anhand der Bauteilliste in koumlnnen die elektronischen Bauelemente der Basisschaltung (larr Tab 7 Nr 0 ndash 21 optional Nr 22 - 24) bei Reichelt electronic bestellt werden Das Gehaumluse des Interface (larr Tab 7 Nr 25) sollte vom Hersteller HAGOTECH GmbH bezogen werden Weiterhin wird ein Nullmodemkabel (larr Tab 7 Nr 26) zur Verbindung des Interface mit dem Computer benoumltigt Sensoren und Aktoren des Experiments koumlnnen mit optionalen Steck-verbindern (larr Tab 7 Nr 27 - 30) und entsprechende Kabelverbindungen an das Interface angeschlossen werden Die Nummern 0 - 25 stimmen mit der angegebenen Bestuumlckungs-reihenfolge auf der Platine uumlberein Das Interface kostet in der Basisschaltung ca 50 euro

412 Bestuumlckung der Platine Abb 20 zeigt zur Bestuumlckung der Platine benoumltigte Werkzeuge

Abb 20 Werkzeuge zur Bestuumlckung der Platine des Interface

36

Loumltkolben mit feiner Spitze in Meisselform 2 mm oder Loumltstation (1) Loumltzinnabsauger zum Entfernen von Loumltzinn (2) Nasser Schwamm zum Reinigen der Spitze des Loumltkolbens (3) Loumltzinn mit Durchmesser 08 - 10 mm (4) Flachspitzzange zum Biegen von Anschluumlssen der Bauelemente (5) Seitenschneider zum Kuumlrzen der Beinchen von Bauelementen (6) Multimeter zum Pruumlfen der Funktionsfaumlhigkeit der Schaltung (7) Sekundenkleber zur Befestigung von Bauelementen Kleine Bohrmaschine z B von Dremel und 08 mm Bohrer oder duumlnne Rundfeile zum

Weiten von Loumlchern auf der Platine des Interface

Abb 21 zeigt die Platine des Interface von der Loumltseite in der Spezialanfertigung der Elekt-ronik-Werkstatt an der Technischen Universitaumlt Kaiserslautern und in der Selbstbauvariante (larr Tab 7 Nr 0) Abb 22 zeigt das Platinenlayout

Abb 21 Platine des Interface von der Loumltseite als Spezialanfertigung (links) und der Selbstbauvariante

(rechts)

Abb 22 Layout zur Herstellung des geaumltzten Teils der

Platine in der Selbstbauvariante

37

In der Selbstbauvariante kann anhand des Platinenlayouts eine selbst geaumltzte Platine fuumlr die Basisschaltung auf einer Platine im Europakartenformat hergestellt und diese in der Laumlnge gekuumlrzt werden Eine gekuumlrzte Lochrasterplatine bildet den zweiten Teil der Platine Mit den optionalen vier Wannensteckern (larr Tab 7 Nr 22 - 23) oder den vier Stiftleisten (larr Tab 7 Nr 24) an den Ports des Mikrocontrollers koumlnnen leicht elektrische Verbindungen zum Rasterteil der Platine herstellt werden Abb 23 zeigt die fertig bestuumlckte Platine mit den Nummern aus Tab 7

Abb 23 Bestuumlckte Platine des Interface mit nummerierten Bauelementen

Tab 8 beschreibt das Einloumlten der elektronischen Bauelemente anhand der Nummern aus Tab 7 und in der angegebenen Reihenfolge

Nr Bauelement Beschreibung des Einbaus

0 Spezialanfertigung und Selbst-bauvariante der Epoxydharz-

Platine

1

Stromversorgungsbuchse ndash Hohlstecker 21 mm

Wenn die Loumltbeine nicht durch die Loumlcher der Platine passen die Loumlcher mit einer runden Schluumlsselfeile aufweiten

Stromversorgungsbuchse mit Sekundenkleber vor dem Festloumlten auf der Pla-tine fixieren da diese mechanischen Belastungen durch das Einstecken und Herausziehen des 12 V -Steckers ausgesetzt ist

Wahlweise kann die 25 mm-Version der Buchse verwendet werden

2

RS232 Datenstecker

RS232 Datenstecker mit Sekundenkleber vor dem Festloumlten auf der Platine fixieren da dieser mechanischen Belastungen durch das Einstecken und Herausziehen des Null-Modem-Kabels ausgesetzt ist

Alle Beinchen und Befestigungsstifte zur houmlheren Stabilitaumlt anloumlten

3

Ein Ring an einer Seite der Diode (hier links weiszlig) zeigt die Durchlass- bzw Sperrrichtung der Diode an Die Position des Ringes entspricht der Position des Balkens im Schaltungssymbol

38

Diode ndash SB140 Auf der Platine muss der Ring auf der von der Stromversorgungsbuchse ab-

gewandten Seite liegen

4 Drahtbruumlcke

Vor dem Einloumlten des 40-poligen IC-Sockels (Nr 5) muss eine Drahtbruumlcke unter diesem eingeloumltet werden Dazu koumlnnen die abgeschnittenen Beinchen der bereits eingeloumlteten Diode (Nr 3) verwendet werden

5 6

IC-Fassungen

Die 16-polige und 40-polige IC-Fassungen besitzen eventuell eine Markie-rung fuumlr Pin1 (z B Kerbe in der Stirnseite Punkt Pfeilhellip) als Hilfe fuumlr das richtige Einstecken der ICs Die Markierungen muumlssen bei beiden Fassungen nach oben also zum naumlchstliegenden Rand der Platine zeigen

Die ICs unbedingt noch nicht einstecken

7

ISP-Stiftleiste

Die doppelreihige ISP-Stiftleiste dient der Programmierung des Mikrocontrol-lers mit dem AVR-ISP-Programmer (ISP steht fuumlr In System Programming)

ISP-Stiftleiste auf 2 x 5 Stifte kuumlrzen und mit den kurzen Beinchen einloumlten so dass auf die langen Stifte der AVR-ISP-Programmer gesteckt werden kann

8

Widerstand 100 kΩ

Den 100 kΩ-Widerstand rechts neben der ISP-Stiftleiste einloumlten

9

10

11

Elkos

Bei den verwendeten Elektrolyt-Kondensatoren ist die Polung zu beachten (langes Beinchen = Plus-Pol) Weiterhin ist auf den Kondensatoren ein wei-szliger Streifen mit Minus-Zeichen aufgedruckt Die Kondensatoren sollten eine Spannungsfestigkeit von mindestens 16 V besser 25V besitzen

Auf der Kupferseite der Platine zeigt die Form der Loumltaugen die Polung an Rundes Loumltauge = Plus quadratisches Loumltauge = Minus

Der 470 microF Kondensator wird mit dem weiszligen Streifen in Richtung Stromver-sorgungsbuchse direkt unter diese montiert

Der 100 microF Kondensator sitzt direkt unter der 16-poligen IC-Fassung Sein weiszliger Streifen (Minus-Pol) zeigt in Richtung der Stromversorgungsbuchse

Vier der 10 microF Kondensatoren werden links neben der 16-poligen IC-Fassung montiert Deren Polung ist wie folgt Unterster Kondensator Minus nach oben naumlchster Kondensator Minus nach unten die beiden oberen Kondensatoren mit Minus nach oben

Ein weiterer 10 microF Kondensator wird rechts neben die 16-polige IC-Fassung geloumltet Sein Minus-Streifen zeigt nach unten

12

13

Keramik-Kondensatoren

Die Beschriftung 104 bedeutet 10e4 pF = 100 nF Die beiden 33 pF-Kerkos (Keramik-Kondensatoren) werden direkt nebenei-

nander rechts neben die 16-polige IC-Fassung geloumltet Zwei 100 nF-Kondensatoren werden unter dem 470 microF-Elko eingeloumltet ein

weiterer mittig an der linken Seite der 40-poligen IC-Fassung

14

Quarz

Als Quarz wird ein 110592 MHz-Typ verwendet Bei dieser Frequenz ist eine fehlerfreie Kommunikation uumlber RS232 mit 9600 Baud moumlglich Fuumlr den AT-mega16 koumlnnen Quarze bis 16 MHz eingesetzt werden Details siehe Daten-blatt

Der Quarz wird direkt rechts neben die beiden 33 pF-Kerkos geloumltet Die Ori-entierung des Quarz spielt keine Rolle

15

16

17

18

Der Spannungsregler L7805 erzeugt eine stabilisierte Spannung von 5 V Es muss ein Kuumlhlkoumlrper zur Waumlrmeabfuhr vom Spannungsregler verwendet werden

Vor dem Einloumlten zwischen Spannungsregler und Kuumlhlkoumlrper etwas Waumlrme-leitpaste aufgetragen Beide Bauteile fest mit einer Schraube M3x10 und ei-ner 1 Mutter verschrauben

Dann den Spannungsregler einloumlten um 90deg abzubiegen das uumlberstehende Gewinde durch das vorgesehene Loch stecken und alles mit einer 2 Mutter auf der Platine befestigen

1 Mutter

2 Mutter

Schr

aube

L7805

Platine

KuumlhlkoumlrperWaumlrmeleitpaste

Beinchen

Loumlten

39

Spannungsregler L7805 Kuumlhl-koumlrper und Montage

19

Steckernetzteil

Funktionskontrolle vor dem Einsetzen des Mikrocontrollers Polung der Elektrolyt-Kondensatoren (Elkos) pruumlfen Sind alle Beinchen angeloumltet Hat das Loumltzinn an den Beinchen und der Pla-

tine guten Kontakt Sind eventuell zwei benachbarte Beinchen unbeabsichtigt durch Loumltzinn verbunden Alle Loumltverbindungen nochmals genau z B mit ei-ner Lupe pruumlfen

Probeweise das Stecker-Netzteil an die Buchse anschlieszligen Am 100 nF-Kondensator links mittig der 40-poligen IC-Fassung muumlssen 5 V anliegen

Versorgungsspannung unbedingt wieder von der Platine trennen

20

21

ICs MAX232 und ATmega16

Die Nuten auf den ICs am linken Rand muumlssen nach oben zeigen d h Pin1 ist bei beiden ICs in der Abbildung links unten und auf der Platine oben links

Manchmal passen die Beinchen der ICs nicht in die Fassung weil die Fas-sung scheinbar zu schmal ist Dann den IC seitlich mit einer Beinchen-Reihe flach auf den Tisch legen den IC-Koumlrper links und rechts greifen und Bein-chen durch leichten Druck biegen Einzelne verbogene Beinchen vorsichtig mit einer kleinen Flachzange richten

22

23

Wannenstecker 10- und 14-polig

Wannenstecker an den vorgesehe-nen Stellen mit der Nut gegen Ver-polung in Richtung des naumlherliegen-den Platinenrands einloumlten

Die Abbildung rechts zeigt die Pin-Belegung der Wannenstecker

24

Stiftleiste 8-polig 40-pol Stiftleiste in 4 jeweils 8-polige Stuumlcke zerteilen und einloumlten

25

Kunststoffgehaumluse

In der Selbstbauvariante der Platine (Nr 0) vor dem Einsetzten der Platine in das Gehaumluse passend positionierte Kunststoffstege am Gehaumluseboden fest-kleben

Tab 8 Bestuumlckung der Platine des Interface mit Bauelementen

42 Erweiterungsschaltungen 421 Uumlbersicht In Tab 3 sind von RCLs des RCL-Portals Sensoren und Aktoren mit den dazugehoumlrigen Er-weiterungsschaltungen zusammengestellt Da alle RCLs obligatorisch uumlber mindestens eine Webcam verfuumlgen sind diese unter den Sensoren nicht aufgefuumlhrt Die wenigen Erweite-rungsschaltungen fuumlr Sensoren sind unter Sensoren in Klammern aufgelistet Unter Aktoren werden auszliger elektro-mechanischen Wandlern auch gesteuerte Geraumlte oder Bauelemente verstanden Anzeigeinstrumente sind unter Aktoren nur aufgefuumlhrt wenn sie direkt vom In-terface gesteuert werden Mit gekennzeichnete Erweiterungsschaltungen befinden sich au-szligerhalb des Interface

40

RCL Sensoren Aktoren Erweiterungsschaltungen fuumlr Aktoren

Beugung und Interferenz I Referenz-Taster

Schrittmotor (Rotation) Schrittmotorsteuerung Laser-Modul Geschaltete Spannungsversorgung

Beugung und Interferenz II

4 Referenz-Taster Lichtsensor

4 Schrittmotoren (Translation) 4 Schrittmotorsteuerungen 5 Laser-Module Geschaltete Spannungsversorgung LED fuumlr Position des

Lichtsensors Geschaltete Spannungsversorgung

LED fuumlr Linealbeleuchtung Geschaltete Spannungsversorgung

Elektronen-beugung

Hochspannungsnetzgeraumlt Geschaltete Spannungsversorgung Hochspannungsnetzgeraumlt Steuerung der Hochspannung

Fotoeffekt 2 Referenz-Taster Photozelle

2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen

Quecksilberdampflampe Geschaltete Spannungsversorgung

der Drossel fuumlr Quecksilberdampf-lampe

Halbleiter-kennlinien

und Halbleiterkennli-nien - Schuumller-

projekt

Referenz-Taster

Schrittmotor (Rotation) Schrittmotorsteuerung Oszilloskop Geschaltete Spannungsversorgung

Oszilloskop Instrumentenverstaumlrker fuumlr X- und Y-Ablenkung

Multimeter Steuerung Spannungs- oder Strom-anzeige

Heiszliger Draht 4 Endtaster 4 Drehgeber Kurzschlusssensor

4 Gleichstrommotoren 4 Treiber

Zweifarbige LED Steuerung der LED-Farbe

Lichtgeschwin-digkeit

Drehimpulsgeber 2 Taster an Enden

der Eisenbahnstre-cke

2 Schrittmotoren 2 Schrittmotorsteuerungen Oszilloskop Geschaltete Spannungsversorgung

Motor der Lokomotive Steuerung des Ein- und Ausschal-tens und der Bewegungsrichtung

Maut Infrarot-Sensor Gleichstrommotor Geschaltete Spannungsquelle 2 IR-Fernbedienungen Spannungsregler 2-stellige 7-Segmentanzeige LED-Treiber

Millikan-Versuch 2 Referenz-Taster

2 Schrittmotoren 2 Schrittmotorsteuerungen Lichtquelle (LED) fuumlr Millikan-

Kondensator Geschaltete Spannungsversorgung

Airbrush-Kompressor Geschaltete Spannungsversorgung Magnetventil Geschaltete Spannungsversorgung Millikan-Kondensator Gesteuertes Hochspannungsmodul

Optische Com-putertomogra-

phie

2 Referenz-Taster 2 Lichtsensoren

Schrittmotor (Rotation) Schrittmotorsteuerung Schrittmotor (Translation) Schrittmotorsteuerung

2 Laser-Module 2 geschaltete Spannungsversor-gungen

Optische Fou-rier-

Transformation 2 Referenz-Taster

2 Schrittmotoren (Translation) 2 Schrittmotorsteuerungen

Laser-Modul Geschaltete Spannungsversorgung

Oszilloskop Oszilloskop Geschaltete Spannungsversorgung Signalgenerator Steuerung der Signalart

Radioaktivitaumlt 4 Referenz-Taster Geiger-Muumlller-

Zaumlhlrohr

2 Schrittmotoren (Translation) 2 Schrittmotorsteuerungen 2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen 4-stellige 7-Segment-Anzeige Treiber Elektromagnet Geschaltete Spannungsversorgung

Roboter im Labyrinth Infrarot-Sensor

2 Schrittmotoren 2 Schrittmotorsteuerung Infrarot-Sender Treiber

Rutherfordscher Streuversuch

2 Referenz-Taster Halbleiterdetektor

(Impulsformer)

2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen

4-stellige 7-Segment-Anzeige Treiber

Weltpendel

Referenz-Taster Lichtsensor der

Lichtschranke (Im-pulsformer)

Temperatursensor

Schrittmotor (Translation) Schrittmotorsteuerung Elektromagnet Geschaltete Spannungsversorgung

Laser der Lichtschranke Geschaltete Spannungsversorgung

Windkanal Referenz-Taster Schrittmotor (Translation) Schrittmotorsteuerung

41

Dehnungsmess-streifen (Wheat-stonesche Bruumlcke Messverstaumlrker Multimeter)

Geblaumlsemotor Geschaltete Spannungsversorgung

und Ansteuerung mit Pulsweiten-modulation

Anemometer Geschaltete Spannungsversorgung Multimeter Geschaltete Spannungsversorgung

Tab 9 Sensoren Aktoren und Erweiterungsschaltungen der RCLs des RCL-Portals

422 TMC222-Modul zur Schrittmotorsteuerung 4221 Schaltplan und Bauteilliste Abb 1 zeigt die Beschaltung des TMC222 von Trinamic auf dem TMC222-Modul

Abb 24 Beschaltung des TMC222 von Trinamic

Anhand der Bauteilliste in Tab 10 koumlnnen die elektronischen Bauelemente des TMC222-Moduls bei Reichelt electronic bestellt werden Ein TMC222-Modul kostet ungefaumlhr 10 euro

Nr Anzahl Kurzbeschreibung des Bauteils Best-Nr bei Reichelt electronic

Einzelpreis in euro

0 1 Epoxyd-Fotoplatine einseitig 75x100 mm 15 mm 35 microm BEL75X100-1 096 1 1 Integrierter TMC-Schrittmotor-Controller TMC 222 SI asymp 7 2 1 Elektrolytkondensator 8x11 mm Rm 35 mm 100 microF35 V RAD 10035 004 3 1 Tantal-Kondensator Rm 25 10 microF35 V Tantal 1035 014 4 2 Vielschicht-Keramikkondensator 220 nF 20 Z5U-25 220N 011 5 3 Vielschicht-Keramikkondensator 100 nF 20 Z5U-25 100N 004 6 2 Metallschichtwiderstand 100 kΩ Metall 100K 0082 7 1 1x36pol Stiftleiste gewinkelt Rm 254 SL 1X36W 027 8 1 1x36pol Buchsenleiste gerade Rm 254 BL 1X36G 025

Tab 10 Bauteilliste mit Bestellnummer und Einzelpreisen der Bauelemente bei Reichelt electronic (Stand 23102010)

4222 Bestuumlckung der Platine

42

Abb 25 zeigt die fertig bestuumlckte Platine mit den Nummern aus Tab 10

Abb 25 Bestuumlckte Platine des TMC222-Moduls

mit nummerierten Bauelementen

Die Platine (35 mm x 30 mm) kann anhand des Layouts in Abb 26 hergestellt werden Der IC TMC222 wird auf der Loumltseite der Platine aufgeloumltet Das TMC222-Modul kann mit der Stiftleiste (larr Tab 10 Nr 7) in eine Buchsenleiste (larr Tab 10 Nr 8) auf die Platine des In-terface gesteckt werden

Abb 26 Platine des TMC222-Moduls von der Loumltseite (links) und Layout

4223 Quellcode des Mikrocontroller-Programms Im Folgenden ist ein mit Bascom (larr 12 Tab 1 Entwicklungsumgebungen) erstelltes Bei-spiel-Programm zur Ansteuerung des Schrittmotormoduls TMC222 durch den Mikrocontroller ATmega16 angegeben $regfile = m16DEFdat $crystal = 11059200 $baud = 9600 Definitionen Config Scl = Portc0 Taktleitung Config Sda = Portc1 Datenleitung Const Adress = ampB11000000 I2C Adresse des TMC222 Const GetFullstatus1 = ampB10000001 Kommando des TMC222 Const Resetpos = ampB10000110 Kommando des TMC222 Const Motorparameter = ampB10001001 Kommando des TMC222 Const Setposition = ampB10001011 Dim Puffer(10) As Byte

43

Programm I2csend Adress GetFullstatus1 GetFullstatus1 (Initialisierung des TMC222) I2creceive Adress 7 Ack Daten in Puffer auslesen Puffer(1) = Motorparameter puffer auffuumlllen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB11110011 1111irun 0011ihold Puffer(5) = ampB01110001 0111vmax 0001vmin Puffer(6) = ampB00010000 000securepos(bit10-8) 1shaft 0000acceleration Puffer(7) = 0 securepos(bit7-0) Puffer(8) = ampB00001100 000nicht belegt 0accshape 11stepmode 00nicht belegt I2csend Adress Puffer(1) 8 I2csend Adress Resetpos aktuelle Position auf 0 setzen Puffer(1) = Setposition Motor bewegen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB01111111 position(bit 15-8) Puffer(5) = ampB11111111 position(bit 7-0)acute I2csend Adress Puffer(1) 5 End

423 Geschaltete Spannungsquellen und Verbraucher Die Ausgaumlnge des Mikrocontrollers duumlrfen nur mit Stroumlmen kleiner als ungefaumlhr 20 mA belas-tet werden Verbraucher mit einer Stromlast groumlszliger als 20 mA koumlnnen daher nicht direkt an den Mikrocontroller angeschlossen werden Abb 27 zeigt links eine Schaltung zum Schalten eines Verbrauchers wie z B des Relais und rechts eine Schaltung mit dem IC ULN2803A zum Schalten mehrerer Verbraucher wie z B Gluumlhlampen

Abb 27 Erweiterungsschaltungen zum Schalten eines (links) oder

mehrerer Verbraucher (rechts)

Zu beachten ist dass der Transistor BC337 maximal 800 mA schalten kann und fuumlr groumlszligere Stroumlme andere Transistoren verwendet werden muumlssen

424 Steuerung von Gleichstrommotoren

44

Sollen Gleichstrommotoren zum Bewegen von Objekten mit dem Mikrocontroller gesteuert werden dann eignet sich dazu der in Abb 28 dargestellte beschaltete IC L293D

Abb 28 Beschaltung des L293D zum

Steuern zweier Gleichstrom-motoren

Mit Pin 1 = Pin 9 = 1 (High) koumlnnen zwei Gleichstrommotoren M1 und M2 (Versorgungs-spannung UM lt 36 V Spulendauerstrom IM lt 600 mA) unabhaumlngig voneinander ein- und ausgeschaltet sowie in der Drehrichtung uumlber die Ports PA0 und PA1 fuumlr M1 und PA2 und PA3 fuumlr M2 gesteuert werden Z B gilt mit PA0 = PA1 = 0 (M1 ausgeschaltet) PA0 = 1 und PA1 = 0 (M1 dreht sich) PA0 = 0 und PA1 = 1 (M1 dreht sich in Gegenrichtung)

45

43 Quellcodes zum RCL Elektronenbeugung 431 Mikrocontroller-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

46

47

48

49

432 PHP-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

50

51

433 Bedienfeld der Laborseite

Tab 11 erlaumlutert die Funktion der Bloumlcke im Quellcode

Zeilen Funktion 1 Datei defaultconf einbinden 2 Datei headtpl einbinden

5 - 11 Ausgabe der verbleibenden Experimentierzeit 18 - 21 Button zum Einschalten der Elektronenbeugungsroumlhre 28 - 30 Eingabefeld fuumlr die Beschleunigungsspannung

37 Ruumlckmeldung zur eingegebenen Beschleunigungsspannung 42 Datei foottpl einbinden

Tab 11 Funktion der Programmbloumlcke in der Datei experi-menttpl

52

434 Webcamfeld der Laborseite

In Tab 12 ist die Funktion der Programmbloumlcke und die Anpassungen der Vorlage an das RCL Elektronenbeugung beschrieben

Zeilen Funktion Anpassung RCL Elektronenbeugung

5 Titelangabe erscheint als Tabulatorbeschriftung in Browsern

Name des RCLs eintragen

11 - 15 16 - 20

Zwei Javascripts zum getrennten Aufrufen zweier Po-pup-Fenster mit dargestelltem Webcambildern 1 und 2

Javascript 1 die IP-Adresse eintragen Javascript 2 auskommentiert weil nicht benoumltigt

24 - 40 42 - 60

Zwei Javascripts zum Aktualisieren der Webcambilder 1 und 2

Javascript 2 auskommentiert weil nicht benoumltigt

67 - 71 79 - 83

Aufrufen des ersten Webcambilds der Webcams 1 und 2 beim Aufrufen der Datei

Webcambild 2 auskommentiert weil nicht benoumltigt

72 - 78 84 - 90

Buttons zum Aufrufen der Screenshots der Webcam-bilder 1 und 2

Button 2 auskommentiert weil nicht benoumltigt

91 - 95 Zeile der Tabelle zum Eintragen von Informationen die sich auf die Webcambilder oder den Versuch beziehen

Text in Zeile der Tabelle geschrieben

Tab 12 Funktionen der Codeabschnitte in der Datei videohtm und Anpassung der Vor-lage an das RCL Elektronenbeugung

53

44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung Im Folgenden wird die Installation und Konfiguration des AVR-Studios 418 und der Bascom 11198 Demoversion beschrieben Alle Anleitungen sind zeilenweise von links nach rechts zu lesen

441 AVR-Studio 418 4411 Installation Auf der Webseite von ATMEL Register AVR Studio 418 (build 684) anklicken und Registrie-rungsformular ausfuumlllen Danach die Datei AvrStudio418Setup herunterladen Durch Dop-pelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen Next waumlhlen

I accept hellip und Next waumlhlen Installationsordner und Next waumlhlen

54

Installupgrade hellip und Next waumlhlen Install waumlhlen Die Installation beginnt

Finish waumlhlen

4412 Konfiguration AVR Studio 418 in Windows XP Professional unter StartProgramme aufrufen

Startfenster mit Cancel schlieszligen Unter ToolsProgram AVR Auto Connect waumlhlen

55

Im eingeblendeten Fenster auf der Registerkarte Main als Device ATmega16 und als Programming Mode ISP mo-de waumlhlen

Optional kann Signatur gelesen werden

In der Registerkarte Fuses alle Haumlkchen und Auswahlfel-der wie angegeben waumlhlen

Dann Program waumlhlen

442 BASCOM 11198 Demoversion 4421 Installation Auf der Webseite von Bascom unter Bascom AVR Demo die Zip-Datei setupdemoexe her-untergeladen Durch Doppelklick auf den Dateinamen die Installation starten

Next waumlhlen I accept the agreement und Next waumlhlen

56

Next waumlhlen Installationsordner eingeben und Next waumlhlen

Eintrag im Start-Menuuml eingeben und Next waumlhlen Next waumlhlen

Yes restart the computer now und Finish waumlhlen

57

4422 Konfiguration Bascom AVR in Windows XP Professional unter StartProgramme zum Einstellen der Para-meter des Mikrocontrollers und des Terminals aufrufen

OptionsCompilerChip waumlhlen Einstellungen wie im Bild vornehmen und OK waumlhlen

Auf der Registerkarte Communications Einstellungen wie im Bild vornehmen und OK waumlhlen

Unter OptionsCommunication Einstellungen wie im Bild

vornehmen und OK waumlhlen FileNew waumlhlen Unter ToolsTerminal emulator das Terminal aufrufen und

eingeben Die Befehlsliste des RCLs Elektronenbeu-gung wird angezeigt

45 Installation und Konfiguration von Programmen auf dem RCL-Server Im Folgenden wird der Download die Installation und die Konfiguration von Programmen auf dem RCL-Server unter Windows XP Professional beschrieben Alle Anleitungen sind zeilen-weise von links nach rechts zu lesen Die Installation der Programme sollte in der angegebe-nen Reihenfolge erfolgen

58

451 Einrichten des Internet-Zugangs LAN-Verbindung unter StartSystemsteuerungNetzwerkverbindungen aufrufen

Internetprotokoll (TCPIP) und Eigenschaften waumlhlen Folgende IP-Adresse verwenden waumlhlen IP-Adressen ein-

geben und OK waumlhlen

452 Paket XAMPP 174 Unter apache friends - xampp fuumlr windows und XAMPP Windows 174 Installer anklicken und Datei xampp-win32-174-VC6-installerexe speichern Durch Doppelklick auf die Datei die Installation starten

Sprache und Ok waumlhlen Ok waumlhlen

59

Weiter waumlhlen Zielverzeichnis mit Durchsuchen waumlhlen oder eingeben

Apache nicht als Dienst installieren Fertig stellen waumlhlen

Ja waumlhlen Zum Starten des Apache Webservers das Control Panel

unter StartProgrammeXAMPP 173 for Windows mit Start starten Anstelle von Start erscheint Running

Zum Beenden des Apache Webservers Stop waumlhlen Zum Beenden des Control Panels Exit waumlhlen

60

453 Videoserver webcamXP 5 Private Auf der Webseite von Moonware Studios unter webcamXP 55xx die Datei wlite550 herun-terladen Durch Doppelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen I Agree waumlhlen

Next waumlhlen Auszliger webcamXP 5 brauchen keine weiteren Komponen-

ten installiert zu werden

Den vorgeschlagenen Ordner und Install waumlhlen Finish waumlhlen

61

WebcamXP unter StartProgramme aufrufen Zugesandte

Lizenz-Daten in das eingeblendete Fenster eingeben und Register waumlhlen

Beim Starten des Programms stellt webcamXP automa-tisch eine Verbindung zu den am Computer angeschlosse-nen Webcams her

Nach dem Start ist Uumlberwachen gewaumlhlt Durch Rechts-klick mit der Maus auf das Videofenster wird zu jeder Vi-deoquelle ein Kontextmenuuml angezeigt Wird kein Videobild dargestellt das Kontextmenuuml aufrufen Art der Videoquelle waumlhlen (hier USB) und unter den erkannten Videoquellen (hier USB-Videogeraumlt) die gewuumlnschte waumlhlen

Das Videoformat muss fuumlr eine passende Darstellung auf

der Laborseite auf 320 x 240 eingestellt sein Ist das nicht der Fall im Kontextmenuuml unter Video Format einstellen

In gleicher Weise kann eine zweite Videoquelle hinzugefuumlgt werden

In der Registerkarte Web Broadcast kann unter

Broadcast (HTTP) der Videoserver mit Ausschalten ge-stoppt und mit Aktivieren gestartet werden

Zur Zielwahl des Webservers (131246237167 - Internet D16W3X3J - Computer 127001 - Local Host) Videoser-ver stoppen und einstellen Videoserver wieder starten

62

454 Terminalprogramm Hyperterminal Hyperterminal in Windows XP Professional unter StartProgrammeZubehoumlrKommunikation aufrufen

Name der neuen Verbindung - z B Interface - eingeben

und OK waumlhlen Die Verbindung zwischen Computer und Interface wurde

uumlber einen USB-Seriell-Adapter hergestellt Dann erschei-nen zwei zusaumltzliche Eintraumlge (Motorola Comp Modem und COM5) in der Liste Prinzipiell muss eine COMx-Verbindung gewaumlhlt werden

Eigenschaften von COM 5 wie im Bild einstellen und OK

waumlhlen DateiEigenschaften aufrufen und ASCII-Konfiguration

waumlhlen

63

Haken bei Eingegebene Zeichen lokal ausgeben (lokales

Echo) setzen um eingegebenen Zeichen im Hyperterminal zu sehen

Bei funktionsfaumlhiger Verbindung erscheint nach Eingabe von Return die Befehlsliste des Interface

Durch Aufrufen von DateiSpeichern die erstellte Verbin-

dung z B auf dem Desktop speichern Dadurch braucht die Verbindung nicht immer wieder von neuem konfiguriert wer-den

Nach Aufrufen von DateiBeenden die bestehende Verbin-dung mit Ja beenden

64

Wurde ein falscher COM-Port gewaumlhlt reagiert das Inter-

face auf die Eingabe Return nicht Hyperterminal dann beenden

Der COM-Port kann dann nicht unter DateiEigenschaften im Hyperterminal aber unter Eigenschaften des Kontext-menuumls der Datei Interfaceht in der Registerkarte Verbin-den mit geaumlndert werden Dann OK waumlhlen und erneut Verbindung testen

65

455 Fernwartungssoftware TeamViewer 6 Host Auf der Webseite von Teamviewer GmbH unter Fuumlr unbeaufsichtigte Server TeamViewer Vollversion die Datei TeamViewer_Setup-wq herunterladen Das Programm muss auf dem RCL-Server und dem Computer der auf den RCL-Server zugreifen soll installiert werden Durch Doppelklick auf die Datei die Installation starten

Ausfuumlhren waumlhlen Weiter waumlhlen

Fuumlr die private nicht kommerzielle Nutzung ist Teamviewer kostenlos

privat nicht-kommerziell und Weiter waumlhlen

Beide Haumlkchen setzen und Weiter waumlhlen

66

Ja un Weiter waumlhlen Weiter

Computername und Kennwort fuumlr den Zugriff auf den RCL-Server oder den eigenen Computer vergeben Kenn wort notie-ren

Ein Teamviewerkonto ist nicht erforderlich Kann auch spaumlter noch eingerichtet werden

ID fuumlr den Computer auf dem das Programm installiert wird fuumlr Zugriff notieren

Das Programm wird gestartet Standardmaumlszligig vorein-gestellt ist der Start des Programms beim Start des Be-trienssystems

67

46 Selbstbau eines elementaren RCLs 461 Hard- und Software Auch ohne gleich ein vielleicht teures physikalisches Experiment zu steuern laumlsst sich mit wenigen Bauelementen ein elementares RCL realisieren Von einer Webseite im Internet sol-len eine Leuchtdiode (LED) ein- oder ausgeschaltet sowie der Zustand der Leuchtdiode und eines Tasters abgefragt werden An Hard- und Software werden benoumltigt

1 Low-Current-LED 5 mm 2 mA 1 Widerstand 18 kΩ 1 Taster und optional zwei 10-polige Wannenstecker mit ungefaumlhr 10 cm passendem Flachbandkabel und Buchsen

Interface in Basisschaltung Null-Modem-Kabel 12 V DC Steckernetzteil (larr 1)

Installierte Bascom-Demo-Version (larr 42)

AVR ISP-Programmer mit 10-poligem Programmierkabel

Installiertes und konfiguriertes AVR Studio 418 (larr 41)

Installiertes Paket XAMPP (larr 52)

Texteditor wie z B Notepad in Windows XP Professional

Konfigurierte Hyperterminalverbindung (larr 54)

462 Bestuumlckung der Platine Abb 29 zeigt zur Orientierung fuumlr das Einloumlten der Bauelemente die fertig bestuumlckte Platine des Interface

Abb 29 Mit elementarem RCL bestuumlckte Platine

des Interface

LED mit Vorwiderstand und der Taster sind rechts neben dem Mikrocontroller im Lochraster-bereich aufgebaut und uumlber Wannenstecker und Flachbandkabel mit dem Port A des Mikro-controllers verbunden (die drei Bauteile rechts neben dem ATmega16 werden nicht benouml-tigt) Tab 13 erlaumlutert die Schritte zur Bestuumlckung der Platine des Interface

68

Nr Schaltung Erlaumluterung

1

Die Leuchtdiode (LED) mit dem Pluspol (langes Beinchen) an PortA0 (PIN40 oben rechts) des Mikrocontrollers anloumlten

An das kurze Beinchen einen 18kΩ Widerstand loumlten dessen anderes Ende mit der Masse (GND) verbinden

2

Den Taster mit PortA1 (PIN39 = 2 Beinchen von oben rechts) und Masse (GND) verbinden

3

Draufsicht

Belegung des 10-poligen Wannensteckers 1 GND (Masse) im Foto oben links 2 +5 V 3 PortA0 4 PortA1 10 PortA7 im Foto unten rechts

Tab 13 Schritte zum Aufbau des elementaren RCLs

463 Lokal gesteuertes RCL Nachfolgend ist der Basic-Programmcode des Mikrocontrollers zur Steuerung und Abfrage der LED und des Tasters angegeben 01 $regfile = m16DEFdat Microcontroller ATmega16 02 $crystal = 11059200 110592MHz Quarz 03 $baud = 9600 Baudrate 04 05 ---[ Variables ]--------------------------------------------------------------- 06 Dim Rs232kommando As String 10 erst Befehlspuffer dann Kommando 07 Dim Parameter As String 10 Parameter 08 Dim Str_pos As Byte Position von Leerzeichen zur Trennung von Kommando und Pa-rameter 09 10 ---[ Initialisierung ]--------------------------------------------------------- 11 Ddra0 = 1 PortA0 als Ausgang fuumlr LED 12 Porta0 = 0 LED aus 13 Ddra1 = 0 PortA1 als Eingang fuumlr Taster 14 Porta1 = 1 Pull-Up aktivieren 15 16 ---[ Main program loop ]------------------------------------------------------- 17 Do Start der Endlos-Schleife 18 19 If Ischarwaiting() = 1 Then Zeichen uumlber RS232 empfangen 20 Input Rs232kommando neues Kommando lesen 21 Parameter = Parameter initialisieren 22 Str_pos = Instr(rs232kommando ) Leerzeichen im Kommando suchen 23 If Str_pos gt 0 Then falls Leerzeichen dann in Kommando+Parameter zerlegen 24 Incr Str_pos Str_pos soll jetzt auf 1Zeichen des Parameters zeigen 25 Parameter = Mid(rs232kommando Str_pos ) Parameter = Teilstring nach Leerzeichen 26 Parameter = Ucase(parameter) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 27 Str_pos = Str_pos - 2 Str_pos soll jetzt auf letztes Zeichen des Kommandos zeigen 28 Rs232kommando = Left(rs232kommando Str_pos)Kommando = Teilstring vor Leerzeichen 29 Rs232kommando = Ucase(rs232kommando) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 30 End If 31 32 Select Case Rs232kommando Eventhandler Interpretation der Kommandos 33 Case Print Hilfe Hilfeseite anzeigen 34 Print LED on - LED einschalten 35 Print LED off - LED ausschalten 36 Print LED - zeigt Status der LED an 37 Print SW - zeigt Status des Schalters an 38

1K8

LED rotmicroC PortA0(PIN40)

Taster

microC PortA1(PIN39)

1

3

2

69

39 Case LED If Parameter = ON Then LED schalten 40 Porta0 = 1 41 End If 42 If Parameter = OFF Then 43 Porta0 = 0 44 End If 45 46 Case LED If Porta0 = 0 Then Status der LED ausgeben 47 Print LED aus 48 Else 49 Print LED an 50 End If 51 52 Case SW If Pina1 = 1 Then Status des Schalters ausgeben 53 Print Taster offen 54 Else 55 Print Taster geschlossen 56 End If 57 58 Case Else Print gt Rs232kommando lt ungueltiger Befehl - weitere Infos mit Info bei unguumlltigen Eingaben 59 End Select 60 61 End If 62 63 Loop Endlos-Schleife Springe zu Do 64 65 End wird nie erreicht

Der erste Teil des Programms (Zeilen 1 - 15) enthaumllt die Systemparameter Variablen und Initialisierung der Ein- und Ausgaumlnge Der zweite Teil enthaumllt ab Zeile 17 das Hauptpro-gramm in dem Benutzereingaben uumlber die serielle Schnittstelle empfangen interpretiert und in entsprechende Anweisungen umgesetzt werden Tab 14 erlaumlutert den Programmcode de-taillierter

Zeilen Erlaumluterung

1 - 3 Diese Angaben teilen dem Compiler (Bascom) mit welcher Prozessor eingesetzt wird wie schnell dieser getaktet (Quarz) ist und mit welcher Uumlbertragungsgeschwindigkeit die Kommunikation uumlber die serielle Schnittstelle (RS232) mit dem PC erfolgen soll

6 - 8 Es werden drei Variablen genutzt Die Eingabe uumlber die serielle Schnittstelle wird in rs232kommando gespeichert Es wird ein Text der Form Kommando ltLeerzeichengt Parameter erwartet so dass die Variable Parameter den-selbigen aufnimmt Die Variable str_pos wird fuumlr die Trennung von Kommando und Parameter benoumltigt

11 - 14

Mit dem Befehl ddrPX (ddr = data direction) wird festgelegt ob ein Beinchen als Ausgang (=1) oder als Eingang (=0) arbeiten soll Der ATmega16 besitzt 32 Ein-Ausgaumlnge die in vier Ports (P=AD) zu je 8 Pins (X=07) unterteilt sind ddrA0 = 1 legt also das 1 Beinchen (Pin 0) von PortA als Ausgang (=1) fest Mit dem Befehl PortA0 =1 kann dieser Pin dann durch Zuweisen von 1 oder 0 an- bzw ausgeschaltet werden Im Datenblatt erfahren Sie welches der 40 Beinchen des Mikrocontrollers wie bezeichnet wird (Pin-Belegung) Wird ein Beinchen als Eingang verwendet (ddrA1 = 0) koumlnnen Sie optional einen so genannten Pull-Up-Widerstand aktivieren (PortA1=1) oder deaktivieren (PortA1=0) Auch hierzu sollten Sie sich unbedingt mit dem Datenblatt vertraut machen

17 63 Das Hauptprogramm besteht aus einer Endlosschleife d h der Mikrocontroller verrichtet ununterbrochen seinen Job so lange er mit Strom versorgt wird

19 - 30 Falls ein Zeichen uumlber die serielle Schnittstelle empfangen wurde wird dieses und alle folgenden gelesen Anschlie-szligend wird gepruumlft ob der empfangene Text von der Form Kommando ltLeerzeichengt Parameter ist so dass er ge-gebenenfalls in ein Kommando und einen Parameter zerlegt werden kann

32 - 59 Dieser Abschnitt wird mit Event-Handler bezeichnet Hier wird auf die Kommandos (Events) reagiert und die ent-sprechenden Schritte ausgefuumlhrt zB schalten LED je nach Wert der Variablen Parameter an- bzw ausschalten

46 52

In beiden Zeilen wird ein Wert eines Ports abgefragt Unterschiedlich ist dass in Zeile 46 der Status eines Ausgangs abgefragt wird (porta0) und in Zeile 52 der Zustand eines Eingangs (pina0) Die Anweisung IF porta0 = 0 THEN pruumlft (hier ist = ein Vergleich und KEINE Zuweisung) ob zuletzt die LED ausgeschaltet (Zuweisung porta0 = 0) wurde Die Anweisung IF pina1= 1 THEN liest den Status eines Eingangs Hier kann festgestellt werden ob der Eingang uumlber den internen Pull-UP-Widerstand auf +5V liegt (pina1 liefert 1) oder ob der Schalter den Eingang mit Masse (0V) verbindet (pina1 liefert 0)

Tab 14 Erlaumluterung des Mikrocontroller-Programmcodes fuumlr elementares RCL

70

In Bascom AVR eine neue Datei erzeugen (FileNew) den Programmcode ohne Kommenta-re eingeben und mit ProgramCompile (F7) eine Hexadezimaldatei erzeugen Die Hexadezi-maldatei mit dem AVR-Studio und dem AVR-ISP-Programmer in den Mikrocontroller schrei-ben (larr 222 Programmuumlbertragung) Nach dem Verbinden von Computer und Interface per Null-Modem-Kabel kann durch Eingabe von in das konfigurierte Hyperterminal die Befehls-liste in Abb 30 aufgerufen werden

Abb 30 Aufgerufene Befehlsliste im Hyperterminal

Durch Eingabe von LED on oder LED off kann die LED ein- und ausgeschaltet LED zeigt den Status der LED und sw den Status des Tasters an Alternativ zum Hyperterminal kann auch das Terminal in BASCOM unter ToolsTerminal Emulator verwendet werden (larr 422)

464 Ferngesteuertes RCL Zum Ansteuern des Interfaces und zum Bedienen des Versuchsaufbaus uumlber das Internet wird eine Webseite benoumltigt die dem Benutzer alle Bedienelemente des Experiments zur Verfuumlgung stellt

Der Benutzer benoumltigt anklickbare Buttons im Webbrowser

Der Webserver muss die Information welcher Button gedruumlckt wurde empfangen und ein entsprechendes Kommando uumlber die serielle Schnittstelle an das Interface senden

Beide Schritte sind im nachfolgenden PHPHTML-Quellcode zusammengefasst 01 ltDOCTYPE HTML PUBLIC -W3CDTD HTML 401 TransitionalEN httpwwww3orgTRhtml4loosedtdgt 02 lthtmlgt 03 ltheadgt 04 ltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1gt 05 lttitlegtelementares RCLlttitlegt 06 ltheadgt 07 08 ltbodygt 09 ltphp 10 if (isset($_POST[Kommando])) wurde bereits Kommando gesendet 11 if( ( $handle = fopen( COM1 w+ ) ) ) Schnittstelle oumlffnen 12

71

13 throw new Exception( Can not access serial port 2 ) ohne Erfolg 14 15 fwrite( $handle $_POST[Kommando] chr( 13 ) ) Befehl an Interface senden 16 switch ( $_POST[Kommando] ) Antwort von Interface auswerten 17 case LED $tmp = fgets( $handle ) Echo von Interface ignorieren 18 $antwort = fgets( $handle ) Antwort des Interfaces 19 echo Antwort $antwort Ausgabe auf Webseite 20 break switch verlassen 21 22 case SW $tmp = fgets( $handle ) Echo von Interface ignorieren 23 $antwort = fgets( $handle ) Antwort des Interfaces 24 echo Antwort $antwort Ausgabe auf Webseite 25 break switch verlassen 26 27 28 29 fclose( $handle ) Schnittstelle schlieszligen 30 31 else 32 `mode com1 BAUD=9600 PARITY=N data=8 stop=1 xon=off` Schnittstellenparameter setzen 33 34 35 gt 36 37 lth3gtBefehl sendenlth3gt 38 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 39 ltinput type=hidden name=Kommando value=LED ON gt 40 ltinput type=submit value=LED anschalten gt 41 ltformgt 42 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 43 ltinput type=hidden name=Kommando value=LED OFF gt 44 ltinput type=submit value=LED ausschalten gt 45 ltformgt 46 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 47 ltinput type=hidden name=Kommando value=LED gt 48 ltinput type=submit value=LED abfragen gt 49 ltformgt 50 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 51 ltinput type=hidden name=Kommando value=SW gt 52 ltinput type=submit value=Taster abfragen gt 53 ltformgt 54 ltbodygt 55 lthtmlgt Den Quellcode in den Texteditor kopieren und im Ordner htdocs von XAMPP z B unter rclphp speichern HTML-Dateien mit PHP-Code (Zeilen 9-35) muumlssen mit der Erweiterung php gespeichert werden damit der Apache Webserver zwischen HTML-Seiten mit und ohne PHP-Code unterscheiden kann Den installierten Apache Webserver starten (larr 452) und im Adressfeld des Webbrowsers die IP-Adresse http127001rclphp aufrufen Das Bedi-enfeld des elementaren RCLs in Abb 31 wird im Browserfenster angezeigt

72

Abb 31 Laborseite des elementaren RCLs

Im Bedienfeld kann die LED an- und ausgeschaltet sowie der Status von LED und Taster abgefragt werden

  • 0 Warum ein Tutorial zur RCL-Technik
  • 1 Technische Konzeption
    • 11 Einfuumlhrung
    • 12 Wahl der RCL-Technik
      • 2 Lokal gesteuertes RCL
        • 21 Interface
          • 211 Mikrocontroller
          • 212 Basisschaltung und Erweiterungsschaltungen
          • 213 Programmierung des Mikrocontrollers
            • 22 Hyperterminal
            • 23 Positionieren von Objekten
              • 231 Hybrid-Schrittmotoren
              • 232 Schrittmotorsteuerung und Positionierungsmechanik
                  • 3 Ferngesteuertes RCL
                    • 31 RCL-Server
                    • 32 Laborseite
                      • 321 Steuerung des RCLs uumlber das Bedienfeld
                      • 322 Videouumlbertragung im Webcamfeld
                        • 33 Standard-Lernumgebung
                          • 4 ANHANG
                            • 41 Interface in Basisschaltung
                              • 411 Schaltplan und Bauteilliste
                              • 412 Bestuumlckung der Platine
                                • 42 Erweiterungsschaltungen
                                  • 421 Uumlbersicht
                                  • 422 TMC222-Modul zur Schrittmotorsteuerung
                                    • 4221 Schaltplan und Bauteilliste
                                    • 4222 Bestuumlckung der Platine
                                    • 4223 Quellcode des Mikrocontroller-Programms
                                      • 423 Geschaltete Spannungsquellen und Verbraucher
                                      • 424 Steuerung von Gleichstrommotoren
                                        • 43 Quellcodes zum RCL Elektronenbeugung
                                          • 431 Mikrocontroller-Programmierung
                                          • 432 PHP-Programmierung
                                          • 433 Bedienfeld der Laborseite
                                          • 434 Webcamfeld der Laborseite
                                            • 44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung
                                              • 441 AVR-Studio 418
                                                • 4411 Installation
                                                • 4412 Konfiguration
                                                  • 442 BASCOM 11198 Demoversion
                                                    • 4421 Installation
                                                    • 4422 Konfiguration
                                                        • 45 Installation und Konfiguration von Programmen auf dem RCL-Server
                                                          • 451 Einrichten des Internet-Zugangs
                                                          • 452 Paket XAMPP 174
                                                          • 453 Videoserver webcamXP 5 Private
                                                          • 454 Terminalprogramm Hyperterminal
                                                          • 455 Fernwartungssoftware TeamViewer 6 Host
                                                            • 46 Selbstbau eines elementaren RCLs
                                                              • 461 Hard- und Software
                                                              • 462 Bestuumlckung der Platine
                                                              • 463 Lokal gesteuertes RCL
                                                              • 464 Ferngesteuertes RCL

31

Zum Einbinden des Webcambilds in die Laborseite des RCLs wird die laborsprachenabhaumln-gige Datei videohtm (rarr 434) in den Ordnern eng fra ger und ita verwendet Standardmauml-szligig werden zwei Webcambilder und Screenshots unterstuumltzt der Code fuumlr weitere Webcam-bilder kann durch copy and paste hinzugefuumlgt werden

Unter den Technologien Java Javaskript Flash und Windows Media fuumlr die Wiedergabe ei-nes Livestreams auf eine Webseite wurde Javaskript gewaumlhlt weil die anderen Technologien die Installation des Java Runtime Environments (JRE) des Flash- oder Windows Media Players durch den Besucher eines RCLs voraussetzen Die Wiedergabe des Livestreams mit einem Java-Applet startet zudem erst verzoumlgert nachdem das Applet geladen ist und verfuumlgt uumlber eine zu geringe Wiedergabegeschwindigkeit

33 Standard-Lernumgebung Bestandteil der Entwicklung eines RCLs ist die Erstellung einer Standard-Lernumgebung zum RCL Abb 18 zeigt exemplarisch fuumlr die deutschen Webseiten im Ordner ger das Menuuml (larr 11 Abb 3) und die Dateistruktur der Standard-Lernumgebung

Abb 18 Deutschsprachiges Menuuml und Dateistruktur der Standard-Lernumgebung

RCL-spezifisch anzupassende Dateien sind grau hinterlegt

Die englischen Dateinamen introductionhtm setuphtm hellip im Ordner ger korrespondieren mit den deutschen Menuumlpunkten Wird das RCL unter dem Menuumlpunkt RCLs des RCL-Portals aufgerufen dann ruft die Frameset-Datei indexhtm die Dateien menuumlhtm und intro-ductionhtm auf und das Menuuml wird zusammen mit der Webseite Einstieg dargestellt Die Wahl weiterer Menuumlpunkte ruft jeweils die korrespondiere Datei im Ordner auf Bei Wahl des Menuumlpunkts Labor werden mit der Frameset-Datei laboratoryhtm die Dateien videohtm fuumlr das Webcamfeld und die Datei laborindexphp fuumlr das Bedienfeld aufgerufen

32

Im Ordner docsmaterial werden alle Dokumente fuumlr die Webseite Material im Ordner docsothers die Dokumente anderer Webseiten abgelegt Im Ordner docsoriginals sind die Originale von Dokumenten wie z B Word-Dateien und der verwendeten Bilder abgelegt Grafikdateien der Webseiten Einstieg hellip Auswertung hellip Betreuung werden in gleichnami-gen Ordnern wie z B imagesanalysis abgelegt Bei sprachenunabhaumlngigen Grafikdateien wird unter dem Dateinamen abbx bei sprachenabhaumlngigen unter dem Dateinamen abbx_lan mit lan = eng fra ger und ita gespeichert Analoges gilt fuumlr die als gif-Grafiken forxgif oder forx_langif zu speichernden Formeln Originale von Bildern werden im Ordner imagesoriginals abgelegt Die Webseite zur Datei htdocsindexhtm enthaumllt zum lokalen Aufrufen der Standard-Lernumgebung Links zu den vier Index-Dateien in den Ordnern eng fra ger und ita Die Stylesheet-Datei htdocsrcl_stylecss enthaumllt die Styles der Webseiten

In der Regel werden Standard-Lernumgebungen der RCLs des RCL-Portals von verschiede-nen Personen erstellt Fehlende Gestaltungs- und Formatierungsregeln fuumlhren zu einem un-einheitlichen inattraktivem Erscheinungsbild des RCL-Portals Tab 6 gibt einen Uumlberblick der wichtigsten Gestaltungs- und Formatierungsregeln

Element Richtlinien

Gliederung

Die Webseiten Einstieg Aufbau Aufgaben Diskussion Material und Support enthalten vorgegebene Gliederungspunkte teilweise mit ausgefuumlhrten Uumlberschriften

Die umfangreicheren Webseiten Theorie und Auswertung enthalten ein Inhaltsverzeichnis mit internen Links zu Gliederungspunkten Zwischen Punkten der ersten Gliederungsebene (1 2 hellip) ist ein zwei-zeiliger Abstand (ltpgtampnbspltpgtltpgtampnbspltpgt) zwischen Punkten der zweiten (11 12 hellip) und Punkten der nur falls unbedingt notwendig dritten 111 112 hellip) Gliederungsebene ein einzeiliger Abstand zu waumlhlen Nach Abbildungen und Tabellen folgt ein einzeiliger Abstand zum nachfolgenden Text

Links Keine internen Links zwischen den Webseiten der Lernumgebung Externe Links werden prinzipiell in einem neuen Browserfenster geoumlffnet (blank)

Abbildung

Alle Abbildungen erhalten fortlaufend beginnend mit 1 nummerierte Abbildungsunterschriften der Form Abb x hellip

Abbildungen sind moumlglichst spachenunabhaumlngig d h ohne Texte in der Abbildung zu erstellen Zur Beschriftung koumlnnen z B Zahlen verwendet werden die in der Abbildungsunterschrift oder im Text er-laumlutert werden

Tabellen Tabellen werden in jeder Webseite fortlaufend beginnend mit 1 nummeriert Tabellen sind zu zentrieren Rahmenstaumlrke 1

Formeln

Formeln sind nicht als Textzeichen oder Grafik im laufenden Text einzufuumlgen sondern stets zentriert in einer eigenen Zeile als gif-Grafik

Zum Erstellen der Formel-Grafiken eignet sich z B der Formel-Editor MathType15 mit der Aufloumlsungs-Einstellung 120 dpi fuumlr InternetGif

Formeln brauchen im Rahmen des begrenzten Umfangs der Webseiten nicht nummeriert zu werden Groumlszligen-symbole

Griechische Groumlszligensymbole und mathematische Symbole sind nicht als Grafiken im laufenden Text sondern als HTML-Code einzufuumlgen Eine Zeichenreferenz findet sich bei Selfhtml16

Styles Zur Formatierung der Webseiten werden aus der Stylesheet-Datei nur die drei Styles Uumlberschrift fuumlr

die Uumlberschriften Bildunterschrift fuumlr Abbildungs- und Tabellenunterschriften und Tabellentext fuumlr Tex-te in Tabellen benoumltigt

Tab 6 Richtlinien zur Gestaltung und Formatierung der Standard-Lernumgebung

Detailliertere Informationen zum Layout der Standard-Lernumgebung koumlnnen dem RCL-Ordner und dem Erscheinungsbild der Webseiten von RCLs in Browsern entnommen wer-den

15 Vgl Design Science MathType 16 Vgl Selfhtml HTML-Zeichreferenz

33

4 ANHANG

34

41 Interface in Basisschaltung 411 Schaltplan und Bauteilliste Abb 19 zeigt den Schaltplan der Basisschaltung des Interface und Tab 7 die dazugehoumlrige Bauteilliste

Abb 19 Basisschaltung des Interface

Nr Anzahl Kurzbeschreibung des Bauteils Best-Nr bei Reichelt electronic

Einzelpreis in euro

0 1 Epoxyd-Platine (190x112 mm) mit Anteil Loumltpunktraster (Spezi-

alanfertigung) - asymp 10

1 1

Epoxyd-Fotoplatine einseitig 160x100 mm 15 mm 35 microm Epoxyd-Lochrasterplatine 160x100 mm 15 mm 35 microm

BEL 160x100-1 UP 832EP

170 420

1 1 Hohlstecker-Einbaubuchse gewinkelt Loumltfahnen 21 mm HEBW 21 018 2 1 D-SUB-Stecker 9-polig gewinkelt RM 94 D-SUB ST 09EU 029 3 1 Schottky Diode DO41 40 V 1 A SB 140 008 4 1 Draht von abgeschnittenem Beinchen aus Pos-Nr 3 - - 5 1 IC-Sockel 16-polig superflach gedreht vergoldet GS 16P 029 6 1 IC-Sockel 40-polig superflach gedreht vergoldet GS 40P 061 7 1 2x10-pol-Stiftleiste gerade RM 254 SL 2X10G 254 007 8 1 Metallschichtwiderstand 100 kΩ Metall 100k 0082 9 1 Elektrolytkondensator 10x16 mm 470 microF RM 50 mm RAD 47025 006 10 1 Elektrolytkondensator 63x11 mm 100 microF RM 25 mm RAD 10016 004 11 5 Elektrolytkondensator 5x11 mm 10 microF RM 20 mm RAD 1035 004 12 2 Keramik-Kondensator 33 pF Kerko 33p 006 13 3 Vielschicht-Keramikkondensator 100 nF 20 Z5U-25 100n 004

35

14 1 Standardquarz Grundton 110592 MHz 110592-HC49U-S 018 15 1 Spannungsregler 1 A positiv TO-220 microA 7805 028 16 1 Kuumlhlkoumlrper fuumlr Gehaumluse TO-220 99KW V FI356 066 17 1 Zylinderkopfschraube Schlitz M3 10 mm fuumlr Kuumlhlkoumlrper M3x10mm 160 18 2 Sechskantmutter M3 fuumlr Kuumlhlkoumlrper SK M3 001 19 1 Stecker-Schaltnetzteil 12 V 2250 mA MW 3IP25GS 1150 20 1 RS232-Driver DIL-16 MAX 232 CPE 041 21 1 ATmega AVR-RISC-Controller DIL-40 ATmega16-16 DIP 420 22 3 10-poliger Wannenstecker RM 254 stehend (optional) WSL 10G 009 23 1 14-poliger Wannenstecker RM 254 stehend (optional) WSL 14G 014 24 1 40-polige Stiftleiste 1-reihig gerade RM254 (optional) SL 1x40G 254 023 25 1 Kunststoffgehaumluse 1982x1124x760 mm (Serientyp 202) - asymp 10 euro 26 1 D-SUB Nullmodem-Kabel 9-pol BUBU 3 m AK 143 155 27 x DIN-Einbaubuchse 5-pol Schraubver 360deg (optional) DIO-50W EMS 185 28 x DIN-Einbaubuchse 8-polig Schraubversch 270deg (optional) DIO-80SN EMS 180 29 x Pfostenstecker 10-polig mit Verrieglung gew (optional) PSL 10W 028 30 x Klemmleiste RM 254 Oumlffnungshebel 8-polig (optional) Wago 233 220

Tab 7 Bauteilliste mit Bestellnummer und Einzelpreisen der Bauelemente bei Reichelt electronic (Stand 23102010)

Anhand der Bauteilliste in koumlnnen die elektronischen Bauelemente der Basisschaltung (larr Tab 7 Nr 0 ndash 21 optional Nr 22 - 24) bei Reichelt electronic bestellt werden Das Gehaumluse des Interface (larr Tab 7 Nr 25) sollte vom Hersteller HAGOTECH GmbH bezogen werden Weiterhin wird ein Nullmodemkabel (larr Tab 7 Nr 26) zur Verbindung des Interface mit dem Computer benoumltigt Sensoren und Aktoren des Experiments koumlnnen mit optionalen Steck-verbindern (larr Tab 7 Nr 27 - 30) und entsprechende Kabelverbindungen an das Interface angeschlossen werden Die Nummern 0 - 25 stimmen mit der angegebenen Bestuumlckungs-reihenfolge auf der Platine uumlberein Das Interface kostet in der Basisschaltung ca 50 euro

412 Bestuumlckung der Platine Abb 20 zeigt zur Bestuumlckung der Platine benoumltigte Werkzeuge

Abb 20 Werkzeuge zur Bestuumlckung der Platine des Interface

36

Loumltkolben mit feiner Spitze in Meisselform 2 mm oder Loumltstation (1) Loumltzinnabsauger zum Entfernen von Loumltzinn (2) Nasser Schwamm zum Reinigen der Spitze des Loumltkolbens (3) Loumltzinn mit Durchmesser 08 - 10 mm (4) Flachspitzzange zum Biegen von Anschluumlssen der Bauelemente (5) Seitenschneider zum Kuumlrzen der Beinchen von Bauelementen (6) Multimeter zum Pruumlfen der Funktionsfaumlhigkeit der Schaltung (7) Sekundenkleber zur Befestigung von Bauelementen Kleine Bohrmaschine z B von Dremel und 08 mm Bohrer oder duumlnne Rundfeile zum

Weiten von Loumlchern auf der Platine des Interface

Abb 21 zeigt die Platine des Interface von der Loumltseite in der Spezialanfertigung der Elekt-ronik-Werkstatt an der Technischen Universitaumlt Kaiserslautern und in der Selbstbauvariante (larr Tab 7 Nr 0) Abb 22 zeigt das Platinenlayout

Abb 21 Platine des Interface von der Loumltseite als Spezialanfertigung (links) und der Selbstbauvariante

(rechts)

Abb 22 Layout zur Herstellung des geaumltzten Teils der

Platine in der Selbstbauvariante

37

In der Selbstbauvariante kann anhand des Platinenlayouts eine selbst geaumltzte Platine fuumlr die Basisschaltung auf einer Platine im Europakartenformat hergestellt und diese in der Laumlnge gekuumlrzt werden Eine gekuumlrzte Lochrasterplatine bildet den zweiten Teil der Platine Mit den optionalen vier Wannensteckern (larr Tab 7 Nr 22 - 23) oder den vier Stiftleisten (larr Tab 7 Nr 24) an den Ports des Mikrocontrollers koumlnnen leicht elektrische Verbindungen zum Rasterteil der Platine herstellt werden Abb 23 zeigt die fertig bestuumlckte Platine mit den Nummern aus Tab 7

Abb 23 Bestuumlckte Platine des Interface mit nummerierten Bauelementen

Tab 8 beschreibt das Einloumlten der elektronischen Bauelemente anhand der Nummern aus Tab 7 und in der angegebenen Reihenfolge

Nr Bauelement Beschreibung des Einbaus

0 Spezialanfertigung und Selbst-bauvariante der Epoxydharz-

Platine

1

Stromversorgungsbuchse ndash Hohlstecker 21 mm

Wenn die Loumltbeine nicht durch die Loumlcher der Platine passen die Loumlcher mit einer runden Schluumlsselfeile aufweiten

Stromversorgungsbuchse mit Sekundenkleber vor dem Festloumlten auf der Pla-tine fixieren da diese mechanischen Belastungen durch das Einstecken und Herausziehen des 12 V -Steckers ausgesetzt ist

Wahlweise kann die 25 mm-Version der Buchse verwendet werden

2

RS232 Datenstecker

RS232 Datenstecker mit Sekundenkleber vor dem Festloumlten auf der Platine fixieren da dieser mechanischen Belastungen durch das Einstecken und Herausziehen des Null-Modem-Kabels ausgesetzt ist

Alle Beinchen und Befestigungsstifte zur houmlheren Stabilitaumlt anloumlten

3

Ein Ring an einer Seite der Diode (hier links weiszlig) zeigt die Durchlass- bzw Sperrrichtung der Diode an Die Position des Ringes entspricht der Position des Balkens im Schaltungssymbol

38

Diode ndash SB140 Auf der Platine muss der Ring auf der von der Stromversorgungsbuchse ab-

gewandten Seite liegen

4 Drahtbruumlcke

Vor dem Einloumlten des 40-poligen IC-Sockels (Nr 5) muss eine Drahtbruumlcke unter diesem eingeloumltet werden Dazu koumlnnen die abgeschnittenen Beinchen der bereits eingeloumlteten Diode (Nr 3) verwendet werden

5 6

IC-Fassungen

Die 16-polige und 40-polige IC-Fassungen besitzen eventuell eine Markie-rung fuumlr Pin1 (z B Kerbe in der Stirnseite Punkt Pfeilhellip) als Hilfe fuumlr das richtige Einstecken der ICs Die Markierungen muumlssen bei beiden Fassungen nach oben also zum naumlchstliegenden Rand der Platine zeigen

Die ICs unbedingt noch nicht einstecken

7

ISP-Stiftleiste

Die doppelreihige ISP-Stiftleiste dient der Programmierung des Mikrocontrol-lers mit dem AVR-ISP-Programmer (ISP steht fuumlr In System Programming)

ISP-Stiftleiste auf 2 x 5 Stifte kuumlrzen und mit den kurzen Beinchen einloumlten so dass auf die langen Stifte der AVR-ISP-Programmer gesteckt werden kann

8

Widerstand 100 kΩ

Den 100 kΩ-Widerstand rechts neben der ISP-Stiftleiste einloumlten

9

10

11

Elkos

Bei den verwendeten Elektrolyt-Kondensatoren ist die Polung zu beachten (langes Beinchen = Plus-Pol) Weiterhin ist auf den Kondensatoren ein wei-szliger Streifen mit Minus-Zeichen aufgedruckt Die Kondensatoren sollten eine Spannungsfestigkeit von mindestens 16 V besser 25V besitzen

Auf der Kupferseite der Platine zeigt die Form der Loumltaugen die Polung an Rundes Loumltauge = Plus quadratisches Loumltauge = Minus

Der 470 microF Kondensator wird mit dem weiszligen Streifen in Richtung Stromver-sorgungsbuchse direkt unter diese montiert

Der 100 microF Kondensator sitzt direkt unter der 16-poligen IC-Fassung Sein weiszliger Streifen (Minus-Pol) zeigt in Richtung der Stromversorgungsbuchse

Vier der 10 microF Kondensatoren werden links neben der 16-poligen IC-Fassung montiert Deren Polung ist wie folgt Unterster Kondensator Minus nach oben naumlchster Kondensator Minus nach unten die beiden oberen Kondensatoren mit Minus nach oben

Ein weiterer 10 microF Kondensator wird rechts neben die 16-polige IC-Fassung geloumltet Sein Minus-Streifen zeigt nach unten

12

13

Keramik-Kondensatoren

Die Beschriftung 104 bedeutet 10e4 pF = 100 nF Die beiden 33 pF-Kerkos (Keramik-Kondensatoren) werden direkt nebenei-

nander rechts neben die 16-polige IC-Fassung geloumltet Zwei 100 nF-Kondensatoren werden unter dem 470 microF-Elko eingeloumltet ein

weiterer mittig an der linken Seite der 40-poligen IC-Fassung

14

Quarz

Als Quarz wird ein 110592 MHz-Typ verwendet Bei dieser Frequenz ist eine fehlerfreie Kommunikation uumlber RS232 mit 9600 Baud moumlglich Fuumlr den AT-mega16 koumlnnen Quarze bis 16 MHz eingesetzt werden Details siehe Daten-blatt

Der Quarz wird direkt rechts neben die beiden 33 pF-Kerkos geloumltet Die Ori-entierung des Quarz spielt keine Rolle

15

16

17

18

Der Spannungsregler L7805 erzeugt eine stabilisierte Spannung von 5 V Es muss ein Kuumlhlkoumlrper zur Waumlrmeabfuhr vom Spannungsregler verwendet werden

Vor dem Einloumlten zwischen Spannungsregler und Kuumlhlkoumlrper etwas Waumlrme-leitpaste aufgetragen Beide Bauteile fest mit einer Schraube M3x10 und ei-ner 1 Mutter verschrauben

Dann den Spannungsregler einloumlten um 90deg abzubiegen das uumlberstehende Gewinde durch das vorgesehene Loch stecken und alles mit einer 2 Mutter auf der Platine befestigen

1 Mutter

2 Mutter

Schr

aube

L7805

Platine

KuumlhlkoumlrperWaumlrmeleitpaste

Beinchen

Loumlten

39

Spannungsregler L7805 Kuumlhl-koumlrper und Montage

19

Steckernetzteil

Funktionskontrolle vor dem Einsetzen des Mikrocontrollers Polung der Elektrolyt-Kondensatoren (Elkos) pruumlfen Sind alle Beinchen angeloumltet Hat das Loumltzinn an den Beinchen und der Pla-

tine guten Kontakt Sind eventuell zwei benachbarte Beinchen unbeabsichtigt durch Loumltzinn verbunden Alle Loumltverbindungen nochmals genau z B mit ei-ner Lupe pruumlfen

Probeweise das Stecker-Netzteil an die Buchse anschlieszligen Am 100 nF-Kondensator links mittig der 40-poligen IC-Fassung muumlssen 5 V anliegen

Versorgungsspannung unbedingt wieder von der Platine trennen

20

21

ICs MAX232 und ATmega16

Die Nuten auf den ICs am linken Rand muumlssen nach oben zeigen d h Pin1 ist bei beiden ICs in der Abbildung links unten und auf der Platine oben links

Manchmal passen die Beinchen der ICs nicht in die Fassung weil die Fas-sung scheinbar zu schmal ist Dann den IC seitlich mit einer Beinchen-Reihe flach auf den Tisch legen den IC-Koumlrper links und rechts greifen und Bein-chen durch leichten Druck biegen Einzelne verbogene Beinchen vorsichtig mit einer kleinen Flachzange richten

22

23

Wannenstecker 10- und 14-polig

Wannenstecker an den vorgesehe-nen Stellen mit der Nut gegen Ver-polung in Richtung des naumlherliegen-den Platinenrands einloumlten

Die Abbildung rechts zeigt die Pin-Belegung der Wannenstecker

24

Stiftleiste 8-polig 40-pol Stiftleiste in 4 jeweils 8-polige Stuumlcke zerteilen und einloumlten

25

Kunststoffgehaumluse

In der Selbstbauvariante der Platine (Nr 0) vor dem Einsetzten der Platine in das Gehaumluse passend positionierte Kunststoffstege am Gehaumluseboden fest-kleben

Tab 8 Bestuumlckung der Platine des Interface mit Bauelementen

42 Erweiterungsschaltungen 421 Uumlbersicht In Tab 3 sind von RCLs des RCL-Portals Sensoren und Aktoren mit den dazugehoumlrigen Er-weiterungsschaltungen zusammengestellt Da alle RCLs obligatorisch uumlber mindestens eine Webcam verfuumlgen sind diese unter den Sensoren nicht aufgefuumlhrt Die wenigen Erweite-rungsschaltungen fuumlr Sensoren sind unter Sensoren in Klammern aufgelistet Unter Aktoren werden auszliger elektro-mechanischen Wandlern auch gesteuerte Geraumlte oder Bauelemente verstanden Anzeigeinstrumente sind unter Aktoren nur aufgefuumlhrt wenn sie direkt vom In-terface gesteuert werden Mit gekennzeichnete Erweiterungsschaltungen befinden sich au-szligerhalb des Interface

40

RCL Sensoren Aktoren Erweiterungsschaltungen fuumlr Aktoren

Beugung und Interferenz I Referenz-Taster

Schrittmotor (Rotation) Schrittmotorsteuerung Laser-Modul Geschaltete Spannungsversorgung

Beugung und Interferenz II

4 Referenz-Taster Lichtsensor

4 Schrittmotoren (Translation) 4 Schrittmotorsteuerungen 5 Laser-Module Geschaltete Spannungsversorgung LED fuumlr Position des

Lichtsensors Geschaltete Spannungsversorgung

LED fuumlr Linealbeleuchtung Geschaltete Spannungsversorgung

Elektronen-beugung

Hochspannungsnetzgeraumlt Geschaltete Spannungsversorgung Hochspannungsnetzgeraumlt Steuerung der Hochspannung

Fotoeffekt 2 Referenz-Taster Photozelle

2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen

Quecksilberdampflampe Geschaltete Spannungsversorgung

der Drossel fuumlr Quecksilberdampf-lampe

Halbleiter-kennlinien

und Halbleiterkennli-nien - Schuumller-

projekt

Referenz-Taster

Schrittmotor (Rotation) Schrittmotorsteuerung Oszilloskop Geschaltete Spannungsversorgung

Oszilloskop Instrumentenverstaumlrker fuumlr X- und Y-Ablenkung

Multimeter Steuerung Spannungs- oder Strom-anzeige

Heiszliger Draht 4 Endtaster 4 Drehgeber Kurzschlusssensor

4 Gleichstrommotoren 4 Treiber

Zweifarbige LED Steuerung der LED-Farbe

Lichtgeschwin-digkeit

Drehimpulsgeber 2 Taster an Enden

der Eisenbahnstre-cke

2 Schrittmotoren 2 Schrittmotorsteuerungen Oszilloskop Geschaltete Spannungsversorgung

Motor der Lokomotive Steuerung des Ein- und Ausschal-tens und der Bewegungsrichtung

Maut Infrarot-Sensor Gleichstrommotor Geschaltete Spannungsquelle 2 IR-Fernbedienungen Spannungsregler 2-stellige 7-Segmentanzeige LED-Treiber

Millikan-Versuch 2 Referenz-Taster

2 Schrittmotoren 2 Schrittmotorsteuerungen Lichtquelle (LED) fuumlr Millikan-

Kondensator Geschaltete Spannungsversorgung

Airbrush-Kompressor Geschaltete Spannungsversorgung Magnetventil Geschaltete Spannungsversorgung Millikan-Kondensator Gesteuertes Hochspannungsmodul

Optische Com-putertomogra-

phie

2 Referenz-Taster 2 Lichtsensoren

Schrittmotor (Rotation) Schrittmotorsteuerung Schrittmotor (Translation) Schrittmotorsteuerung

2 Laser-Module 2 geschaltete Spannungsversor-gungen

Optische Fou-rier-

Transformation 2 Referenz-Taster

2 Schrittmotoren (Translation) 2 Schrittmotorsteuerungen

Laser-Modul Geschaltete Spannungsversorgung

Oszilloskop Oszilloskop Geschaltete Spannungsversorgung Signalgenerator Steuerung der Signalart

Radioaktivitaumlt 4 Referenz-Taster Geiger-Muumlller-

Zaumlhlrohr

2 Schrittmotoren (Translation) 2 Schrittmotorsteuerungen 2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen 4-stellige 7-Segment-Anzeige Treiber Elektromagnet Geschaltete Spannungsversorgung

Roboter im Labyrinth Infrarot-Sensor

2 Schrittmotoren 2 Schrittmotorsteuerung Infrarot-Sender Treiber

Rutherfordscher Streuversuch

2 Referenz-Taster Halbleiterdetektor

(Impulsformer)

2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen

4-stellige 7-Segment-Anzeige Treiber

Weltpendel

Referenz-Taster Lichtsensor der

Lichtschranke (Im-pulsformer)

Temperatursensor

Schrittmotor (Translation) Schrittmotorsteuerung Elektromagnet Geschaltete Spannungsversorgung

Laser der Lichtschranke Geschaltete Spannungsversorgung

Windkanal Referenz-Taster Schrittmotor (Translation) Schrittmotorsteuerung

41

Dehnungsmess-streifen (Wheat-stonesche Bruumlcke Messverstaumlrker Multimeter)

Geblaumlsemotor Geschaltete Spannungsversorgung

und Ansteuerung mit Pulsweiten-modulation

Anemometer Geschaltete Spannungsversorgung Multimeter Geschaltete Spannungsversorgung

Tab 9 Sensoren Aktoren und Erweiterungsschaltungen der RCLs des RCL-Portals

422 TMC222-Modul zur Schrittmotorsteuerung 4221 Schaltplan und Bauteilliste Abb 1 zeigt die Beschaltung des TMC222 von Trinamic auf dem TMC222-Modul

Abb 24 Beschaltung des TMC222 von Trinamic

Anhand der Bauteilliste in Tab 10 koumlnnen die elektronischen Bauelemente des TMC222-Moduls bei Reichelt electronic bestellt werden Ein TMC222-Modul kostet ungefaumlhr 10 euro

Nr Anzahl Kurzbeschreibung des Bauteils Best-Nr bei Reichelt electronic

Einzelpreis in euro

0 1 Epoxyd-Fotoplatine einseitig 75x100 mm 15 mm 35 microm BEL75X100-1 096 1 1 Integrierter TMC-Schrittmotor-Controller TMC 222 SI asymp 7 2 1 Elektrolytkondensator 8x11 mm Rm 35 mm 100 microF35 V RAD 10035 004 3 1 Tantal-Kondensator Rm 25 10 microF35 V Tantal 1035 014 4 2 Vielschicht-Keramikkondensator 220 nF 20 Z5U-25 220N 011 5 3 Vielschicht-Keramikkondensator 100 nF 20 Z5U-25 100N 004 6 2 Metallschichtwiderstand 100 kΩ Metall 100K 0082 7 1 1x36pol Stiftleiste gewinkelt Rm 254 SL 1X36W 027 8 1 1x36pol Buchsenleiste gerade Rm 254 BL 1X36G 025

Tab 10 Bauteilliste mit Bestellnummer und Einzelpreisen der Bauelemente bei Reichelt electronic (Stand 23102010)

4222 Bestuumlckung der Platine

42

Abb 25 zeigt die fertig bestuumlckte Platine mit den Nummern aus Tab 10

Abb 25 Bestuumlckte Platine des TMC222-Moduls

mit nummerierten Bauelementen

Die Platine (35 mm x 30 mm) kann anhand des Layouts in Abb 26 hergestellt werden Der IC TMC222 wird auf der Loumltseite der Platine aufgeloumltet Das TMC222-Modul kann mit der Stiftleiste (larr Tab 10 Nr 7) in eine Buchsenleiste (larr Tab 10 Nr 8) auf die Platine des In-terface gesteckt werden

Abb 26 Platine des TMC222-Moduls von der Loumltseite (links) und Layout

4223 Quellcode des Mikrocontroller-Programms Im Folgenden ist ein mit Bascom (larr 12 Tab 1 Entwicklungsumgebungen) erstelltes Bei-spiel-Programm zur Ansteuerung des Schrittmotormoduls TMC222 durch den Mikrocontroller ATmega16 angegeben $regfile = m16DEFdat $crystal = 11059200 $baud = 9600 Definitionen Config Scl = Portc0 Taktleitung Config Sda = Portc1 Datenleitung Const Adress = ampB11000000 I2C Adresse des TMC222 Const GetFullstatus1 = ampB10000001 Kommando des TMC222 Const Resetpos = ampB10000110 Kommando des TMC222 Const Motorparameter = ampB10001001 Kommando des TMC222 Const Setposition = ampB10001011 Dim Puffer(10) As Byte

43

Programm I2csend Adress GetFullstatus1 GetFullstatus1 (Initialisierung des TMC222) I2creceive Adress 7 Ack Daten in Puffer auslesen Puffer(1) = Motorparameter puffer auffuumlllen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB11110011 1111irun 0011ihold Puffer(5) = ampB01110001 0111vmax 0001vmin Puffer(6) = ampB00010000 000securepos(bit10-8) 1shaft 0000acceleration Puffer(7) = 0 securepos(bit7-0) Puffer(8) = ampB00001100 000nicht belegt 0accshape 11stepmode 00nicht belegt I2csend Adress Puffer(1) 8 I2csend Adress Resetpos aktuelle Position auf 0 setzen Puffer(1) = Setposition Motor bewegen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB01111111 position(bit 15-8) Puffer(5) = ampB11111111 position(bit 7-0)acute I2csend Adress Puffer(1) 5 End

423 Geschaltete Spannungsquellen und Verbraucher Die Ausgaumlnge des Mikrocontrollers duumlrfen nur mit Stroumlmen kleiner als ungefaumlhr 20 mA belas-tet werden Verbraucher mit einer Stromlast groumlszliger als 20 mA koumlnnen daher nicht direkt an den Mikrocontroller angeschlossen werden Abb 27 zeigt links eine Schaltung zum Schalten eines Verbrauchers wie z B des Relais und rechts eine Schaltung mit dem IC ULN2803A zum Schalten mehrerer Verbraucher wie z B Gluumlhlampen

Abb 27 Erweiterungsschaltungen zum Schalten eines (links) oder

mehrerer Verbraucher (rechts)

Zu beachten ist dass der Transistor BC337 maximal 800 mA schalten kann und fuumlr groumlszligere Stroumlme andere Transistoren verwendet werden muumlssen

424 Steuerung von Gleichstrommotoren

44

Sollen Gleichstrommotoren zum Bewegen von Objekten mit dem Mikrocontroller gesteuert werden dann eignet sich dazu der in Abb 28 dargestellte beschaltete IC L293D

Abb 28 Beschaltung des L293D zum

Steuern zweier Gleichstrom-motoren

Mit Pin 1 = Pin 9 = 1 (High) koumlnnen zwei Gleichstrommotoren M1 und M2 (Versorgungs-spannung UM lt 36 V Spulendauerstrom IM lt 600 mA) unabhaumlngig voneinander ein- und ausgeschaltet sowie in der Drehrichtung uumlber die Ports PA0 und PA1 fuumlr M1 und PA2 und PA3 fuumlr M2 gesteuert werden Z B gilt mit PA0 = PA1 = 0 (M1 ausgeschaltet) PA0 = 1 und PA1 = 0 (M1 dreht sich) PA0 = 0 und PA1 = 1 (M1 dreht sich in Gegenrichtung)

45

43 Quellcodes zum RCL Elektronenbeugung 431 Mikrocontroller-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

46

47

48

49

432 PHP-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

50

51

433 Bedienfeld der Laborseite

Tab 11 erlaumlutert die Funktion der Bloumlcke im Quellcode

Zeilen Funktion 1 Datei defaultconf einbinden 2 Datei headtpl einbinden

5 - 11 Ausgabe der verbleibenden Experimentierzeit 18 - 21 Button zum Einschalten der Elektronenbeugungsroumlhre 28 - 30 Eingabefeld fuumlr die Beschleunigungsspannung

37 Ruumlckmeldung zur eingegebenen Beschleunigungsspannung 42 Datei foottpl einbinden

Tab 11 Funktion der Programmbloumlcke in der Datei experi-menttpl

52

434 Webcamfeld der Laborseite

In Tab 12 ist die Funktion der Programmbloumlcke und die Anpassungen der Vorlage an das RCL Elektronenbeugung beschrieben

Zeilen Funktion Anpassung RCL Elektronenbeugung

5 Titelangabe erscheint als Tabulatorbeschriftung in Browsern

Name des RCLs eintragen

11 - 15 16 - 20

Zwei Javascripts zum getrennten Aufrufen zweier Po-pup-Fenster mit dargestelltem Webcambildern 1 und 2

Javascript 1 die IP-Adresse eintragen Javascript 2 auskommentiert weil nicht benoumltigt

24 - 40 42 - 60

Zwei Javascripts zum Aktualisieren der Webcambilder 1 und 2

Javascript 2 auskommentiert weil nicht benoumltigt

67 - 71 79 - 83

Aufrufen des ersten Webcambilds der Webcams 1 und 2 beim Aufrufen der Datei

Webcambild 2 auskommentiert weil nicht benoumltigt

72 - 78 84 - 90

Buttons zum Aufrufen der Screenshots der Webcam-bilder 1 und 2

Button 2 auskommentiert weil nicht benoumltigt

91 - 95 Zeile der Tabelle zum Eintragen von Informationen die sich auf die Webcambilder oder den Versuch beziehen

Text in Zeile der Tabelle geschrieben

Tab 12 Funktionen der Codeabschnitte in der Datei videohtm und Anpassung der Vor-lage an das RCL Elektronenbeugung

53

44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung Im Folgenden wird die Installation und Konfiguration des AVR-Studios 418 und der Bascom 11198 Demoversion beschrieben Alle Anleitungen sind zeilenweise von links nach rechts zu lesen

441 AVR-Studio 418 4411 Installation Auf der Webseite von ATMEL Register AVR Studio 418 (build 684) anklicken und Registrie-rungsformular ausfuumlllen Danach die Datei AvrStudio418Setup herunterladen Durch Dop-pelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen Next waumlhlen

I accept hellip und Next waumlhlen Installationsordner und Next waumlhlen

54

Installupgrade hellip und Next waumlhlen Install waumlhlen Die Installation beginnt

Finish waumlhlen

4412 Konfiguration AVR Studio 418 in Windows XP Professional unter StartProgramme aufrufen

Startfenster mit Cancel schlieszligen Unter ToolsProgram AVR Auto Connect waumlhlen

55

Im eingeblendeten Fenster auf der Registerkarte Main als Device ATmega16 und als Programming Mode ISP mo-de waumlhlen

Optional kann Signatur gelesen werden

In der Registerkarte Fuses alle Haumlkchen und Auswahlfel-der wie angegeben waumlhlen

Dann Program waumlhlen

442 BASCOM 11198 Demoversion 4421 Installation Auf der Webseite von Bascom unter Bascom AVR Demo die Zip-Datei setupdemoexe her-untergeladen Durch Doppelklick auf den Dateinamen die Installation starten

Next waumlhlen I accept the agreement und Next waumlhlen

56

Next waumlhlen Installationsordner eingeben und Next waumlhlen

Eintrag im Start-Menuuml eingeben und Next waumlhlen Next waumlhlen

Yes restart the computer now und Finish waumlhlen

57

4422 Konfiguration Bascom AVR in Windows XP Professional unter StartProgramme zum Einstellen der Para-meter des Mikrocontrollers und des Terminals aufrufen

OptionsCompilerChip waumlhlen Einstellungen wie im Bild vornehmen und OK waumlhlen

Auf der Registerkarte Communications Einstellungen wie im Bild vornehmen und OK waumlhlen

Unter OptionsCommunication Einstellungen wie im Bild

vornehmen und OK waumlhlen FileNew waumlhlen Unter ToolsTerminal emulator das Terminal aufrufen und

eingeben Die Befehlsliste des RCLs Elektronenbeu-gung wird angezeigt

45 Installation und Konfiguration von Programmen auf dem RCL-Server Im Folgenden wird der Download die Installation und die Konfiguration von Programmen auf dem RCL-Server unter Windows XP Professional beschrieben Alle Anleitungen sind zeilen-weise von links nach rechts zu lesen Die Installation der Programme sollte in der angegebe-nen Reihenfolge erfolgen

58

451 Einrichten des Internet-Zugangs LAN-Verbindung unter StartSystemsteuerungNetzwerkverbindungen aufrufen

Internetprotokoll (TCPIP) und Eigenschaften waumlhlen Folgende IP-Adresse verwenden waumlhlen IP-Adressen ein-

geben und OK waumlhlen

452 Paket XAMPP 174 Unter apache friends - xampp fuumlr windows und XAMPP Windows 174 Installer anklicken und Datei xampp-win32-174-VC6-installerexe speichern Durch Doppelklick auf die Datei die Installation starten

Sprache und Ok waumlhlen Ok waumlhlen

59

Weiter waumlhlen Zielverzeichnis mit Durchsuchen waumlhlen oder eingeben

Apache nicht als Dienst installieren Fertig stellen waumlhlen

Ja waumlhlen Zum Starten des Apache Webservers das Control Panel

unter StartProgrammeXAMPP 173 for Windows mit Start starten Anstelle von Start erscheint Running

Zum Beenden des Apache Webservers Stop waumlhlen Zum Beenden des Control Panels Exit waumlhlen

60

453 Videoserver webcamXP 5 Private Auf der Webseite von Moonware Studios unter webcamXP 55xx die Datei wlite550 herun-terladen Durch Doppelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen I Agree waumlhlen

Next waumlhlen Auszliger webcamXP 5 brauchen keine weiteren Komponen-

ten installiert zu werden

Den vorgeschlagenen Ordner und Install waumlhlen Finish waumlhlen

61

WebcamXP unter StartProgramme aufrufen Zugesandte

Lizenz-Daten in das eingeblendete Fenster eingeben und Register waumlhlen

Beim Starten des Programms stellt webcamXP automa-tisch eine Verbindung zu den am Computer angeschlosse-nen Webcams her

Nach dem Start ist Uumlberwachen gewaumlhlt Durch Rechts-klick mit der Maus auf das Videofenster wird zu jeder Vi-deoquelle ein Kontextmenuuml angezeigt Wird kein Videobild dargestellt das Kontextmenuuml aufrufen Art der Videoquelle waumlhlen (hier USB) und unter den erkannten Videoquellen (hier USB-Videogeraumlt) die gewuumlnschte waumlhlen

Das Videoformat muss fuumlr eine passende Darstellung auf

der Laborseite auf 320 x 240 eingestellt sein Ist das nicht der Fall im Kontextmenuuml unter Video Format einstellen

In gleicher Weise kann eine zweite Videoquelle hinzugefuumlgt werden

In der Registerkarte Web Broadcast kann unter

Broadcast (HTTP) der Videoserver mit Ausschalten ge-stoppt und mit Aktivieren gestartet werden

Zur Zielwahl des Webservers (131246237167 - Internet D16W3X3J - Computer 127001 - Local Host) Videoser-ver stoppen und einstellen Videoserver wieder starten

62

454 Terminalprogramm Hyperterminal Hyperterminal in Windows XP Professional unter StartProgrammeZubehoumlrKommunikation aufrufen

Name der neuen Verbindung - z B Interface - eingeben

und OK waumlhlen Die Verbindung zwischen Computer und Interface wurde

uumlber einen USB-Seriell-Adapter hergestellt Dann erschei-nen zwei zusaumltzliche Eintraumlge (Motorola Comp Modem und COM5) in der Liste Prinzipiell muss eine COMx-Verbindung gewaumlhlt werden

Eigenschaften von COM 5 wie im Bild einstellen und OK

waumlhlen DateiEigenschaften aufrufen und ASCII-Konfiguration

waumlhlen

63

Haken bei Eingegebene Zeichen lokal ausgeben (lokales

Echo) setzen um eingegebenen Zeichen im Hyperterminal zu sehen

Bei funktionsfaumlhiger Verbindung erscheint nach Eingabe von Return die Befehlsliste des Interface

Durch Aufrufen von DateiSpeichern die erstellte Verbin-

dung z B auf dem Desktop speichern Dadurch braucht die Verbindung nicht immer wieder von neuem konfiguriert wer-den

Nach Aufrufen von DateiBeenden die bestehende Verbin-dung mit Ja beenden

64

Wurde ein falscher COM-Port gewaumlhlt reagiert das Inter-

face auf die Eingabe Return nicht Hyperterminal dann beenden

Der COM-Port kann dann nicht unter DateiEigenschaften im Hyperterminal aber unter Eigenschaften des Kontext-menuumls der Datei Interfaceht in der Registerkarte Verbin-den mit geaumlndert werden Dann OK waumlhlen und erneut Verbindung testen

65

455 Fernwartungssoftware TeamViewer 6 Host Auf der Webseite von Teamviewer GmbH unter Fuumlr unbeaufsichtigte Server TeamViewer Vollversion die Datei TeamViewer_Setup-wq herunterladen Das Programm muss auf dem RCL-Server und dem Computer der auf den RCL-Server zugreifen soll installiert werden Durch Doppelklick auf die Datei die Installation starten

Ausfuumlhren waumlhlen Weiter waumlhlen

Fuumlr die private nicht kommerzielle Nutzung ist Teamviewer kostenlos

privat nicht-kommerziell und Weiter waumlhlen

Beide Haumlkchen setzen und Weiter waumlhlen

66

Ja un Weiter waumlhlen Weiter

Computername und Kennwort fuumlr den Zugriff auf den RCL-Server oder den eigenen Computer vergeben Kenn wort notie-ren

Ein Teamviewerkonto ist nicht erforderlich Kann auch spaumlter noch eingerichtet werden

ID fuumlr den Computer auf dem das Programm installiert wird fuumlr Zugriff notieren

Das Programm wird gestartet Standardmaumlszligig vorein-gestellt ist der Start des Programms beim Start des Be-trienssystems

67

46 Selbstbau eines elementaren RCLs 461 Hard- und Software Auch ohne gleich ein vielleicht teures physikalisches Experiment zu steuern laumlsst sich mit wenigen Bauelementen ein elementares RCL realisieren Von einer Webseite im Internet sol-len eine Leuchtdiode (LED) ein- oder ausgeschaltet sowie der Zustand der Leuchtdiode und eines Tasters abgefragt werden An Hard- und Software werden benoumltigt

1 Low-Current-LED 5 mm 2 mA 1 Widerstand 18 kΩ 1 Taster und optional zwei 10-polige Wannenstecker mit ungefaumlhr 10 cm passendem Flachbandkabel und Buchsen

Interface in Basisschaltung Null-Modem-Kabel 12 V DC Steckernetzteil (larr 1)

Installierte Bascom-Demo-Version (larr 42)

AVR ISP-Programmer mit 10-poligem Programmierkabel

Installiertes und konfiguriertes AVR Studio 418 (larr 41)

Installiertes Paket XAMPP (larr 52)

Texteditor wie z B Notepad in Windows XP Professional

Konfigurierte Hyperterminalverbindung (larr 54)

462 Bestuumlckung der Platine Abb 29 zeigt zur Orientierung fuumlr das Einloumlten der Bauelemente die fertig bestuumlckte Platine des Interface

Abb 29 Mit elementarem RCL bestuumlckte Platine

des Interface

LED mit Vorwiderstand und der Taster sind rechts neben dem Mikrocontroller im Lochraster-bereich aufgebaut und uumlber Wannenstecker und Flachbandkabel mit dem Port A des Mikro-controllers verbunden (die drei Bauteile rechts neben dem ATmega16 werden nicht benouml-tigt) Tab 13 erlaumlutert die Schritte zur Bestuumlckung der Platine des Interface

68

Nr Schaltung Erlaumluterung

1

Die Leuchtdiode (LED) mit dem Pluspol (langes Beinchen) an PortA0 (PIN40 oben rechts) des Mikrocontrollers anloumlten

An das kurze Beinchen einen 18kΩ Widerstand loumlten dessen anderes Ende mit der Masse (GND) verbinden

2

Den Taster mit PortA1 (PIN39 = 2 Beinchen von oben rechts) und Masse (GND) verbinden

3

Draufsicht

Belegung des 10-poligen Wannensteckers 1 GND (Masse) im Foto oben links 2 +5 V 3 PortA0 4 PortA1 10 PortA7 im Foto unten rechts

Tab 13 Schritte zum Aufbau des elementaren RCLs

463 Lokal gesteuertes RCL Nachfolgend ist der Basic-Programmcode des Mikrocontrollers zur Steuerung und Abfrage der LED und des Tasters angegeben 01 $regfile = m16DEFdat Microcontroller ATmega16 02 $crystal = 11059200 110592MHz Quarz 03 $baud = 9600 Baudrate 04 05 ---[ Variables ]--------------------------------------------------------------- 06 Dim Rs232kommando As String 10 erst Befehlspuffer dann Kommando 07 Dim Parameter As String 10 Parameter 08 Dim Str_pos As Byte Position von Leerzeichen zur Trennung von Kommando und Pa-rameter 09 10 ---[ Initialisierung ]--------------------------------------------------------- 11 Ddra0 = 1 PortA0 als Ausgang fuumlr LED 12 Porta0 = 0 LED aus 13 Ddra1 = 0 PortA1 als Eingang fuumlr Taster 14 Porta1 = 1 Pull-Up aktivieren 15 16 ---[ Main program loop ]------------------------------------------------------- 17 Do Start der Endlos-Schleife 18 19 If Ischarwaiting() = 1 Then Zeichen uumlber RS232 empfangen 20 Input Rs232kommando neues Kommando lesen 21 Parameter = Parameter initialisieren 22 Str_pos = Instr(rs232kommando ) Leerzeichen im Kommando suchen 23 If Str_pos gt 0 Then falls Leerzeichen dann in Kommando+Parameter zerlegen 24 Incr Str_pos Str_pos soll jetzt auf 1Zeichen des Parameters zeigen 25 Parameter = Mid(rs232kommando Str_pos ) Parameter = Teilstring nach Leerzeichen 26 Parameter = Ucase(parameter) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 27 Str_pos = Str_pos - 2 Str_pos soll jetzt auf letztes Zeichen des Kommandos zeigen 28 Rs232kommando = Left(rs232kommando Str_pos)Kommando = Teilstring vor Leerzeichen 29 Rs232kommando = Ucase(rs232kommando) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 30 End If 31 32 Select Case Rs232kommando Eventhandler Interpretation der Kommandos 33 Case Print Hilfe Hilfeseite anzeigen 34 Print LED on - LED einschalten 35 Print LED off - LED ausschalten 36 Print LED - zeigt Status der LED an 37 Print SW - zeigt Status des Schalters an 38

1K8

LED rotmicroC PortA0(PIN40)

Taster

microC PortA1(PIN39)

1

3

2

69

39 Case LED If Parameter = ON Then LED schalten 40 Porta0 = 1 41 End If 42 If Parameter = OFF Then 43 Porta0 = 0 44 End If 45 46 Case LED If Porta0 = 0 Then Status der LED ausgeben 47 Print LED aus 48 Else 49 Print LED an 50 End If 51 52 Case SW If Pina1 = 1 Then Status des Schalters ausgeben 53 Print Taster offen 54 Else 55 Print Taster geschlossen 56 End If 57 58 Case Else Print gt Rs232kommando lt ungueltiger Befehl - weitere Infos mit Info bei unguumlltigen Eingaben 59 End Select 60 61 End If 62 63 Loop Endlos-Schleife Springe zu Do 64 65 End wird nie erreicht

Der erste Teil des Programms (Zeilen 1 - 15) enthaumllt die Systemparameter Variablen und Initialisierung der Ein- und Ausgaumlnge Der zweite Teil enthaumllt ab Zeile 17 das Hauptpro-gramm in dem Benutzereingaben uumlber die serielle Schnittstelle empfangen interpretiert und in entsprechende Anweisungen umgesetzt werden Tab 14 erlaumlutert den Programmcode de-taillierter

Zeilen Erlaumluterung

1 - 3 Diese Angaben teilen dem Compiler (Bascom) mit welcher Prozessor eingesetzt wird wie schnell dieser getaktet (Quarz) ist und mit welcher Uumlbertragungsgeschwindigkeit die Kommunikation uumlber die serielle Schnittstelle (RS232) mit dem PC erfolgen soll

6 - 8 Es werden drei Variablen genutzt Die Eingabe uumlber die serielle Schnittstelle wird in rs232kommando gespeichert Es wird ein Text der Form Kommando ltLeerzeichengt Parameter erwartet so dass die Variable Parameter den-selbigen aufnimmt Die Variable str_pos wird fuumlr die Trennung von Kommando und Parameter benoumltigt

11 - 14

Mit dem Befehl ddrPX (ddr = data direction) wird festgelegt ob ein Beinchen als Ausgang (=1) oder als Eingang (=0) arbeiten soll Der ATmega16 besitzt 32 Ein-Ausgaumlnge die in vier Ports (P=AD) zu je 8 Pins (X=07) unterteilt sind ddrA0 = 1 legt also das 1 Beinchen (Pin 0) von PortA als Ausgang (=1) fest Mit dem Befehl PortA0 =1 kann dieser Pin dann durch Zuweisen von 1 oder 0 an- bzw ausgeschaltet werden Im Datenblatt erfahren Sie welches der 40 Beinchen des Mikrocontrollers wie bezeichnet wird (Pin-Belegung) Wird ein Beinchen als Eingang verwendet (ddrA1 = 0) koumlnnen Sie optional einen so genannten Pull-Up-Widerstand aktivieren (PortA1=1) oder deaktivieren (PortA1=0) Auch hierzu sollten Sie sich unbedingt mit dem Datenblatt vertraut machen

17 63 Das Hauptprogramm besteht aus einer Endlosschleife d h der Mikrocontroller verrichtet ununterbrochen seinen Job so lange er mit Strom versorgt wird

19 - 30 Falls ein Zeichen uumlber die serielle Schnittstelle empfangen wurde wird dieses und alle folgenden gelesen Anschlie-szligend wird gepruumlft ob der empfangene Text von der Form Kommando ltLeerzeichengt Parameter ist so dass er ge-gebenenfalls in ein Kommando und einen Parameter zerlegt werden kann

32 - 59 Dieser Abschnitt wird mit Event-Handler bezeichnet Hier wird auf die Kommandos (Events) reagiert und die ent-sprechenden Schritte ausgefuumlhrt zB schalten LED je nach Wert der Variablen Parameter an- bzw ausschalten

46 52

In beiden Zeilen wird ein Wert eines Ports abgefragt Unterschiedlich ist dass in Zeile 46 der Status eines Ausgangs abgefragt wird (porta0) und in Zeile 52 der Zustand eines Eingangs (pina0) Die Anweisung IF porta0 = 0 THEN pruumlft (hier ist = ein Vergleich und KEINE Zuweisung) ob zuletzt die LED ausgeschaltet (Zuweisung porta0 = 0) wurde Die Anweisung IF pina1= 1 THEN liest den Status eines Eingangs Hier kann festgestellt werden ob der Eingang uumlber den internen Pull-UP-Widerstand auf +5V liegt (pina1 liefert 1) oder ob der Schalter den Eingang mit Masse (0V) verbindet (pina1 liefert 0)

Tab 14 Erlaumluterung des Mikrocontroller-Programmcodes fuumlr elementares RCL

70

In Bascom AVR eine neue Datei erzeugen (FileNew) den Programmcode ohne Kommenta-re eingeben und mit ProgramCompile (F7) eine Hexadezimaldatei erzeugen Die Hexadezi-maldatei mit dem AVR-Studio und dem AVR-ISP-Programmer in den Mikrocontroller schrei-ben (larr 222 Programmuumlbertragung) Nach dem Verbinden von Computer und Interface per Null-Modem-Kabel kann durch Eingabe von in das konfigurierte Hyperterminal die Befehls-liste in Abb 30 aufgerufen werden

Abb 30 Aufgerufene Befehlsliste im Hyperterminal

Durch Eingabe von LED on oder LED off kann die LED ein- und ausgeschaltet LED zeigt den Status der LED und sw den Status des Tasters an Alternativ zum Hyperterminal kann auch das Terminal in BASCOM unter ToolsTerminal Emulator verwendet werden (larr 422)

464 Ferngesteuertes RCL Zum Ansteuern des Interfaces und zum Bedienen des Versuchsaufbaus uumlber das Internet wird eine Webseite benoumltigt die dem Benutzer alle Bedienelemente des Experiments zur Verfuumlgung stellt

Der Benutzer benoumltigt anklickbare Buttons im Webbrowser

Der Webserver muss die Information welcher Button gedruumlckt wurde empfangen und ein entsprechendes Kommando uumlber die serielle Schnittstelle an das Interface senden

Beide Schritte sind im nachfolgenden PHPHTML-Quellcode zusammengefasst 01 ltDOCTYPE HTML PUBLIC -W3CDTD HTML 401 TransitionalEN httpwwww3orgTRhtml4loosedtdgt 02 lthtmlgt 03 ltheadgt 04 ltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1gt 05 lttitlegtelementares RCLlttitlegt 06 ltheadgt 07 08 ltbodygt 09 ltphp 10 if (isset($_POST[Kommando])) wurde bereits Kommando gesendet 11 if( ( $handle = fopen( COM1 w+ ) ) ) Schnittstelle oumlffnen 12

71

13 throw new Exception( Can not access serial port 2 ) ohne Erfolg 14 15 fwrite( $handle $_POST[Kommando] chr( 13 ) ) Befehl an Interface senden 16 switch ( $_POST[Kommando] ) Antwort von Interface auswerten 17 case LED $tmp = fgets( $handle ) Echo von Interface ignorieren 18 $antwort = fgets( $handle ) Antwort des Interfaces 19 echo Antwort $antwort Ausgabe auf Webseite 20 break switch verlassen 21 22 case SW $tmp = fgets( $handle ) Echo von Interface ignorieren 23 $antwort = fgets( $handle ) Antwort des Interfaces 24 echo Antwort $antwort Ausgabe auf Webseite 25 break switch verlassen 26 27 28 29 fclose( $handle ) Schnittstelle schlieszligen 30 31 else 32 `mode com1 BAUD=9600 PARITY=N data=8 stop=1 xon=off` Schnittstellenparameter setzen 33 34 35 gt 36 37 lth3gtBefehl sendenlth3gt 38 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 39 ltinput type=hidden name=Kommando value=LED ON gt 40 ltinput type=submit value=LED anschalten gt 41 ltformgt 42 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 43 ltinput type=hidden name=Kommando value=LED OFF gt 44 ltinput type=submit value=LED ausschalten gt 45 ltformgt 46 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 47 ltinput type=hidden name=Kommando value=LED gt 48 ltinput type=submit value=LED abfragen gt 49 ltformgt 50 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 51 ltinput type=hidden name=Kommando value=SW gt 52 ltinput type=submit value=Taster abfragen gt 53 ltformgt 54 ltbodygt 55 lthtmlgt Den Quellcode in den Texteditor kopieren und im Ordner htdocs von XAMPP z B unter rclphp speichern HTML-Dateien mit PHP-Code (Zeilen 9-35) muumlssen mit der Erweiterung php gespeichert werden damit der Apache Webserver zwischen HTML-Seiten mit und ohne PHP-Code unterscheiden kann Den installierten Apache Webserver starten (larr 452) und im Adressfeld des Webbrowsers die IP-Adresse http127001rclphp aufrufen Das Bedi-enfeld des elementaren RCLs in Abb 31 wird im Browserfenster angezeigt

72

Abb 31 Laborseite des elementaren RCLs

Im Bedienfeld kann die LED an- und ausgeschaltet sowie der Status von LED und Taster abgefragt werden

  • 0 Warum ein Tutorial zur RCL-Technik
  • 1 Technische Konzeption
    • 11 Einfuumlhrung
    • 12 Wahl der RCL-Technik
      • 2 Lokal gesteuertes RCL
        • 21 Interface
          • 211 Mikrocontroller
          • 212 Basisschaltung und Erweiterungsschaltungen
          • 213 Programmierung des Mikrocontrollers
            • 22 Hyperterminal
            • 23 Positionieren von Objekten
              • 231 Hybrid-Schrittmotoren
              • 232 Schrittmotorsteuerung und Positionierungsmechanik
                  • 3 Ferngesteuertes RCL
                    • 31 RCL-Server
                    • 32 Laborseite
                      • 321 Steuerung des RCLs uumlber das Bedienfeld
                      • 322 Videouumlbertragung im Webcamfeld
                        • 33 Standard-Lernumgebung
                          • 4 ANHANG
                            • 41 Interface in Basisschaltung
                              • 411 Schaltplan und Bauteilliste
                              • 412 Bestuumlckung der Platine
                                • 42 Erweiterungsschaltungen
                                  • 421 Uumlbersicht
                                  • 422 TMC222-Modul zur Schrittmotorsteuerung
                                    • 4221 Schaltplan und Bauteilliste
                                    • 4222 Bestuumlckung der Platine
                                    • 4223 Quellcode des Mikrocontroller-Programms
                                      • 423 Geschaltete Spannungsquellen und Verbraucher
                                      • 424 Steuerung von Gleichstrommotoren
                                        • 43 Quellcodes zum RCL Elektronenbeugung
                                          • 431 Mikrocontroller-Programmierung
                                          • 432 PHP-Programmierung
                                          • 433 Bedienfeld der Laborseite
                                          • 434 Webcamfeld der Laborseite
                                            • 44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung
                                              • 441 AVR-Studio 418
                                                • 4411 Installation
                                                • 4412 Konfiguration
                                                  • 442 BASCOM 11198 Demoversion
                                                    • 4421 Installation
                                                    • 4422 Konfiguration
                                                        • 45 Installation und Konfiguration von Programmen auf dem RCL-Server
                                                          • 451 Einrichten des Internet-Zugangs
                                                          • 452 Paket XAMPP 174
                                                          • 453 Videoserver webcamXP 5 Private
                                                          • 454 Terminalprogramm Hyperterminal
                                                          • 455 Fernwartungssoftware TeamViewer 6 Host
                                                            • 46 Selbstbau eines elementaren RCLs
                                                              • 461 Hard- und Software
                                                              • 462 Bestuumlckung der Platine
                                                              • 463 Lokal gesteuertes RCL
                                                              • 464 Ferngesteuertes RCL

32

Im Ordner docsmaterial werden alle Dokumente fuumlr die Webseite Material im Ordner docsothers die Dokumente anderer Webseiten abgelegt Im Ordner docsoriginals sind die Originale von Dokumenten wie z B Word-Dateien und der verwendeten Bilder abgelegt Grafikdateien der Webseiten Einstieg hellip Auswertung hellip Betreuung werden in gleichnami-gen Ordnern wie z B imagesanalysis abgelegt Bei sprachenunabhaumlngigen Grafikdateien wird unter dem Dateinamen abbx bei sprachenabhaumlngigen unter dem Dateinamen abbx_lan mit lan = eng fra ger und ita gespeichert Analoges gilt fuumlr die als gif-Grafiken forxgif oder forx_langif zu speichernden Formeln Originale von Bildern werden im Ordner imagesoriginals abgelegt Die Webseite zur Datei htdocsindexhtm enthaumllt zum lokalen Aufrufen der Standard-Lernumgebung Links zu den vier Index-Dateien in den Ordnern eng fra ger und ita Die Stylesheet-Datei htdocsrcl_stylecss enthaumllt die Styles der Webseiten

In der Regel werden Standard-Lernumgebungen der RCLs des RCL-Portals von verschiede-nen Personen erstellt Fehlende Gestaltungs- und Formatierungsregeln fuumlhren zu einem un-einheitlichen inattraktivem Erscheinungsbild des RCL-Portals Tab 6 gibt einen Uumlberblick der wichtigsten Gestaltungs- und Formatierungsregeln

Element Richtlinien

Gliederung

Die Webseiten Einstieg Aufbau Aufgaben Diskussion Material und Support enthalten vorgegebene Gliederungspunkte teilweise mit ausgefuumlhrten Uumlberschriften

Die umfangreicheren Webseiten Theorie und Auswertung enthalten ein Inhaltsverzeichnis mit internen Links zu Gliederungspunkten Zwischen Punkten der ersten Gliederungsebene (1 2 hellip) ist ein zwei-zeiliger Abstand (ltpgtampnbspltpgtltpgtampnbspltpgt) zwischen Punkten der zweiten (11 12 hellip) und Punkten der nur falls unbedingt notwendig dritten 111 112 hellip) Gliederungsebene ein einzeiliger Abstand zu waumlhlen Nach Abbildungen und Tabellen folgt ein einzeiliger Abstand zum nachfolgenden Text

Links Keine internen Links zwischen den Webseiten der Lernumgebung Externe Links werden prinzipiell in einem neuen Browserfenster geoumlffnet (blank)

Abbildung

Alle Abbildungen erhalten fortlaufend beginnend mit 1 nummerierte Abbildungsunterschriften der Form Abb x hellip

Abbildungen sind moumlglichst spachenunabhaumlngig d h ohne Texte in der Abbildung zu erstellen Zur Beschriftung koumlnnen z B Zahlen verwendet werden die in der Abbildungsunterschrift oder im Text er-laumlutert werden

Tabellen Tabellen werden in jeder Webseite fortlaufend beginnend mit 1 nummeriert Tabellen sind zu zentrieren Rahmenstaumlrke 1

Formeln

Formeln sind nicht als Textzeichen oder Grafik im laufenden Text einzufuumlgen sondern stets zentriert in einer eigenen Zeile als gif-Grafik

Zum Erstellen der Formel-Grafiken eignet sich z B der Formel-Editor MathType15 mit der Aufloumlsungs-Einstellung 120 dpi fuumlr InternetGif

Formeln brauchen im Rahmen des begrenzten Umfangs der Webseiten nicht nummeriert zu werden Groumlszligen-symbole

Griechische Groumlszligensymbole und mathematische Symbole sind nicht als Grafiken im laufenden Text sondern als HTML-Code einzufuumlgen Eine Zeichenreferenz findet sich bei Selfhtml16

Styles Zur Formatierung der Webseiten werden aus der Stylesheet-Datei nur die drei Styles Uumlberschrift fuumlr

die Uumlberschriften Bildunterschrift fuumlr Abbildungs- und Tabellenunterschriften und Tabellentext fuumlr Tex-te in Tabellen benoumltigt

Tab 6 Richtlinien zur Gestaltung und Formatierung der Standard-Lernumgebung

Detailliertere Informationen zum Layout der Standard-Lernumgebung koumlnnen dem RCL-Ordner und dem Erscheinungsbild der Webseiten von RCLs in Browsern entnommen wer-den

15 Vgl Design Science MathType 16 Vgl Selfhtml HTML-Zeichreferenz

33

4 ANHANG

34

41 Interface in Basisschaltung 411 Schaltplan und Bauteilliste Abb 19 zeigt den Schaltplan der Basisschaltung des Interface und Tab 7 die dazugehoumlrige Bauteilliste

Abb 19 Basisschaltung des Interface

Nr Anzahl Kurzbeschreibung des Bauteils Best-Nr bei Reichelt electronic

Einzelpreis in euro

0 1 Epoxyd-Platine (190x112 mm) mit Anteil Loumltpunktraster (Spezi-

alanfertigung) - asymp 10

1 1

Epoxyd-Fotoplatine einseitig 160x100 mm 15 mm 35 microm Epoxyd-Lochrasterplatine 160x100 mm 15 mm 35 microm

BEL 160x100-1 UP 832EP

170 420

1 1 Hohlstecker-Einbaubuchse gewinkelt Loumltfahnen 21 mm HEBW 21 018 2 1 D-SUB-Stecker 9-polig gewinkelt RM 94 D-SUB ST 09EU 029 3 1 Schottky Diode DO41 40 V 1 A SB 140 008 4 1 Draht von abgeschnittenem Beinchen aus Pos-Nr 3 - - 5 1 IC-Sockel 16-polig superflach gedreht vergoldet GS 16P 029 6 1 IC-Sockel 40-polig superflach gedreht vergoldet GS 40P 061 7 1 2x10-pol-Stiftleiste gerade RM 254 SL 2X10G 254 007 8 1 Metallschichtwiderstand 100 kΩ Metall 100k 0082 9 1 Elektrolytkondensator 10x16 mm 470 microF RM 50 mm RAD 47025 006 10 1 Elektrolytkondensator 63x11 mm 100 microF RM 25 mm RAD 10016 004 11 5 Elektrolytkondensator 5x11 mm 10 microF RM 20 mm RAD 1035 004 12 2 Keramik-Kondensator 33 pF Kerko 33p 006 13 3 Vielschicht-Keramikkondensator 100 nF 20 Z5U-25 100n 004

35

14 1 Standardquarz Grundton 110592 MHz 110592-HC49U-S 018 15 1 Spannungsregler 1 A positiv TO-220 microA 7805 028 16 1 Kuumlhlkoumlrper fuumlr Gehaumluse TO-220 99KW V FI356 066 17 1 Zylinderkopfschraube Schlitz M3 10 mm fuumlr Kuumlhlkoumlrper M3x10mm 160 18 2 Sechskantmutter M3 fuumlr Kuumlhlkoumlrper SK M3 001 19 1 Stecker-Schaltnetzteil 12 V 2250 mA MW 3IP25GS 1150 20 1 RS232-Driver DIL-16 MAX 232 CPE 041 21 1 ATmega AVR-RISC-Controller DIL-40 ATmega16-16 DIP 420 22 3 10-poliger Wannenstecker RM 254 stehend (optional) WSL 10G 009 23 1 14-poliger Wannenstecker RM 254 stehend (optional) WSL 14G 014 24 1 40-polige Stiftleiste 1-reihig gerade RM254 (optional) SL 1x40G 254 023 25 1 Kunststoffgehaumluse 1982x1124x760 mm (Serientyp 202) - asymp 10 euro 26 1 D-SUB Nullmodem-Kabel 9-pol BUBU 3 m AK 143 155 27 x DIN-Einbaubuchse 5-pol Schraubver 360deg (optional) DIO-50W EMS 185 28 x DIN-Einbaubuchse 8-polig Schraubversch 270deg (optional) DIO-80SN EMS 180 29 x Pfostenstecker 10-polig mit Verrieglung gew (optional) PSL 10W 028 30 x Klemmleiste RM 254 Oumlffnungshebel 8-polig (optional) Wago 233 220

Tab 7 Bauteilliste mit Bestellnummer und Einzelpreisen der Bauelemente bei Reichelt electronic (Stand 23102010)

Anhand der Bauteilliste in koumlnnen die elektronischen Bauelemente der Basisschaltung (larr Tab 7 Nr 0 ndash 21 optional Nr 22 - 24) bei Reichelt electronic bestellt werden Das Gehaumluse des Interface (larr Tab 7 Nr 25) sollte vom Hersteller HAGOTECH GmbH bezogen werden Weiterhin wird ein Nullmodemkabel (larr Tab 7 Nr 26) zur Verbindung des Interface mit dem Computer benoumltigt Sensoren und Aktoren des Experiments koumlnnen mit optionalen Steck-verbindern (larr Tab 7 Nr 27 - 30) und entsprechende Kabelverbindungen an das Interface angeschlossen werden Die Nummern 0 - 25 stimmen mit der angegebenen Bestuumlckungs-reihenfolge auf der Platine uumlberein Das Interface kostet in der Basisschaltung ca 50 euro

412 Bestuumlckung der Platine Abb 20 zeigt zur Bestuumlckung der Platine benoumltigte Werkzeuge

Abb 20 Werkzeuge zur Bestuumlckung der Platine des Interface

36

Loumltkolben mit feiner Spitze in Meisselform 2 mm oder Loumltstation (1) Loumltzinnabsauger zum Entfernen von Loumltzinn (2) Nasser Schwamm zum Reinigen der Spitze des Loumltkolbens (3) Loumltzinn mit Durchmesser 08 - 10 mm (4) Flachspitzzange zum Biegen von Anschluumlssen der Bauelemente (5) Seitenschneider zum Kuumlrzen der Beinchen von Bauelementen (6) Multimeter zum Pruumlfen der Funktionsfaumlhigkeit der Schaltung (7) Sekundenkleber zur Befestigung von Bauelementen Kleine Bohrmaschine z B von Dremel und 08 mm Bohrer oder duumlnne Rundfeile zum

Weiten von Loumlchern auf der Platine des Interface

Abb 21 zeigt die Platine des Interface von der Loumltseite in der Spezialanfertigung der Elekt-ronik-Werkstatt an der Technischen Universitaumlt Kaiserslautern und in der Selbstbauvariante (larr Tab 7 Nr 0) Abb 22 zeigt das Platinenlayout

Abb 21 Platine des Interface von der Loumltseite als Spezialanfertigung (links) und der Selbstbauvariante

(rechts)

Abb 22 Layout zur Herstellung des geaumltzten Teils der

Platine in der Selbstbauvariante

37

In der Selbstbauvariante kann anhand des Platinenlayouts eine selbst geaumltzte Platine fuumlr die Basisschaltung auf einer Platine im Europakartenformat hergestellt und diese in der Laumlnge gekuumlrzt werden Eine gekuumlrzte Lochrasterplatine bildet den zweiten Teil der Platine Mit den optionalen vier Wannensteckern (larr Tab 7 Nr 22 - 23) oder den vier Stiftleisten (larr Tab 7 Nr 24) an den Ports des Mikrocontrollers koumlnnen leicht elektrische Verbindungen zum Rasterteil der Platine herstellt werden Abb 23 zeigt die fertig bestuumlckte Platine mit den Nummern aus Tab 7

Abb 23 Bestuumlckte Platine des Interface mit nummerierten Bauelementen

Tab 8 beschreibt das Einloumlten der elektronischen Bauelemente anhand der Nummern aus Tab 7 und in der angegebenen Reihenfolge

Nr Bauelement Beschreibung des Einbaus

0 Spezialanfertigung und Selbst-bauvariante der Epoxydharz-

Platine

1

Stromversorgungsbuchse ndash Hohlstecker 21 mm

Wenn die Loumltbeine nicht durch die Loumlcher der Platine passen die Loumlcher mit einer runden Schluumlsselfeile aufweiten

Stromversorgungsbuchse mit Sekundenkleber vor dem Festloumlten auf der Pla-tine fixieren da diese mechanischen Belastungen durch das Einstecken und Herausziehen des 12 V -Steckers ausgesetzt ist

Wahlweise kann die 25 mm-Version der Buchse verwendet werden

2

RS232 Datenstecker

RS232 Datenstecker mit Sekundenkleber vor dem Festloumlten auf der Platine fixieren da dieser mechanischen Belastungen durch das Einstecken und Herausziehen des Null-Modem-Kabels ausgesetzt ist

Alle Beinchen und Befestigungsstifte zur houmlheren Stabilitaumlt anloumlten

3

Ein Ring an einer Seite der Diode (hier links weiszlig) zeigt die Durchlass- bzw Sperrrichtung der Diode an Die Position des Ringes entspricht der Position des Balkens im Schaltungssymbol

38

Diode ndash SB140 Auf der Platine muss der Ring auf der von der Stromversorgungsbuchse ab-

gewandten Seite liegen

4 Drahtbruumlcke

Vor dem Einloumlten des 40-poligen IC-Sockels (Nr 5) muss eine Drahtbruumlcke unter diesem eingeloumltet werden Dazu koumlnnen die abgeschnittenen Beinchen der bereits eingeloumlteten Diode (Nr 3) verwendet werden

5 6

IC-Fassungen

Die 16-polige und 40-polige IC-Fassungen besitzen eventuell eine Markie-rung fuumlr Pin1 (z B Kerbe in der Stirnseite Punkt Pfeilhellip) als Hilfe fuumlr das richtige Einstecken der ICs Die Markierungen muumlssen bei beiden Fassungen nach oben also zum naumlchstliegenden Rand der Platine zeigen

Die ICs unbedingt noch nicht einstecken

7

ISP-Stiftleiste

Die doppelreihige ISP-Stiftleiste dient der Programmierung des Mikrocontrol-lers mit dem AVR-ISP-Programmer (ISP steht fuumlr In System Programming)

ISP-Stiftleiste auf 2 x 5 Stifte kuumlrzen und mit den kurzen Beinchen einloumlten so dass auf die langen Stifte der AVR-ISP-Programmer gesteckt werden kann

8

Widerstand 100 kΩ

Den 100 kΩ-Widerstand rechts neben der ISP-Stiftleiste einloumlten

9

10

11

Elkos

Bei den verwendeten Elektrolyt-Kondensatoren ist die Polung zu beachten (langes Beinchen = Plus-Pol) Weiterhin ist auf den Kondensatoren ein wei-szliger Streifen mit Minus-Zeichen aufgedruckt Die Kondensatoren sollten eine Spannungsfestigkeit von mindestens 16 V besser 25V besitzen

Auf der Kupferseite der Platine zeigt die Form der Loumltaugen die Polung an Rundes Loumltauge = Plus quadratisches Loumltauge = Minus

Der 470 microF Kondensator wird mit dem weiszligen Streifen in Richtung Stromver-sorgungsbuchse direkt unter diese montiert

Der 100 microF Kondensator sitzt direkt unter der 16-poligen IC-Fassung Sein weiszliger Streifen (Minus-Pol) zeigt in Richtung der Stromversorgungsbuchse

Vier der 10 microF Kondensatoren werden links neben der 16-poligen IC-Fassung montiert Deren Polung ist wie folgt Unterster Kondensator Minus nach oben naumlchster Kondensator Minus nach unten die beiden oberen Kondensatoren mit Minus nach oben

Ein weiterer 10 microF Kondensator wird rechts neben die 16-polige IC-Fassung geloumltet Sein Minus-Streifen zeigt nach unten

12

13

Keramik-Kondensatoren

Die Beschriftung 104 bedeutet 10e4 pF = 100 nF Die beiden 33 pF-Kerkos (Keramik-Kondensatoren) werden direkt nebenei-

nander rechts neben die 16-polige IC-Fassung geloumltet Zwei 100 nF-Kondensatoren werden unter dem 470 microF-Elko eingeloumltet ein

weiterer mittig an der linken Seite der 40-poligen IC-Fassung

14

Quarz

Als Quarz wird ein 110592 MHz-Typ verwendet Bei dieser Frequenz ist eine fehlerfreie Kommunikation uumlber RS232 mit 9600 Baud moumlglich Fuumlr den AT-mega16 koumlnnen Quarze bis 16 MHz eingesetzt werden Details siehe Daten-blatt

Der Quarz wird direkt rechts neben die beiden 33 pF-Kerkos geloumltet Die Ori-entierung des Quarz spielt keine Rolle

15

16

17

18

Der Spannungsregler L7805 erzeugt eine stabilisierte Spannung von 5 V Es muss ein Kuumlhlkoumlrper zur Waumlrmeabfuhr vom Spannungsregler verwendet werden

Vor dem Einloumlten zwischen Spannungsregler und Kuumlhlkoumlrper etwas Waumlrme-leitpaste aufgetragen Beide Bauteile fest mit einer Schraube M3x10 und ei-ner 1 Mutter verschrauben

Dann den Spannungsregler einloumlten um 90deg abzubiegen das uumlberstehende Gewinde durch das vorgesehene Loch stecken und alles mit einer 2 Mutter auf der Platine befestigen

1 Mutter

2 Mutter

Schr

aube

L7805

Platine

KuumlhlkoumlrperWaumlrmeleitpaste

Beinchen

Loumlten

39

Spannungsregler L7805 Kuumlhl-koumlrper und Montage

19

Steckernetzteil

Funktionskontrolle vor dem Einsetzen des Mikrocontrollers Polung der Elektrolyt-Kondensatoren (Elkos) pruumlfen Sind alle Beinchen angeloumltet Hat das Loumltzinn an den Beinchen und der Pla-

tine guten Kontakt Sind eventuell zwei benachbarte Beinchen unbeabsichtigt durch Loumltzinn verbunden Alle Loumltverbindungen nochmals genau z B mit ei-ner Lupe pruumlfen

Probeweise das Stecker-Netzteil an die Buchse anschlieszligen Am 100 nF-Kondensator links mittig der 40-poligen IC-Fassung muumlssen 5 V anliegen

Versorgungsspannung unbedingt wieder von der Platine trennen

20

21

ICs MAX232 und ATmega16

Die Nuten auf den ICs am linken Rand muumlssen nach oben zeigen d h Pin1 ist bei beiden ICs in der Abbildung links unten und auf der Platine oben links

Manchmal passen die Beinchen der ICs nicht in die Fassung weil die Fas-sung scheinbar zu schmal ist Dann den IC seitlich mit einer Beinchen-Reihe flach auf den Tisch legen den IC-Koumlrper links und rechts greifen und Bein-chen durch leichten Druck biegen Einzelne verbogene Beinchen vorsichtig mit einer kleinen Flachzange richten

22

23

Wannenstecker 10- und 14-polig

Wannenstecker an den vorgesehe-nen Stellen mit der Nut gegen Ver-polung in Richtung des naumlherliegen-den Platinenrands einloumlten

Die Abbildung rechts zeigt die Pin-Belegung der Wannenstecker

24

Stiftleiste 8-polig 40-pol Stiftleiste in 4 jeweils 8-polige Stuumlcke zerteilen und einloumlten

25

Kunststoffgehaumluse

In der Selbstbauvariante der Platine (Nr 0) vor dem Einsetzten der Platine in das Gehaumluse passend positionierte Kunststoffstege am Gehaumluseboden fest-kleben

Tab 8 Bestuumlckung der Platine des Interface mit Bauelementen

42 Erweiterungsschaltungen 421 Uumlbersicht In Tab 3 sind von RCLs des RCL-Portals Sensoren und Aktoren mit den dazugehoumlrigen Er-weiterungsschaltungen zusammengestellt Da alle RCLs obligatorisch uumlber mindestens eine Webcam verfuumlgen sind diese unter den Sensoren nicht aufgefuumlhrt Die wenigen Erweite-rungsschaltungen fuumlr Sensoren sind unter Sensoren in Klammern aufgelistet Unter Aktoren werden auszliger elektro-mechanischen Wandlern auch gesteuerte Geraumlte oder Bauelemente verstanden Anzeigeinstrumente sind unter Aktoren nur aufgefuumlhrt wenn sie direkt vom In-terface gesteuert werden Mit gekennzeichnete Erweiterungsschaltungen befinden sich au-szligerhalb des Interface

40

RCL Sensoren Aktoren Erweiterungsschaltungen fuumlr Aktoren

Beugung und Interferenz I Referenz-Taster

Schrittmotor (Rotation) Schrittmotorsteuerung Laser-Modul Geschaltete Spannungsversorgung

Beugung und Interferenz II

4 Referenz-Taster Lichtsensor

4 Schrittmotoren (Translation) 4 Schrittmotorsteuerungen 5 Laser-Module Geschaltete Spannungsversorgung LED fuumlr Position des

Lichtsensors Geschaltete Spannungsversorgung

LED fuumlr Linealbeleuchtung Geschaltete Spannungsversorgung

Elektronen-beugung

Hochspannungsnetzgeraumlt Geschaltete Spannungsversorgung Hochspannungsnetzgeraumlt Steuerung der Hochspannung

Fotoeffekt 2 Referenz-Taster Photozelle

2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen

Quecksilberdampflampe Geschaltete Spannungsversorgung

der Drossel fuumlr Quecksilberdampf-lampe

Halbleiter-kennlinien

und Halbleiterkennli-nien - Schuumller-

projekt

Referenz-Taster

Schrittmotor (Rotation) Schrittmotorsteuerung Oszilloskop Geschaltete Spannungsversorgung

Oszilloskop Instrumentenverstaumlrker fuumlr X- und Y-Ablenkung

Multimeter Steuerung Spannungs- oder Strom-anzeige

Heiszliger Draht 4 Endtaster 4 Drehgeber Kurzschlusssensor

4 Gleichstrommotoren 4 Treiber

Zweifarbige LED Steuerung der LED-Farbe

Lichtgeschwin-digkeit

Drehimpulsgeber 2 Taster an Enden

der Eisenbahnstre-cke

2 Schrittmotoren 2 Schrittmotorsteuerungen Oszilloskop Geschaltete Spannungsversorgung

Motor der Lokomotive Steuerung des Ein- und Ausschal-tens und der Bewegungsrichtung

Maut Infrarot-Sensor Gleichstrommotor Geschaltete Spannungsquelle 2 IR-Fernbedienungen Spannungsregler 2-stellige 7-Segmentanzeige LED-Treiber

Millikan-Versuch 2 Referenz-Taster

2 Schrittmotoren 2 Schrittmotorsteuerungen Lichtquelle (LED) fuumlr Millikan-

Kondensator Geschaltete Spannungsversorgung

Airbrush-Kompressor Geschaltete Spannungsversorgung Magnetventil Geschaltete Spannungsversorgung Millikan-Kondensator Gesteuertes Hochspannungsmodul

Optische Com-putertomogra-

phie

2 Referenz-Taster 2 Lichtsensoren

Schrittmotor (Rotation) Schrittmotorsteuerung Schrittmotor (Translation) Schrittmotorsteuerung

2 Laser-Module 2 geschaltete Spannungsversor-gungen

Optische Fou-rier-

Transformation 2 Referenz-Taster

2 Schrittmotoren (Translation) 2 Schrittmotorsteuerungen

Laser-Modul Geschaltete Spannungsversorgung

Oszilloskop Oszilloskop Geschaltete Spannungsversorgung Signalgenerator Steuerung der Signalart

Radioaktivitaumlt 4 Referenz-Taster Geiger-Muumlller-

Zaumlhlrohr

2 Schrittmotoren (Translation) 2 Schrittmotorsteuerungen 2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen 4-stellige 7-Segment-Anzeige Treiber Elektromagnet Geschaltete Spannungsversorgung

Roboter im Labyrinth Infrarot-Sensor

2 Schrittmotoren 2 Schrittmotorsteuerung Infrarot-Sender Treiber

Rutherfordscher Streuversuch

2 Referenz-Taster Halbleiterdetektor

(Impulsformer)

2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen

4-stellige 7-Segment-Anzeige Treiber

Weltpendel

Referenz-Taster Lichtsensor der

Lichtschranke (Im-pulsformer)

Temperatursensor

Schrittmotor (Translation) Schrittmotorsteuerung Elektromagnet Geschaltete Spannungsversorgung

Laser der Lichtschranke Geschaltete Spannungsversorgung

Windkanal Referenz-Taster Schrittmotor (Translation) Schrittmotorsteuerung

41

Dehnungsmess-streifen (Wheat-stonesche Bruumlcke Messverstaumlrker Multimeter)

Geblaumlsemotor Geschaltete Spannungsversorgung

und Ansteuerung mit Pulsweiten-modulation

Anemometer Geschaltete Spannungsversorgung Multimeter Geschaltete Spannungsversorgung

Tab 9 Sensoren Aktoren und Erweiterungsschaltungen der RCLs des RCL-Portals

422 TMC222-Modul zur Schrittmotorsteuerung 4221 Schaltplan und Bauteilliste Abb 1 zeigt die Beschaltung des TMC222 von Trinamic auf dem TMC222-Modul

Abb 24 Beschaltung des TMC222 von Trinamic

Anhand der Bauteilliste in Tab 10 koumlnnen die elektronischen Bauelemente des TMC222-Moduls bei Reichelt electronic bestellt werden Ein TMC222-Modul kostet ungefaumlhr 10 euro

Nr Anzahl Kurzbeschreibung des Bauteils Best-Nr bei Reichelt electronic

Einzelpreis in euro

0 1 Epoxyd-Fotoplatine einseitig 75x100 mm 15 mm 35 microm BEL75X100-1 096 1 1 Integrierter TMC-Schrittmotor-Controller TMC 222 SI asymp 7 2 1 Elektrolytkondensator 8x11 mm Rm 35 mm 100 microF35 V RAD 10035 004 3 1 Tantal-Kondensator Rm 25 10 microF35 V Tantal 1035 014 4 2 Vielschicht-Keramikkondensator 220 nF 20 Z5U-25 220N 011 5 3 Vielschicht-Keramikkondensator 100 nF 20 Z5U-25 100N 004 6 2 Metallschichtwiderstand 100 kΩ Metall 100K 0082 7 1 1x36pol Stiftleiste gewinkelt Rm 254 SL 1X36W 027 8 1 1x36pol Buchsenleiste gerade Rm 254 BL 1X36G 025

Tab 10 Bauteilliste mit Bestellnummer und Einzelpreisen der Bauelemente bei Reichelt electronic (Stand 23102010)

4222 Bestuumlckung der Platine

42

Abb 25 zeigt die fertig bestuumlckte Platine mit den Nummern aus Tab 10

Abb 25 Bestuumlckte Platine des TMC222-Moduls

mit nummerierten Bauelementen

Die Platine (35 mm x 30 mm) kann anhand des Layouts in Abb 26 hergestellt werden Der IC TMC222 wird auf der Loumltseite der Platine aufgeloumltet Das TMC222-Modul kann mit der Stiftleiste (larr Tab 10 Nr 7) in eine Buchsenleiste (larr Tab 10 Nr 8) auf die Platine des In-terface gesteckt werden

Abb 26 Platine des TMC222-Moduls von der Loumltseite (links) und Layout

4223 Quellcode des Mikrocontroller-Programms Im Folgenden ist ein mit Bascom (larr 12 Tab 1 Entwicklungsumgebungen) erstelltes Bei-spiel-Programm zur Ansteuerung des Schrittmotormoduls TMC222 durch den Mikrocontroller ATmega16 angegeben $regfile = m16DEFdat $crystal = 11059200 $baud = 9600 Definitionen Config Scl = Portc0 Taktleitung Config Sda = Portc1 Datenleitung Const Adress = ampB11000000 I2C Adresse des TMC222 Const GetFullstatus1 = ampB10000001 Kommando des TMC222 Const Resetpos = ampB10000110 Kommando des TMC222 Const Motorparameter = ampB10001001 Kommando des TMC222 Const Setposition = ampB10001011 Dim Puffer(10) As Byte

43

Programm I2csend Adress GetFullstatus1 GetFullstatus1 (Initialisierung des TMC222) I2creceive Adress 7 Ack Daten in Puffer auslesen Puffer(1) = Motorparameter puffer auffuumlllen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB11110011 1111irun 0011ihold Puffer(5) = ampB01110001 0111vmax 0001vmin Puffer(6) = ampB00010000 000securepos(bit10-8) 1shaft 0000acceleration Puffer(7) = 0 securepos(bit7-0) Puffer(8) = ampB00001100 000nicht belegt 0accshape 11stepmode 00nicht belegt I2csend Adress Puffer(1) 8 I2csend Adress Resetpos aktuelle Position auf 0 setzen Puffer(1) = Setposition Motor bewegen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB01111111 position(bit 15-8) Puffer(5) = ampB11111111 position(bit 7-0)acute I2csend Adress Puffer(1) 5 End

423 Geschaltete Spannungsquellen und Verbraucher Die Ausgaumlnge des Mikrocontrollers duumlrfen nur mit Stroumlmen kleiner als ungefaumlhr 20 mA belas-tet werden Verbraucher mit einer Stromlast groumlszliger als 20 mA koumlnnen daher nicht direkt an den Mikrocontroller angeschlossen werden Abb 27 zeigt links eine Schaltung zum Schalten eines Verbrauchers wie z B des Relais und rechts eine Schaltung mit dem IC ULN2803A zum Schalten mehrerer Verbraucher wie z B Gluumlhlampen

Abb 27 Erweiterungsschaltungen zum Schalten eines (links) oder

mehrerer Verbraucher (rechts)

Zu beachten ist dass der Transistor BC337 maximal 800 mA schalten kann und fuumlr groumlszligere Stroumlme andere Transistoren verwendet werden muumlssen

424 Steuerung von Gleichstrommotoren

44

Sollen Gleichstrommotoren zum Bewegen von Objekten mit dem Mikrocontroller gesteuert werden dann eignet sich dazu der in Abb 28 dargestellte beschaltete IC L293D

Abb 28 Beschaltung des L293D zum

Steuern zweier Gleichstrom-motoren

Mit Pin 1 = Pin 9 = 1 (High) koumlnnen zwei Gleichstrommotoren M1 und M2 (Versorgungs-spannung UM lt 36 V Spulendauerstrom IM lt 600 mA) unabhaumlngig voneinander ein- und ausgeschaltet sowie in der Drehrichtung uumlber die Ports PA0 und PA1 fuumlr M1 und PA2 und PA3 fuumlr M2 gesteuert werden Z B gilt mit PA0 = PA1 = 0 (M1 ausgeschaltet) PA0 = 1 und PA1 = 0 (M1 dreht sich) PA0 = 0 und PA1 = 1 (M1 dreht sich in Gegenrichtung)

45

43 Quellcodes zum RCL Elektronenbeugung 431 Mikrocontroller-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

46

47

48

49

432 PHP-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

50

51

433 Bedienfeld der Laborseite

Tab 11 erlaumlutert die Funktion der Bloumlcke im Quellcode

Zeilen Funktion 1 Datei defaultconf einbinden 2 Datei headtpl einbinden

5 - 11 Ausgabe der verbleibenden Experimentierzeit 18 - 21 Button zum Einschalten der Elektronenbeugungsroumlhre 28 - 30 Eingabefeld fuumlr die Beschleunigungsspannung

37 Ruumlckmeldung zur eingegebenen Beschleunigungsspannung 42 Datei foottpl einbinden

Tab 11 Funktion der Programmbloumlcke in der Datei experi-menttpl

52

434 Webcamfeld der Laborseite

In Tab 12 ist die Funktion der Programmbloumlcke und die Anpassungen der Vorlage an das RCL Elektronenbeugung beschrieben

Zeilen Funktion Anpassung RCL Elektronenbeugung

5 Titelangabe erscheint als Tabulatorbeschriftung in Browsern

Name des RCLs eintragen

11 - 15 16 - 20

Zwei Javascripts zum getrennten Aufrufen zweier Po-pup-Fenster mit dargestelltem Webcambildern 1 und 2

Javascript 1 die IP-Adresse eintragen Javascript 2 auskommentiert weil nicht benoumltigt

24 - 40 42 - 60

Zwei Javascripts zum Aktualisieren der Webcambilder 1 und 2

Javascript 2 auskommentiert weil nicht benoumltigt

67 - 71 79 - 83

Aufrufen des ersten Webcambilds der Webcams 1 und 2 beim Aufrufen der Datei

Webcambild 2 auskommentiert weil nicht benoumltigt

72 - 78 84 - 90

Buttons zum Aufrufen der Screenshots der Webcam-bilder 1 und 2

Button 2 auskommentiert weil nicht benoumltigt

91 - 95 Zeile der Tabelle zum Eintragen von Informationen die sich auf die Webcambilder oder den Versuch beziehen

Text in Zeile der Tabelle geschrieben

Tab 12 Funktionen der Codeabschnitte in der Datei videohtm und Anpassung der Vor-lage an das RCL Elektronenbeugung

53

44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung Im Folgenden wird die Installation und Konfiguration des AVR-Studios 418 und der Bascom 11198 Demoversion beschrieben Alle Anleitungen sind zeilenweise von links nach rechts zu lesen

441 AVR-Studio 418 4411 Installation Auf der Webseite von ATMEL Register AVR Studio 418 (build 684) anklicken und Registrie-rungsformular ausfuumlllen Danach die Datei AvrStudio418Setup herunterladen Durch Dop-pelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen Next waumlhlen

I accept hellip und Next waumlhlen Installationsordner und Next waumlhlen

54

Installupgrade hellip und Next waumlhlen Install waumlhlen Die Installation beginnt

Finish waumlhlen

4412 Konfiguration AVR Studio 418 in Windows XP Professional unter StartProgramme aufrufen

Startfenster mit Cancel schlieszligen Unter ToolsProgram AVR Auto Connect waumlhlen

55

Im eingeblendeten Fenster auf der Registerkarte Main als Device ATmega16 und als Programming Mode ISP mo-de waumlhlen

Optional kann Signatur gelesen werden

In der Registerkarte Fuses alle Haumlkchen und Auswahlfel-der wie angegeben waumlhlen

Dann Program waumlhlen

442 BASCOM 11198 Demoversion 4421 Installation Auf der Webseite von Bascom unter Bascom AVR Demo die Zip-Datei setupdemoexe her-untergeladen Durch Doppelklick auf den Dateinamen die Installation starten

Next waumlhlen I accept the agreement und Next waumlhlen

56

Next waumlhlen Installationsordner eingeben und Next waumlhlen

Eintrag im Start-Menuuml eingeben und Next waumlhlen Next waumlhlen

Yes restart the computer now und Finish waumlhlen

57

4422 Konfiguration Bascom AVR in Windows XP Professional unter StartProgramme zum Einstellen der Para-meter des Mikrocontrollers und des Terminals aufrufen

OptionsCompilerChip waumlhlen Einstellungen wie im Bild vornehmen und OK waumlhlen

Auf der Registerkarte Communications Einstellungen wie im Bild vornehmen und OK waumlhlen

Unter OptionsCommunication Einstellungen wie im Bild

vornehmen und OK waumlhlen FileNew waumlhlen Unter ToolsTerminal emulator das Terminal aufrufen und

eingeben Die Befehlsliste des RCLs Elektronenbeu-gung wird angezeigt

45 Installation und Konfiguration von Programmen auf dem RCL-Server Im Folgenden wird der Download die Installation und die Konfiguration von Programmen auf dem RCL-Server unter Windows XP Professional beschrieben Alle Anleitungen sind zeilen-weise von links nach rechts zu lesen Die Installation der Programme sollte in der angegebe-nen Reihenfolge erfolgen

58

451 Einrichten des Internet-Zugangs LAN-Verbindung unter StartSystemsteuerungNetzwerkverbindungen aufrufen

Internetprotokoll (TCPIP) und Eigenschaften waumlhlen Folgende IP-Adresse verwenden waumlhlen IP-Adressen ein-

geben und OK waumlhlen

452 Paket XAMPP 174 Unter apache friends - xampp fuumlr windows und XAMPP Windows 174 Installer anklicken und Datei xampp-win32-174-VC6-installerexe speichern Durch Doppelklick auf die Datei die Installation starten

Sprache und Ok waumlhlen Ok waumlhlen

59

Weiter waumlhlen Zielverzeichnis mit Durchsuchen waumlhlen oder eingeben

Apache nicht als Dienst installieren Fertig stellen waumlhlen

Ja waumlhlen Zum Starten des Apache Webservers das Control Panel

unter StartProgrammeXAMPP 173 for Windows mit Start starten Anstelle von Start erscheint Running

Zum Beenden des Apache Webservers Stop waumlhlen Zum Beenden des Control Panels Exit waumlhlen

60

453 Videoserver webcamXP 5 Private Auf der Webseite von Moonware Studios unter webcamXP 55xx die Datei wlite550 herun-terladen Durch Doppelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen I Agree waumlhlen

Next waumlhlen Auszliger webcamXP 5 brauchen keine weiteren Komponen-

ten installiert zu werden

Den vorgeschlagenen Ordner und Install waumlhlen Finish waumlhlen

61

WebcamXP unter StartProgramme aufrufen Zugesandte

Lizenz-Daten in das eingeblendete Fenster eingeben und Register waumlhlen

Beim Starten des Programms stellt webcamXP automa-tisch eine Verbindung zu den am Computer angeschlosse-nen Webcams her

Nach dem Start ist Uumlberwachen gewaumlhlt Durch Rechts-klick mit der Maus auf das Videofenster wird zu jeder Vi-deoquelle ein Kontextmenuuml angezeigt Wird kein Videobild dargestellt das Kontextmenuuml aufrufen Art der Videoquelle waumlhlen (hier USB) und unter den erkannten Videoquellen (hier USB-Videogeraumlt) die gewuumlnschte waumlhlen

Das Videoformat muss fuumlr eine passende Darstellung auf

der Laborseite auf 320 x 240 eingestellt sein Ist das nicht der Fall im Kontextmenuuml unter Video Format einstellen

In gleicher Weise kann eine zweite Videoquelle hinzugefuumlgt werden

In der Registerkarte Web Broadcast kann unter

Broadcast (HTTP) der Videoserver mit Ausschalten ge-stoppt und mit Aktivieren gestartet werden

Zur Zielwahl des Webservers (131246237167 - Internet D16W3X3J - Computer 127001 - Local Host) Videoser-ver stoppen und einstellen Videoserver wieder starten

62

454 Terminalprogramm Hyperterminal Hyperterminal in Windows XP Professional unter StartProgrammeZubehoumlrKommunikation aufrufen

Name der neuen Verbindung - z B Interface - eingeben

und OK waumlhlen Die Verbindung zwischen Computer und Interface wurde

uumlber einen USB-Seriell-Adapter hergestellt Dann erschei-nen zwei zusaumltzliche Eintraumlge (Motorola Comp Modem und COM5) in der Liste Prinzipiell muss eine COMx-Verbindung gewaumlhlt werden

Eigenschaften von COM 5 wie im Bild einstellen und OK

waumlhlen DateiEigenschaften aufrufen und ASCII-Konfiguration

waumlhlen

63

Haken bei Eingegebene Zeichen lokal ausgeben (lokales

Echo) setzen um eingegebenen Zeichen im Hyperterminal zu sehen

Bei funktionsfaumlhiger Verbindung erscheint nach Eingabe von Return die Befehlsliste des Interface

Durch Aufrufen von DateiSpeichern die erstellte Verbin-

dung z B auf dem Desktop speichern Dadurch braucht die Verbindung nicht immer wieder von neuem konfiguriert wer-den

Nach Aufrufen von DateiBeenden die bestehende Verbin-dung mit Ja beenden

64

Wurde ein falscher COM-Port gewaumlhlt reagiert das Inter-

face auf die Eingabe Return nicht Hyperterminal dann beenden

Der COM-Port kann dann nicht unter DateiEigenschaften im Hyperterminal aber unter Eigenschaften des Kontext-menuumls der Datei Interfaceht in der Registerkarte Verbin-den mit geaumlndert werden Dann OK waumlhlen und erneut Verbindung testen

65

455 Fernwartungssoftware TeamViewer 6 Host Auf der Webseite von Teamviewer GmbH unter Fuumlr unbeaufsichtigte Server TeamViewer Vollversion die Datei TeamViewer_Setup-wq herunterladen Das Programm muss auf dem RCL-Server und dem Computer der auf den RCL-Server zugreifen soll installiert werden Durch Doppelklick auf die Datei die Installation starten

Ausfuumlhren waumlhlen Weiter waumlhlen

Fuumlr die private nicht kommerzielle Nutzung ist Teamviewer kostenlos

privat nicht-kommerziell und Weiter waumlhlen

Beide Haumlkchen setzen und Weiter waumlhlen

66

Ja un Weiter waumlhlen Weiter

Computername und Kennwort fuumlr den Zugriff auf den RCL-Server oder den eigenen Computer vergeben Kenn wort notie-ren

Ein Teamviewerkonto ist nicht erforderlich Kann auch spaumlter noch eingerichtet werden

ID fuumlr den Computer auf dem das Programm installiert wird fuumlr Zugriff notieren

Das Programm wird gestartet Standardmaumlszligig vorein-gestellt ist der Start des Programms beim Start des Be-trienssystems

67

46 Selbstbau eines elementaren RCLs 461 Hard- und Software Auch ohne gleich ein vielleicht teures physikalisches Experiment zu steuern laumlsst sich mit wenigen Bauelementen ein elementares RCL realisieren Von einer Webseite im Internet sol-len eine Leuchtdiode (LED) ein- oder ausgeschaltet sowie der Zustand der Leuchtdiode und eines Tasters abgefragt werden An Hard- und Software werden benoumltigt

1 Low-Current-LED 5 mm 2 mA 1 Widerstand 18 kΩ 1 Taster und optional zwei 10-polige Wannenstecker mit ungefaumlhr 10 cm passendem Flachbandkabel und Buchsen

Interface in Basisschaltung Null-Modem-Kabel 12 V DC Steckernetzteil (larr 1)

Installierte Bascom-Demo-Version (larr 42)

AVR ISP-Programmer mit 10-poligem Programmierkabel

Installiertes und konfiguriertes AVR Studio 418 (larr 41)

Installiertes Paket XAMPP (larr 52)

Texteditor wie z B Notepad in Windows XP Professional

Konfigurierte Hyperterminalverbindung (larr 54)

462 Bestuumlckung der Platine Abb 29 zeigt zur Orientierung fuumlr das Einloumlten der Bauelemente die fertig bestuumlckte Platine des Interface

Abb 29 Mit elementarem RCL bestuumlckte Platine

des Interface

LED mit Vorwiderstand und der Taster sind rechts neben dem Mikrocontroller im Lochraster-bereich aufgebaut und uumlber Wannenstecker und Flachbandkabel mit dem Port A des Mikro-controllers verbunden (die drei Bauteile rechts neben dem ATmega16 werden nicht benouml-tigt) Tab 13 erlaumlutert die Schritte zur Bestuumlckung der Platine des Interface

68

Nr Schaltung Erlaumluterung

1

Die Leuchtdiode (LED) mit dem Pluspol (langes Beinchen) an PortA0 (PIN40 oben rechts) des Mikrocontrollers anloumlten

An das kurze Beinchen einen 18kΩ Widerstand loumlten dessen anderes Ende mit der Masse (GND) verbinden

2

Den Taster mit PortA1 (PIN39 = 2 Beinchen von oben rechts) und Masse (GND) verbinden

3

Draufsicht

Belegung des 10-poligen Wannensteckers 1 GND (Masse) im Foto oben links 2 +5 V 3 PortA0 4 PortA1 10 PortA7 im Foto unten rechts

Tab 13 Schritte zum Aufbau des elementaren RCLs

463 Lokal gesteuertes RCL Nachfolgend ist der Basic-Programmcode des Mikrocontrollers zur Steuerung und Abfrage der LED und des Tasters angegeben 01 $regfile = m16DEFdat Microcontroller ATmega16 02 $crystal = 11059200 110592MHz Quarz 03 $baud = 9600 Baudrate 04 05 ---[ Variables ]--------------------------------------------------------------- 06 Dim Rs232kommando As String 10 erst Befehlspuffer dann Kommando 07 Dim Parameter As String 10 Parameter 08 Dim Str_pos As Byte Position von Leerzeichen zur Trennung von Kommando und Pa-rameter 09 10 ---[ Initialisierung ]--------------------------------------------------------- 11 Ddra0 = 1 PortA0 als Ausgang fuumlr LED 12 Porta0 = 0 LED aus 13 Ddra1 = 0 PortA1 als Eingang fuumlr Taster 14 Porta1 = 1 Pull-Up aktivieren 15 16 ---[ Main program loop ]------------------------------------------------------- 17 Do Start der Endlos-Schleife 18 19 If Ischarwaiting() = 1 Then Zeichen uumlber RS232 empfangen 20 Input Rs232kommando neues Kommando lesen 21 Parameter = Parameter initialisieren 22 Str_pos = Instr(rs232kommando ) Leerzeichen im Kommando suchen 23 If Str_pos gt 0 Then falls Leerzeichen dann in Kommando+Parameter zerlegen 24 Incr Str_pos Str_pos soll jetzt auf 1Zeichen des Parameters zeigen 25 Parameter = Mid(rs232kommando Str_pos ) Parameter = Teilstring nach Leerzeichen 26 Parameter = Ucase(parameter) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 27 Str_pos = Str_pos - 2 Str_pos soll jetzt auf letztes Zeichen des Kommandos zeigen 28 Rs232kommando = Left(rs232kommando Str_pos)Kommando = Teilstring vor Leerzeichen 29 Rs232kommando = Ucase(rs232kommando) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 30 End If 31 32 Select Case Rs232kommando Eventhandler Interpretation der Kommandos 33 Case Print Hilfe Hilfeseite anzeigen 34 Print LED on - LED einschalten 35 Print LED off - LED ausschalten 36 Print LED - zeigt Status der LED an 37 Print SW - zeigt Status des Schalters an 38

1K8

LED rotmicroC PortA0(PIN40)

Taster

microC PortA1(PIN39)

1

3

2

69

39 Case LED If Parameter = ON Then LED schalten 40 Porta0 = 1 41 End If 42 If Parameter = OFF Then 43 Porta0 = 0 44 End If 45 46 Case LED If Porta0 = 0 Then Status der LED ausgeben 47 Print LED aus 48 Else 49 Print LED an 50 End If 51 52 Case SW If Pina1 = 1 Then Status des Schalters ausgeben 53 Print Taster offen 54 Else 55 Print Taster geschlossen 56 End If 57 58 Case Else Print gt Rs232kommando lt ungueltiger Befehl - weitere Infos mit Info bei unguumlltigen Eingaben 59 End Select 60 61 End If 62 63 Loop Endlos-Schleife Springe zu Do 64 65 End wird nie erreicht

Der erste Teil des Programms (Zeilen 1 - 15) enthaumllt die Systemparameter Variablen und Initialisierung der Ein- und Ausgaumlnge Der zweite Teil enthaumllt ab Zeile 17 das Hauptpro-gramm in dem Benutzereingaben uumlber die serielle Schnittstelle empfangen interpretiert und in entsprechende Anweisungen umgesetzt werden Tab 14 erlaumlutert den Programmcode de-taillierter

Zeilen Erlaumluterung

1 - 3 Diese Angaben teilen dem Compiler (Bascom) mit welcher Prozessor eingesetzt wird wie schnell dieser getaktet (Quarz) ist und mit welcher Uumlbertragungsgeschwindigkeit die Kommunikation uumlber die serielle Schnittstelle (RS232) mit dem PC erfolgen soll

6 - 8 Es werden drei Variablen genutzt Die Eingabe uumlber die serielle Schnittstelle wird in rs232kommando gespeichert Es wird ein Text der Form Kommando ltLeerzeichengt Parameter erwartet so dass die Variable Parameter den-selbigen aufnimmt Die Variable str_pos wird fuumlr die Trennung von Kommando und Parameter benoumltigt

11 - 14

Mit dem Befehl ddrPX (ddr = data direction) wird festgelegt ob ein Beinchen als Ausgang (=1) oder als Eingang (=0) arbeiten soll Der ATmega16 besitzt 32 Ein-Ausgaumlnge die in vier Ports (P=AD) zu je 8 Pins (X=07) unterteilt sind ddrA0 = 1 legt also das 1 Beinchen (Pin 0) von PortA als Ausgang (=1) fest Mit dem Befehl PortA0 =1 kann dieser Pin dann durch Zuweisen von 1 oder 0 an- bzw ausgeschaltet werden Im Datenblatt erfahren Sie welches der 40 Beinchen des Mikrocontrollers wie bezeichnet wird (Pin-Belegung) Wird ein Beinchen als Eingang verwendet (ddrA1 = 0) koumlnnen Sie optional einen so genannten Pull-Up-Widerstand aktivieren (PortA1=1) oder deaktivieren (PortA1=0) Auch hierzu sollten Sie sich unbedingt mit dem Datenblatt vertraut machen

17 63 Das Hauptprogramm besteht aus einer Endlosschleife d h der Mikrocontroller verrichtet ununterbrochen seinen Job so lange er mit Strom versorgt wird

19 - 30 Falls ein Zeichen uumlber die serielle Schnittstelle empfangen wurde wird dieses und alle folgenden gelesen Anschlie-szligend wird gepruumlft ob der empfangene Text von der Form Kommando ltLeerzeichengt Parameter ist so dass er ge-gebenenfalls in ein Kommando und einen Parameter zerlegt werden kann

32 - 59 Dieser Abschnitt wird mit Event-Handler bezeichnet Hier wird auf die Kommandos (Events) reagiert und die ent-sprechenden Schritte ausgefuumlhrt zB schalten LED je nach Wert der Variablen Parameter an- bzw ausschalten

46 52

In beiden Zeilen wird ein Wert eines Ports abgefragt Unterschiedlich ist dass in Zeile 46 der Status eines Ausgangs abgefragt wird (porta0) und in Zeile 52 der Zustand eines Eingangs (pina0) Die Anweisung IF porta0 = 0 THEN pruumlft (hier ist = ein Vergleich und KEINE Zuweisung) ob zuletzt die LED ausgeschaltet (Zuweisung porta0 = 0) wurde Die Anweisung IF pina1= 1 THEN liest den Status eines Eingangs Hier kann festgestellt werden ob der Eingang uumlber den internen Pull-UP-Widerstand auf +5V liegt (pina1 liefert 1) oder ob der Schalter den Eingang mit Masse (0V) verbindet (pina1 liefert 0)

Tab 14 Erlaumluterung des Mikrocontroller-Programmcodes fuumlr elementares RCL

70

In Bascom AVR eine neue Datei erzeugen (FileNew) den Programmcode ohne Kommenta-re eingeben und mit ProgramCompile (F7) eine Hexadezimaldatei erzeugen Die Hexadezi-maldatei mit dem AVR-Studio und dem AVR-ISP-Programmer in den Mikrocontroller schrei-ben (larr 222 Programmuumlbertragung) Nach dem Verbinden von Computer und Interface per Null-Modem-Kabel kann durch Eingabe von in das konfigurierte Hyperterminal die Befehls-liste in Abb 30 aufgerufen werden

Abb 30 Aufgerufene Befehlsliste im Hyperterminal

Durch Eingabe von LED on oder LED off kann die LED ein- und ausgeschaltet LED zeigt den Status der LED und sw den Status des Tasters an Alternativ zum Hyperterminal kann auch das Terminal in BASCOM unter ToolsTerminal Emulator verwendet werden (larr 422)

464 Ferngesteuertes RCL Zum Ansteuern des Interfaces und zum Bedienen des Versuchsaufbaus uumlber das Internet wird eine Webseite benoumltigt die dem Benutzer alle Bedienelemente des Experiments zur Verfuumlgung stellt

Der Benutzer benoumltigt anklickbare Buttons im Webbrowser

Der Webserver muss die Information welcher Button gedruumlckt wurde empfangen und ein entsprechendes Kommando uumlber die serielle Schnittstelle an das Interface senden

Beide Schritte sind im nachfolgenden PHPHTML-Quellcode zusammengefasst 01 ltDOCTYPE HTML PUBLIC -W3CDTD HTML 401 TransitionalEN httpwwww3orgTRhtml4loosedtdgt 02 lthtmlgt 03 ltheadgt 04 ltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1gt 05 lttitlegtelementares RCLlttitlegt 06 ltheadgt 07 08 ltbodygt 09 ltphp 10 if (isset($_POST[Kommando])) wurde bereits Kommando gesendet 11 if( ( $handle = fopen( COM1 w+ ) ) ) Schnittstelle oumlffnen 12

71

13 throw new Exception( Can not access serial port 2 ) ohne Erfolg 14 15 fwrite( $handle $_POST[Kommando] chr( 13 ) ) Befehl an Interface senden 16 switch ( $_POST[Kommando] ) Antwort von Interface auswerten 17 case LED $tmp = fgets( $handle ) Echo von Interface ignorieren 18 $antwort = fgets( $handle ) Antwort des Interfaces 19 echo Antwort $antwort Ausgabe auf Webseite 20 break switch verlassen 21 22 case SW $tmp = fgets( $handle ) Echo von Interface ignorieren 23 $antwort = fgets( $handle ) Antwort des Interfaces 24 echo Antwort $antwort Ausgabe auf Webseite 25 break switch verlassen 26 27 28 29 fclose( $handle ) Schnittstelle schlieszligen 30 31 else 32 `mode com1 BAUD=9600 PARITY=N data=8 stop=1 xon=off` Schnittstellenparameter setzen 33 34 35 gt 36 37 lth3gtBefehl sendenlth3gt 38 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 39 ltinput type=hidden name=Kommando value=LED ON gt 40 ltinput type=submit value=LED anschalten gt 41 ltformgt 42 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 43 ltinput type=hidden name=Kommando value=LED OFF gt 44 ltinput type=submit value=LED ausschalten gt 45 ltformgt 46 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 47 ltinput type=hidden name=Kommando value=LED gt 48 ltinput type=submit value=LED abfragen gt 49 ltformgt 50 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 51 ltinput type=hidden name=Kommando value=SW gt 52 ltinput type=submit value=Taster abfragen gt 53 ltformgt 54 ltbodygt 55 lthtmlgt Den Quellcode in den Texteditor kopieren und im Ordner htdocs von XAMPP z B unter rclphp speichern HTML-Dateien mit PHP-Code (Zeilen 9-35) muumlssen mit der Erweiterung php gespeichert werden damit der Apache Webserver zwischen HTML-Seiten mit und ohne PHP-Code unterscheiden kann Den installierten Apache Webserver starten (larr 452) und im Adressfeld des Webbrowsers die IP-Adresse http127001rclphp aufrufen Das Bedi-enfeld des elementaren RCLs in Abb 31 wird im Browserfenster angezeigt

72

Abb 31 Laborseite des elementaren RCLs

Im Bedienfeld kann die LED an- und ausgeschaltet sowie der Status von LED und Taster abgefragt werden

  • 0 Warum ein Tutorial zur RCL-Technik
  • 1 Technische Konzeption
    • 11 Einfuumlhrung
    • 12 Wahl der RCL-Technik
      • 2 Lokal gesteuertes RCL
        • 21 Interface
          • 211 Mikrocontroller
          • 212 Basisschaltung und Erweiterungsschaltungen
          • 213 Programmierung des Mikrocontrollers
            • 22 Hyperterminal
            • 23 Positionieren von Objekten
              • 231 Hybrid-Schrittmotoren
              • 232 Schrittmotorsteuerung und Positionierungsmechanik
                  • 3 Ferngesteuertes RCL
                    • 31 RCL-Server
                    • 32 Laborseite
                      • 321 Steuerung des RCLs uumlber das Bedienfeld
                      • 322 Videouumlbertragung im Webcamfeld
                        • 33 Standard-Lernumgebung
                          • 4 ANHANG
                            • 41 Interface in Basisschaltung
                              • 411 Schaltplan und Bauteilliste
                              • 412 Bestuumlckung der Platine
                                • 42 Erweiterungsschaltungen
                                  • 421 Uumlbersicht
                                  • 422 TMC222-Modul zur Schrittmotorsteuerung
                                    • 4221 Schaltplan und Bauteilliste
                                    • 4222 Bestuumlckung der Platine
                                    • 4223 Quellcode des Mikrocontroller-Programms
                                      • 423 Geschaltete Spannungsquellen und Verbraucher
                                      • 424 Steuerung von Gleichstrommotoren
                                        • 43 Quellcodes zum RCL Elektronenbeugung
                                          • 431 Mikrocontroller-Programmierung
                                          • 432 PHP-Programmierung
                                          • 433 Bedienfeld der Laborseite
                                          • 434 Webcamfeld der Laborseite
                                            • 44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung
                                              • 441 AVR-Studio 418
                                                • 4411 Installation
                                                • 4412 Konfiguration
                                                  • 442 BASCOM 11198 Demoversion
                                                    • 4421 Installation
                                                    • 4422 Konfiguration
                                                        • 45 Installation und Konfiguration von Programmen auf dem RCL-Server
                                                          • 451 Einrichten des Internet-Zugangs
                                                          • 452 Paket XAMPP 174
                                                          • 453 Videoserver webcamXP 5 Private
                                                          • 454 Terminalprogramm Hyperterminal
                                                          • 455 Fernwartungssoftware TeamViewer 6 Host
                                                            • 46 Selbstbau eines elementaren RCLs
                                                              • 461 Hard- und Software
                                                              • 462 Bestuumlckung der Platine
                                                              • 463 Lokal gesteuertes RCL
                                                              • 464 Ferngesteuertes RCL

33

4 ANHANG

34

41 Interface in Basisschaltung 411 Schaltplan und Bauteilliste Abb 19 zeigt den Schaltplan der Basisschaltung des Interface und Tab 7 die dazugehoumlrige Bauteilliste

Abb 19 Basisschaltung des Interface

Nr Anzahl Kurzbeschreibung des Bauteils Best-Nr bei Reichelt electronic

Einzelpreis in euro

0 1 Epoxyd-Platine (190x112 mm) mit Anteil Loumltpunktraster (Spezi-

alanfertigung) - asymp 10

1 1

Epoxyd-Fotoplatine einseitig 160x100 mm 15 mm 35 microm Epoxyd-Lochrasterplatine 160x100 mm 15 mm 35 microm

BEL 160x100-1 UP 832EP

170 420

1 1 Hohlstecker-Einbaubuchse gewinkelt Loumltfahnen 21 mm HEBW 21 018 2 1 D-SUB-Stecker 9-polig gewinkelt RM 94 D-SUB ST 09EU 029 3 1 Schottky Diode DO41 40 V 1 A SB 140 008 4 1 Draht von abgeschnittenem Beinchen aus Pos-Nr 3 - - 5 1 IC-Sockel 16-polig superflach gedreht vergoldet GS 16P 029 6 1 IC-Sockel 40-polig superflach gedreht vergoldet GS 40P 061 7 1 2x10-pol-Stiftleiste gerade RM 254 SL 2X10G 254 007 8 1 Metallschichtwiderstand 100 kΩ Metall 100k 0082 9 1 Elektrolytkondensator 10x16 mm 470 microF RM 50 mm RAD 47025 006 10 1 Elektrolytkondensator 63x11 mm 100 microF RM 25 mm RAD 10016 004 11 5 Elektrolytkondensator 5x11 mm 10 microF RM 20 mm RAD 1035 004 12 2 Keramik-Kondensator 33 pF Kerko 33p 006 13 3 Vielschicht-Keramikkondensator 100 nF 20 Z5U-25 100n 004

35

14 1 Standardquarz Grundton 110592 MHz 110592-HC49U-S 018 15 1 Spannungsregler 1 A positiv TO-220 microA 7805 028 16 1 Kuumlhlkoumlrper fuumlr Gehaumluse TO-220 99KW V FI356 066 17 1 Zylinderkopfschraube Schlitz M3 10 mm fuumlr Kuumlhlkoumlrper M3x10mm 160 18 2 Sechskantmutter M3 fuumlr Kuumlhlkoumlrper SK M3 001 19 1 Stecker-Schaltnetzteil 12 V 2250 mA MW 3IP25GS 1150 20 1 RS232-Driver DIL-16 MAX 232 CPE 041 21 1 ATmega AVR-RISC-Controller DIL-40 ATmega16-16 DIP 420 22 3 10-poliger Wannenstecker RM 254 stehend (optional) WSL 10G 009 23 1 14-poliger Wannenstecker RM 254 stehend (optional) WSL 14G 014 24 1 40-polige Stiftleiste 1-reihig gerade RM254 (optional) SL 1x40G 254 023 25 1 Kunststoffgehaumluse 1982x1124x760 mm (Serientyp 202) - asymp 10 euro 26 1 D-SUB Nullmodem-Kabel 9-pol BUBU 3 m AK 143 155 27 x DIN-Einbaubuchse 5-pol Schraubver 360deg (optional) DIO-50W EMS 185 28 x DIN-Einbaubuchse 8-polig Schraubversch 270deg (optional) DIO-80SN EMS 180 29 x Pfostenstecker 10-polig mit Verrieglung gew (optional) PSL 10W 028 30 x Klemmleiste RM 254 Oumlffnungshebel 8-polig (optional) Wago 233 220

Tab 7 Bauteilliste mit Bestellnummer und Einzelpreisen der Bauelemente bei Reichelt electronic (Stand 23102010)

Anhand der Bauteilliste in koumlnnen die elektronischen Bauelemente der Basisschaltung (larr Tab 7 Nr 0 ndash 21 optional Nr 22 - 24) bei Reichelt electronic bestellt werden Das Gehaumluse des Interface (larr Tab 7 Nr 25) sollte vom Hersteller HAGOTECH GmbH bezogen werden Weiterhin wird ein Nullmodemkabel (larr Tab 7 Nr 26) zur Verbindung des Interface mit dem Computer benoumltigt Sensoren und Aktoren des Experiments koumlnnen mit optionalen Steck-verbindern (larr Tab 7 Nr 27 - 30) und entsprechende Kabelverbindungen an das Interface angeschlossen werden Die Nummern 0 - 25 stimmen mit der angegebenen Bestuumlckungs-reihenfolge auf der Platine uumlberein Das Interface kostet in der Basisschaltung ca 50 euro

412 Bestuumlckung der Platine Abb 20 zeigt zur Bestuumlckung der Platine benoumltigte Werkzeuge

Abb 20 Werkzeuge zur Bestuumlckung der Platine des Interface

36

Loumltkolben mit feiner Spitze in Meisselform 2 mm oder Loumltstation (1) Loumltzinnabsauger zum Entfernen von Loumltzinn (2) Nasser Schwamm zum Reinigen der Spitze des Loumltkolbens (3) Loumltzinn mit Durchmesser 08 - 10 mm (4) Flachspitzzange zum Biegen von Anschluumlssen der Bauelemente (5) Seitenschneider zum Kuumlrzen der Beinchen von Bauelementen (6) Multimeter zum Pruumlfen der Funktionsfaumlhigkeit der Schaltung (7) Sekundenkleber zur Befestigung von Bauelementen Kleine Bohrmaschine z B von Dremel und 08 mm Bohrer oder duumlnne Rundfeile zum

Weiten von Loumlchern auf der Platine des Interface

Abb 21 zeigt die Platine des Interface von der Loumltseite in der Spezialanfertigung der Elekt-ronik-Werkstatt an der Technischen Universitaumlt Kaiserslautern und in der Selbstbauvariante (larr Tab 7 Nr 0) Abb 22 zeigt das Platinenlayout

Abb 21 Platine des Interface von der Loumltseite als Spezialanfertigung (links) und der Selbstbauvariante

(rechts)

Abb 22 Layout zur Herstellung des geaumltzten Teils der

Platine in der Selbstbauvariante

37

In der Selbstbauvariante kann anhand des Platinenlayouts eine selbst geaumltzte Platine fuumlr die Basisschaltung auf einer Platine im Europakartenformat hergestellt und diese in der Laumlnge gekuumlrzt werden Eine gekuumlrzte Lochrasterplatine bildet den zweiten Teil der Platine Mit den optionalen vier Wannensteckern (larr Tab 7 Nr 22 - 23) oder den vier Stiftleisten (larr Tab 7 Nr 24) an den Ports des Mikrocontrollers koumlnnen leicht elektrische Verbindungen zum Rasterteil der Platine herstellt werden Abb 23 zeigt die fertig bestuumlckte Platine mit den Nummern aus Tab 7

Abb 23 Bestuumlckte Platine des Interface mit nummerierten Bauelementen

Tab 8 beschreibt das Einloumlten der elektronischen Bauelemente anhand der Nummern aus Tab 7 und in der angegebenen Reihenfolge

Nr Bauelement Beschreibung des Einbaus

0 Spezialanfertigung und Selbst-bauvariante der Epoxydharz-

Platine

1

Stromversorgungsbuchse ndash Hohlstecker 21 mm

Wenn die Loumltbeine nicht durch die Loumlcher der Platine passen die Loumlcher mit einer runden Schluumlsselfeile aufweiten

Stromversorgungsbuchse mit Sekundenkleber vor dem Festloumlten auf der Pla-tine fixieren da diese mechanischen Belastungen durch das Einstecken und Herausziehen des 12 V -Steckers ausgesetzt ist

Wahlweise kann die 25 mm-Version der Buchse verwendet werden

2

RS232 Datenstecker

RS232 Datenstecker mit Sekundenkleber vor dem Festloumlten auf der Platine fixieren da dieser mechanischen Belastungen durch das Einstecken und Herausziehen des Null-Modem-Kabels ausgesetzt ist

Alle Beinchen und Befestigungsstifte zur houmlheren Stabilitaumlt anloumlten

3

Ein Ring an einer Seite der Diode (hier links weiszlig) zeigt die Durchlass- bzw Sperrrichtung der Diode an Die Position des Ringes entspricht der Position des Balkens im Schaltungssymbol

38

Diode ndash SB140 Auf der Platine muss der Ring auf der von der Stromversorgungsbuchse ab-

gewandten Seite liegen

4 Drahtbruumlcke

Vor dem Einloumlten des 40-poligen IC-Sockels (Nr 5) muss eine Drahtbruumlcke unter diesem eingeloumltet werden Dazu koumlnnen die abgeschnittenen Beinchen der bereits eingeloumlteten Diode (Nr 3) verwendet werden

5 6

IC-Fassungen

Die 16-polige und 40-polige IC-Fassungen besitzen eventuell eine Markie-rung fuumlr Pin1 (z B Kerbe in der Stirnseite Punkt Pfeilhellip) als Hilfe fuumlr das richtige Einstecken der ICs Die Markierungen muumlssen bei beiden Fassungen nach oben also zum naumlchstliegenden Rand der Platine zeigen

Die ICs unbedingt noch nicht einstecken

7

ISP-Stiftleiste

Die doppelreihige ISP-Stiftleiste dient der Programmierung des Mikrocontrol-lers mit dem AVR-ISP-Programmer (ISP steht fuumlr In System Programming)

ISP-Stiftleiste auf 2 x 5 Stifte kuumlrzen und mit den kurzen Beinchen einloumlten so dass auf die langen Stifte der AVR-ISP-Programmer gesteckt werden kann

8

Widerstand 100 kΩ

Den 100 kΩ-Widerstand rechts neben der ISP-Stiftleiste einloumlten

9

10

11

Elkos

Bei den verwendeten Elektrolyt-Kondensatoren ist die Polung zu beachten (langes Beinchen = Plus-Pol) Weiterhin ist auf den Kondensatoren ein wei-szliger Streifen mit Minus-Zeichen aufgedruckt Die Kondensatoren sollten eine Spannungsfestigkeit von mindestens 16 V besser 25V besitzen

Auf der Kupferseite der Platine zeigt die Form der Loumltaugen die Polung an Rundes Loumltauge = Plus quadratisches Loumltauge = Minus

Der 470 microF Kondensator wird mit dem weiszligen Streifen in Richtung Stromver-sorgungsbuchse direkt unter diese montiert

Der 100 microF Kondensator sitzt direkt unter der 16-poligen IC-Fassung Sein weiszliger Streifen (Minus-Pol) zeigt in Richtung der Stromversorgungsbuchse

Vier der 10 microF Kondensatoren werden links neben der 16-poligen IC-Fassung montiert Deren Polung ist wie folgt Unterster Kondensator Minus nach oben naumlchster Kondensator Minus nach unten die beiden oberen Kondensatoren mit Minus nach oben

Ein weiterer 10 microF Kondensator wird rechts neben die 16-polige IC-Fassung geloumltet Sein Minus-Streifen zeigt nach unten

12

13

Keramik-Kondensatoren

Die Beschriftung 104 bedeutet 10e4 pF = 100 nF Die beiden 33 pF-Kerkos (Keramik-Kondensatoren) werden direkt nebenei-

nander rechts neben die 16-polige IC-Fassung geloumltet Zwei 100 nF-Kondensatoren werden unter dem 470 microF-Elko eingeloumltet ein

weiterer mittig an der linken Seite der 40-poligen IC-Fassung

14

Quarz

Als Quarz wird ein 110592 MHz-Typ verwendet Bei dieser Frequenz ist eine fehlerfreie Kommunikation uumlber RS232 mit 9600 Baud moumlglich Fuumlr den AT-mega16 koumlnnen Quarze bis 16 MHz eingesetzt werden Details siehe Daten-blatt

Der Quarz wird direkt rechts neben die beiden 33 pF-Kerkos geloumltet Die Ori-entierung des Quarz spielt keine Rolle

15

16

17

18

Der Spannungsregler L7805 erzeugt eine stabilisierte Spannung von 5 V Es muss ein Kuumlhlkoumlrper zur Waumlrmeabfuhr vom Spannungsregler verwendet werden

Vor dem Einloumlten zwischen Spannungsregler und Kuumlhlkoumlrper etwas Waumlrme-leitpaste aufgetragen Beide Bauteile fest mit einer Schraube M3x10 und ei-ner 1 Mutter verschrauben

Dann den Spannungsregler einloumlten um 90deg abzubiegen das uumlberstehende Gewinde durch das vorgesehene Loch stecken und alles mit einer 2 Mutter auf der Platine befestigen

1 Mutter

2 Mutter

Schr

aube

L7805

Platine

KuumlhlkoumlrperWaumlrmeleitpaste

Beinchen

Loumlten

39

Spannungsregler L7805 Kuumlhl-koumlrper und Montage

19

Steckernetzteil

Funktionskontrolle vor dem Einsetzen des Mikrocontrollers Polung der Elektrolyt-Kondensatoren (Elkos) pruumlfen Sind alle Beinchen angeloumltet Hat das Loumltzinn an den Beinchen und der Pla-

tine guten Kontakt Sind eventuell zwei benachbarte Beinchen unbeabsichtigt durch Loumltzinn verbunden Alle Loumltverbindungen nochmals genau z B mit ei-ner Lupe pruumlfen

Probeweise das Stecker-Netzteil an die Buchse anschlieszligen Am 100 nF-Kondensator links mittig der 40-poligen IC-Fassung muumlssen 5 V anliegen

Versorgungsspannung unbedingt wieder von der Platine trennen

20

21

ICs MAX232 und ATmega16

Die Nuten auf den ICs am linken Rand muumlssen nach oben zeigen d h Pin1 ist bei beiden ICs in der Abbildung links unten und auf der Platine oben links

Manchmal passen die Beinchen der ICs nicht in die Fassung weil die Fas-sung scheinbar zu schmal ist Dann den IC seitlich mit einer Beinchen-Reihe flach auf den Tisch legen den IC-Koumlrper links und rechts greifen und Bein-chen durch leichten Druck biegen Einzelne verbogene Beinchen vorsichtig mit einer kleinen Flachzange richten

22

23

Wannenstecker 10- und 14-polig

Wannenstecker an den vorgesehe-nen Stellen mit der Nut gegen Ver-polung in Richtung des naumlherliegen-den Platinenrands einloumlten

Die Abbildung rechts zeigt die Pin-Belegung der Wannenstecker

24

Stiftleiste 8-polig 40-pol Stiftleiste in 4 jeweils 8-polige Stuumlcke zerteilen und einloumlten

25

Kunststoffgehaumluse

In der Selbstbauvariante der Platine (Nr 0) vor dem Einsetzten der Platine in das Gehaumluse passend positionierte Kunststoffstege am Gehaumluseboden fest-kleben

Tab 8 Bestuumlckung der Platine des Interface mit Bauelementen

42 Erweiterungsschaltungen 421 Uumlbersicht In Tab 3 sind von RCLs des RCL-Portals Sensoren und Aktoren mit den dazugehoumlrigen Er-weiterungsschaltungen zusammengestellt Da alle RCLs obligatorisch uumlber mindestens eine Webcam verfuumlgen sind diese unter den Sensoren nicht aufgefuumlhrt Die wenigen Erweite-rungsschaltungen fuumlr Sensoren sind unter Sensoren in Klammern aufgelistet Unter Aktoren werden auszliger elektro-mechanischen Wandlern auch gesteuerte Geraumlte oder Bauelemente verstanden Anzeigeinstrumente sind unter Aktoren nur aufgefuumlhrt wenn sie direkt vom In-terface gesteuert werden Mit gekennzeichnete Erweiterungsschaltungen befinden sich au-szligerhalb des Interface

40

RCL Sensoren Aktoren Erweiterungsschaltungen fuumlr Aktoren

Beugung und Interferenz I Referenz-Taster

Schrittmotor (Rotation) Schrittmotorsteuerung Laser-Modul Geschaltete Spannungsversorgung

Beugung und Interferenz II

4 Referenz-Taster Lichtsensor

4 Schrittmotoren (Translation) 4 Schrittmotorsteuerungen 5 Laser-Module Geschaltete Spannungsversorgung LED fuumlr Position des

Lichtsensors Geschaltete Spannungsversorgung

LED fuumlr Linealbeleuchtung Geschaltete Spannungsversorgung

Elektronen-beugung

Hochspannungsnetzgeraumlt Geschaltete Spannungsversorgung Hochspannungsnetzgeraumlt Steuerung der Hochspannung

Fotoeffekt 2 Referenz-Taster Photozelle

2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen

Quecksilberdampflampe Geschaltete Spannungsversorgung

der Drossel fuumlr Quecksilberdampf-lampe

Halbleiter-kennlinien

und Halbleiterkennli-nien - Schuumller-

projekt

Referenz-Taster

Schrittmotor (Rotation) Schrittmotorsteuerung Oszilloskop Geschaltete Spannungsversorgung

Oszilloskop Instrumentenverstaumlrker fuumlr X- und Y-Ablenkung

Multimeter Steuerung Spannungs- oder Strom-anzeige

Heiszliger Draht 4 Endtaster 4 Drehgeber Kurzschlusssensor

4 Gleichstrommotoren 4 Treiber

Zweifarbige LED Steuerung der LED-Farbe

Lichtgeschwin-digkeit

Drehimpulsgeber 2 Taster an Enden

der Eisenbahnstre-cke

2 Schrittmotoren 2 Schrittmotorsteuerungen Oszilloskop Geschaltete Spannungsversorgung

Motor der Lokomotive Steuerung des Ein- und Ausschal-tens und der Bewegungsrichtung

Maut Infrarot-Sensor Gleichstrommotor Geschaltete Spannungsquelle 2 IR-Fernbedienungen Spannungsregler 2-stellige 7-Segmentanzeige LED-Treiber

Millikan-Versuch 2 Referenz-Taster

2 Schrittmotoren 2 Schrittmotorsteuerungen Lichtquelle (LED) fuumlr Millikan-

Kondensator Geschaltete Spannungsversorgung

Airbrush-Kompressor Geschaltete Spannungsversorgung Magnetventil Geschaltete Spannungsversorgung Millikan-Kondensator Gesteuertes Hochspannungsmodul

Optische Com-putertomogra-

phie

2 Referenz-Taster 2 Lichtsensoren

Schrittmotor (Rotation) Schrittmotorsteuerung Schrittmotor (Translation) Schrittmotorsteuerung

2 Laser-Module 2 geschaltete Spannungsversor-gungen

Optische Fou-rier-

Transformation 2 Referenz-Taster

2 Schrittmotoren (Translation) 2 Schrittmotorsteuerungen

Laser-Modul Geschaltete Spannungsversorgung

Oszilloskop Oszilloskop Geschaltete Spannungsversorgung Signalgenerator Steuerung der Signalart

Radioaktivitaumlt 4 Referenz-Taster Geiger-Muumlller-

Zaumlhlrohr

2 Schrittmotoren (Translation) 2 Schrittmotorsteuerungen 2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen 4-stellige 7-Segment-Anzeige Treiber Elektromagnet Geschaltete Spannungsversorgung

Roboter im Labyrinth Infrarot-Sensor

2 Schrittmotoren 2 Schrittmotorsteuerung Infrarot-Sender Treiber

Rutherfordscher Streuversuch

2 Referenz-Taster Halbleiterdetektor

(Impulsformer)

2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen

4-stellige 7-Segment-Anzeige Treiber

Weltpendel

Referenz-Taster Lichtsensor der

Lichtschranke (Im-pulsformer)

Temperatursensor

Schrittmotor (Translation) Schrittmotorsteuerung Elektromagnet Geschaltete Spannungsversorgung

Laser der Lichtschranke Geschaltete Spannungsversorgung

Windkanal Referenz-Taster Schrittmotor (Translation) Schrittmotorsteuerung

41

Dehnungsmess-streifen (Wheat-stonesche Bruumlcke Messverstaumlrker Multimeter)

Geblaumlsemotor Geschaltete Spannungsversorgung

und Ansteuerung mit Pulsweiten-modulation

Anemometer Geschaltete Spannungsversorgung Multimeter Geschaltete Spannungsversorgung

Tab 9 Sensoren Aktoren und Erweiterungsschaltungen der RCLs des RCL-Portals

422 TMC222-Modul zur Schrittmotorsteuerung 4221 Schaltplan und Bauteilliste Abb 1 zeigt die Beschaltung des TMC222 von Trinamic auf dem TMC222-Modul

Abb 24 Beschaltung des TMC222 von Trinamic

Anhand der Bauteilliste in Tab 10 koumlnnen die elektronischen Bauelemente des TMC222-Moduls bei Reichelt electronic bestellt werden Ein TMC222-Modul kostet ungefaumlhr 10 euro

Nr Anzahl Kurzbeschreibung des Bauteils Best-Nr bei Reichelt electronic

Einzelpreis in euro

0 1 Epoxyd-Fotoplatine einseitig 75x100 mm 15 mm 35 microm BEL75X100-1 096 1 1 Integrierter TMC-Schrittmotor-Controller TMC 222 SI asymp 7 2 1 Elektrolytkondensator 8x11 mm Rm 35 mm 100 microF35 V RAD 10035 004 3 1 Tantal-Kondensator Rm 25 10 microF35 V Tantal 1035 014 4 2 Vielschicht-Keramikkondensator 220 nF 20 Z5U-25 220N 011 5 3 Vielschicht-Keramikkondensator 100 nF 20 Z5U-25 100N 004 6 2 Metallschichtwiderstand 100 kΩ Metall 100K 0082 7 1 1x36pol Stiftleiste gewinkelt Rm 254 SL 1X36W 027 8 1 1x36pol Buchsenleiste gerade Rm 254 BL 1X36G 025

Tab 10 Bauteilliste mit Bestellnummer und Einzelpreisen der Bauelemente bei Reichelt electronic (Stand 23102010)

4222 Bestuumlckung der Platine

42

Abb 25 zeigt die fertig bestuumlckte Platine mit den Nummern aus Tab 10

Abb 25 Bestuumlckte Platine des TMC222-Moduls

mit nummerierten Bauelementen

Die Platine (35 mm x 30 mm) kann anhand des Layouts in Abb 26 hergestellt werden Der IC TMC222 wird auf der Loumltseite der Platine aufgeloumltet Das TMC222-Modul kann mit der Stiftleiste (larr Tab 10 Nr 7) in eine Buchsenleiste (larr Tab 10 Nr 8) auf die Platine des In-terface gesteckt werden

Abb 26 Platine des TMC222-Moduls von der Loumltseite (links) und Layout

4223 Quellcode des Mikrocontroller-Programms Im Folgenden ist ein mit Bascom (larr 12 Tab 1 Entwicklungsumgebungen) erstelltes Bei-spiel-Programm zur Ansteuerung des Schrittmotormoduls TMC222 durch den Mikrocontroller ATmega16 angegeben $regfile = m16DEFdat $crystal = 11059200 $baud = 9600 Definitionen Config Scl = Portc0 Taktleitung Config Sda = Portc1 Datenleitung Const Adress = ampB11000000 I2C Adresse des TMC222 Const GetFullstatus1 = ampB10000001 Kommando des TMC222 Const Resetpos = ampB10000110 Kommando des TMC222 Const Motorparameter = ampB10001001 Kommando des TMC222 Const Setposition = ampB10001011 Dim Puffer(10) As Byte

43

Programm I2csend Adress GetFullstatus1 GetFullstatus1 (Initialisierung des TMC222) I2creceive Adress 7 Ack Daten in Puffer auslesen Puffer(1) = Motorparameter puffer auffuumlllen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB11110011 1111irun 0011ihold Puffer(5) = ampB01110001 0111vmax 0001vmin Puffer(6) = ampB00010000 000securepos(bit10-8) 1shaft 0000acceleration Puffer(7) = 0 securepos(bit7-0) Puffer(8) = ampB00001100 000nicht belegt 0accshape 11stepmode 00nicht belegt I2csend Adress Puffer(1) 8 I2csend Adress Resetpos aktuelle Position auf 0 setzen Puffer(1) = Setposition Motor bewegen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB01111111 position(bit 15-8) Puffer(5) = ampB11111111 position(bit 7-0)acute I2csend Adress Puffer(1) 5 End

423 Geschaltete Spannungsquellen und Verbraucher Die Ausgaumlnge des Mikrocontrollers duumlrfen nur mit Stroumlmen kleiner als ungefaumlhr 20 mA belas-tet werden Verbraucher mit einer Stromlast groumlszliger als 20 mA koumlnnen daher nicht direkt an den Mikrocontroller angeschlossen werden Abb 27 zeigt links eine Schaltung zum Schalten eines Verbrauchers wie z B des Relais und rechts eine Schaltung mit dem IC ULN2803A zum Schalten mehrerer Verbraucher wie z B Gluumlhlampen

Abb 27 Erweiterungsschaltungen zum Schalten eines (links) oder

mehrerer Verbraucher (rechts)

Zu beachten ist dass der Transistor BC337 maximal 800 mA schalten kann und fuumlr groumlszligere Stroumlme andere Transistoren verwendet werden muumlssen

424 Steuerung von Gleichstrommotoren

44

Sollen Gleichstrommotoren zum Bewegen von Objekten mit dem Mikrocontroller gesteuert werden dann eignet sich dazu der in Abb 28 dargestellte beschaltete IC L293D

Abb 28 Beschaltung des L293D zum

Steuern zweier Gleichstrom-motoren

Mit Pin 1 = Pin 9 = 1 (High) koumlnnen zwei Gleichstrommotoren M1 und M2 (Versorgungs-spannung UM lt 36 V Spulendauerstrom IM lt 600 mA) unabhaumlngig voneinander ein- und ausgeschaltet sowie in der Drehrichtung uumlber die Ports PA0 und PA1 fuumlr M1 und PA2 und PA3 fuumlr M2 gesteuert werden Z B gilt mit PA0 = PA1 = 0 (M1 ausgeschaltet) PA0 = 1 und PA1 = 0 (M1 dreht sich) PA0 = 0 und PA1 = 1 (M1 dreht sich in Gegenrichtung)

45

43 Quellcodes zum RCL Elektronenbeugung 431 Mikrocontroller-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

46

47

48

49

432 PHP-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

50

51

433 Bedienfeld der Laborseite

Tab 11 erlaumlutert die Funktion der Bloumlcke im Quellcode

Zeilen Funktion 1 Datei defaultconf einbinden 2 Datei headtpl einbinden

5 - 11 Ausgabe der verbleibenden Experimentierzeit 18 - 21 Button zum Einschalten der Elektronenbeugungsroumlhre 28 - 30 Eingabefeld fuumlr die Beschleunigungsspannung

37 Ruumlckmeldung zur eingegebenen Beschleunigungsspannung 42 Datei foottpl einbinden

Tab 11 Funktion der Programmbloumlcke in der Datei experi-menttpl

52

434 Webcamfeld der Laborseite

In Tab 12 ist die Funktion der Programmbloumlcke und die Anpassungen der Vorlage an das RCL Elektronenbeugung beschrieben

Zeilen Funktion Anpassung RCL Elektronenbeugung

5 Titelangabe erscheint als Tabulatorbeschriftung in Browsern

Name des RCLs eintragen

11 - 15 16 - 20

Zwei Javascripts zum getrennten Aufrufen zweier Po-pup-Fenster mit dargestelltem Webcambildern 1 und 2

Javascript 1 die IP-Adresse eintragen Javascript 2 auskommentiert weil nicht benoumltigt

24 - 40 42 - 60

Zwei Javascripts zum Aktualisieren der Webcambilder 1 und 2

Javascript 2 auskommentiert weil nicht benoumltigt

67 - 71 79 - 83

Aufrufen des ersten Webcambilds der Webcams 1 und 2 beim Aufrufen der Datei

Webcambild 2 auskommentiert weil nicht benoumltigt

72 - 78 84 - 90

Buttons zum Aufrufen der Screenshots der Webcam-bilder 1 und 2

Button 2 auskommentiert weil nicht benoumltigt

91 - 95 Zeile der Tabelle zum Eintragen von Informationen die sich auf die Webcambilder oder den Versuch beziehen

Text in Zeile der Tabelle geschrieben

Tab 12 Funktionen der Codeabschnitte in der Datei videohtm und Anpassung der Vor-lage an das RCL Elektronenbeugung

53

44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung Im Folgenden wird die Installation und Konfiguration des AVR-Studios 418 und der Bascom 11198 Demoversion beschrieben Alle Anleitungen sind zeilenweise von links nach rechts zu lesen

441 AVR-Studio 418 4411 Installation Auf der Webseite von ATMEL Register AVR Studio 418 (build 684) anklicken und Registrie-rungsformular ausfuumlllen Danach die Datei AvrStudio418Setup herunterladen Durch Dop-pelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen Next waumlhlen

I accept hellip und Next waumlhlen Installationsordner und Next waumlhlen

54

Installupgrade hellip und Next waumlhlen Install waumlhlen Die Installation beginnt

Finish waumlhlen

4412 Konfiguration AVR Studio 418 in Windows XP Professional unter StartProgramme aufrufen

Startfenster mit Cancel schlieszligen Unter ToolsProgram AVR Auto Connect waumlhlen

55

Im eingeblendeten Fenster auf der Registerkarte Main als Device ATmega16 und als Programming Mode ISP mo-de waumlhlen

Optional kann Signatur gelesen werden

In der Registerkarte Fuses alle Haumlkchen und Auswahlfel-der wie angegeben waumlhlen

Dann Program waumlhlen

442 BASCOM 11198 Demoversion 4421 Installation Auf der Webseite von Bascom unter Bascom AVR Demo die Zip-Datei setupdemoexe her-untergeladen Durch Doppelklick auf den Dateinamen die Installation starten

Next waumlhlen I accept the agreement und Next waumlhlen

56

Next waumlhlen Installationsordner eingeben und Next waumlhlen

Eintrag im Start-Menuuml eingeben und Next waumlhlen Next waumlhlen

Yes restart the computer now und Finish waumlhlen

57

4422 Konfiguration Bascom AVR in Windows XP Professional unter StartProgramme zum Einstellen der Para-meter des Mikrocontrollers und des Terminals aufrufen

OptionsCompilerChip waumlhlen Einstellungen wie im Bild vornehmen und OK waumlhlen

Auf der Registerkarte Communications Einstellungen wie im Bild vornehmen und OK waumlhlen

Unter OptionsCommunication Einstellungen wie im Bild

vornehmen und OK waumlhlen FileNew waumlhlen Unter ToolsTerminal emulator das Terminal aufrufen und

eingeben Die Befehlsliste des RCLs Elektronenbeu-gung wird angezeigt

45 Installation und Konfiguration von Programmen auf dem RCL-Server Im Folgenden wird der Download die Installation und die Konfiguration von Programmen auf dem RCL-Server unter Windows XP Professional beschrieben Alle Anleitungen sind zeilen-weise von links nach rechts zu lesen Die Installation der Programme sollte in der angegebe-nen Reihenfolge erfolgen

58

451 Einrichten des Internet-Zugangs LAN-Verbindung unter StartSystemsteuerungNetzwerkverbindungen aufrufen

Internetprotokoll (TCPIP) und Eigenschaften waumlhlen Folgende IP-Adresse verwenden waumlhlen IP-Adressen ein-

geben und OK waumlhlen

452 Paket XAMPP 174 Unter apache friends - xampp fuumlr windows und XAMPP Windows 174 Installer anklicken und Datei xampp-win32-174-VC6-installerexe speichern Durch Doppelklick auf die Datei die Installation starten

Sprache und Ok waumlhlen Ok waumlhlen

59

Weiter waumlhlen Zielverzeichnis mit Durchsuchen waumlhlen oder eingeben

Apache nicht als Dienst installieren Fertig stellen waumlhlen

Ja waumlhlen Zum Starten des Apache Webservers das Control Panel

unter StartProgrammeXAMPP 173 for Windows mit Start starten Anstelle von Start erscheint Running

Zum Beenden des Apache Webservers Stop waumlhlen Zum Beenden des Control Panels Exit waumlhlen

60

453 Videoserver webcamXP 5 Private Auf der Webseite von Moonware Studios unter webcamXP 55xx die Datei wlite550 herun-terladen Durch Doppelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen I Agree waumlhlen

Next waumlhlen Auszliger webcamXP 5 brauchen keine weiteren Komponen-

ten installiert zu werden

Den vorgeschlagenen Ordner und Install waumlhlen Finish waumlhlen

61

WebcamXP unter StartProgramme aufrufen Zugesandte

Lizenz-Daten in das eingeblendete Fenster eingeben und Register waumlhlen

Beim Starten des Programms stellt webcamXP automa-tisch eine Verbindung zu den am Computer angeschlosse-nen Webcams her

Nach dem Start ist Uumlberwachen gewaumlhlt Durch Rechts-klick mit der Maus auf das Videofenster wird zu jeder Vi-deoquelle ein Kontextmenuuml angezeigt Wird kein Videobild dargestellt das Kontextmenuuml aufrufen Art der Videoquelle waumlhlen (hier USB) und unter den erkannten Videoquellen (hier USB-Videogeraumlt) die gewuumlnschte waumlhlen

Das Videoformat muss fuumlr eine passende Darstellung auf

der Laborseite auf 320 x 240 eingestellt sein Ist das nicht der Fall im Kontextmenuuml unter Video Format einstellen

In gleicher Weise kann eine zweite Videoquelle hinzugefuumlgt werden

In der Registerkarte Web Broadcast kann unter

Broadcast (HTTP) der Videoserver mit Ausschalten ge-stoppt und mit Aktivieren gestartet werden

Zur Zielwahl des Webservers (131246237167 - Internet D16W3X3J - Computer 127001 - Local Host) Videoser-ver stoppen und einstellen Videoserver wieder starten

62

454 Terminalprogramm Hyperterminal Hyperterminal in Windows XP Professional unter StartProgrammeZubehoumlrKommunikation aufrufen

Name der neuen Verbindung - z B Interface - eingeben

und OK waumlhlen Die Verbindung zwischen Computer und Interface wurde

uumlber einen USB-Seriell-Adapter hergestellt Dann erschei-nen zwei zusaumltzliche Eintraumlge (Motorola Comp Modem und COM5) in der Liste Prinzipiell muss eine COMx-Verbindung gewaumlhlt werden

Eigenschaften von COM 5 wie im Bild einstellen und OK

waumlhlen DateiEigenschaften aufrufen und ASCII-Konfiguration

waumlhlen

63

Haken bei Eingegebene Zeichen lokal ausgeben (lokales

Echo) setzen um eingegebenen Zeichen im Hyperterminal zu sehen

Bei funktionsfaumlhiger Verbindung erscheint nach Eingabe von Return die Befehlsliste des Interface

Durch Aufrufen von DateiSpeichern die erstellte Verbin-

dung z B auf dem Desktop speichern Dadurch braucht die Verbindung nicht immer wieder von neuem konfiguriert wer-den

Nach Aufrufen von DateiBeenden die bestehende Verbin-dung mit Ja beenden

64

Wurde ein falscher COM-Port gewaumlhlt reagiert das Inter-

face auf die Eingabe Return nicht Hyperterminal dann beenden

Der COM-Port kann dann nicht unter DateiEigenschaften im Hyperterminal aber unter Eigenschaften des Kontext-menuumls der Datei Interfaceht in der Registerkarte Verbin-den mit geaumlndert werden Dann OK waumlhlen und erneut Verbindung testen

65

455 Fernwartungssoftware TeamViewer 6 Host Auf der Webseite von Teamviewer GmbH unter Fuumlr unbeaufsichtigte Server TeamViewer Vollversion die Datei TeamViewer_Setup-wq herunterladen Das Programm muss auf dem RCL-Server und dem Computer der auf den RCL-Server zugreifen soll installiert werden Durch Doppelklick auf die Datei die Installation starten

Ausfuumlhren waumlhlen Weiter waumlhlen

Fuumlr die private nicht kommerzielle Nutzung ist Teamviewer kostenlos

privat nicht-kommerziell und Weiter waumlhlen

Beide Haumlkchen setzen und Weiter waumlhlen

66

Ja un Weiter waumlhlen Weiter

Computername und Kennwort fuumlr den Zugriff auf den RCL-Server oder den eigenen Computer vergeben Kenn wort notie-ren

Ein Teamviewerkonto ist nicht erforderlich Kann auch spaumlter noch eingerichtet werden

ID fuumlr den Computer auf dem das Programm installiert wird fuumlr Zugriff notieren

Das Programm wird gestartet Standardmaumlszligig vorein-gestellt ist der Start des Programms beim Start des Be-trienssystems

67

46 Selbstbau eines elementaren RCLs 461 Hard- und Software Auch ohne gleich ein vielleicht teures physikalisches Experiment zu steuern laumlsst sich mit wenigen Bauelementen ein elementares RCL realisieren Von einer Webseite im Internet sol-len eine Leuchtdiode (LED) ein- oder ausgeschaltet sowie der Zustand der Leuchtdiode und eines Tasters abgefragt werden An Hard- und Software werden benoumltigt

1 Low-Current-LED 5 mm 2 mA 1 Widerstand 18 kΩ 1 Taster und optional zwei 10-polige Wannenstecker mit ungefaumlhr 10 cm passendem Flachbandkabel und Buchsen

Interface in Basisschaltung Null-Modem-Kabel 12 V DC Steckernetzteil (larr 1)

Installierte Bascom-Demo-Version (larr 42)

AVR ISP-Programmer mit 10-poligem Programmierkabel

Installiertes und konfiguriertes AVR Studio 418 (larr 41)

Installiertes Paket XAMPP (larr 52)

Texteditor wie z B Notepad in Windows XP Professional

Konfigurierte Hyperterminalverbindung (larr 54)

462 Bestuumlckung der Platine Abb 29 zeigt zur Orientierung fuumlr das Einloumlten der Bauelemente die fertig bestuumlckte Platine des Interface

Abb 29 Mit elementarem RCL bestuumlckte Platine

des Interface

LED mit Vorwiderstand und der Taster sind rechts neben dem Mikrocontroller im Lochraster-bereich aufgebaut und uumlber Wannenstecker und Flachbandkabel mit dem Port A des Mikro-controllers verbunden (die drei Bauteile rechts neben dem ATmega16 werden nicht benouml-tigt) Tab 13 erlaumlutert die Schritte zur Bestuumlckung der Platine des Interface

68

Nr Schaltung Erlaumluterung

1

Die Leuchtdiode (LED) mit dem Pluspol (langes Beinchen) an PortA0 (PIN40 oben rechts) des Mikrocontrollers anloumlten

An das kurze Beinchen einen 18kΩ Widerstand loumlten dessen anderes Ende mit der Masse (GND) verbinden

2

Den Taster mit PortA1 (PIN39 = 2 Beinchen von oben rechts) und Masse (GND) verbinden

3

Draufsicht

Belegung des 10-poligen Wannensteckers 1 GND (Masse) im Foto oben links 2 +5 V 3 PortA0 4 PortA1 10 PortA7 im Foto unten rechts

Tab 13 Schritte zum Aufbau des elementaren RCLs

463 Lokal gesteuertes RCL Nachfolgend ist der Basic-Programmcode des Mikrocontrollers zur Steuerung und Abfrage der LED und des Tasters angegeben 01 $regfile = m16DEFdat Microcontroller ATmega16 02 $crystal = 11059200 110592MHz Quarz 03 $baud = 9600 Baudrate 04 05 ---[ Variables ]--------------------------------------------------------------- 06 Dim Rs232kommando As String 10 erst Befehlspuffer dann Kommando 07 Dim Parameter As String 10 Parameter 08 Dim Str_pos As Byte Position von Leerzeichen zur Trennung von Kommando und Pa-rameter 09 10 ---[ Initialisierung ]--------------------------------------------------------- 11 Ddra0 = 1 PortA0 als Ausgang fuumlr LED 12 Porta0 = 0 LED aus 13 Ddra1 = 0 PortA1 als Eingang fuumlr Taster 14 Porta1 = 1 Pull-Up aktivieren 15 16 ---[ Main program loop ]------------------------------------------------------- 17 Do Start der Endlos-Schleife 18 19 If Ischarwaiting() = 1 Then Zeichen uumlber RS232 empfangen 20 Input Rs232kommando neues Kommando lesen 21 Parameter = Parameter initialisieren 22 Str_pos = Instr(rs232kommando ) Leerzeichen im Kommando suchen 23 If Str_pos gt 0 Then falls Leerzeichen dann in Kommando+Parameter zerlegen 24 Incr Str_pos Str_pos soll jetzt auf 1Zeichen des Parameters zeigen 25 Parameter = Mid(rs232kommando Str_pos ) Parameter = Teilstring nach Leerzeichen 26 Parameter = Ucase(parameter) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 27 Str_pos = Str_pos - 2 Str_pos soll jetzt auf letztes Zeichen des Kommandos zeigen 28 Rs232kommando = Left(rs232kommando Str_pos)Kommando = Teilstring vor Leerzeichen 29 Rs232kommando = Ucase(rs232kommando) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 30 End If 31 32 Select Case Rs232kommando Eventhandler Interpretation der Kommandos 33 Case Print Hilfe Hilfeseite anzeigen 34 Print LED on - LED einschalten 35 Print LED off - LED ausschalten 36 Print LED - zeigt Status der LED an 37 Print SW - zeigt Status des Schalters an 38

1K8

LED rotmicroC PortA0(PIN40)

Taster

microC PortA1(PIN39)

1

3

2

69

39 Case LED If Parameter = ON Then LED schalten 40 Porta0 = 1 41 End If 42 If Parameter = OFF Then 43 Porta0 = 0 44 End If 45 46 Case LED If Porta0 = 0 Then Status der LED ausgeben 47 Print LED aus 48 Else 49 Print LED an 50 End If 51 52 Case SW If Pina1 = 1 Then Status des Schalters ausgeben 53 Print Taster offen 54 Else 55 Print Taster geschlossen 56 End If 57 58 Case Else Print gt Rs232kommando lt ungueltiger Befehl - weitere Infos mit Info bei unguumlltigen Eingaben 59 End Select 60 61 End If 62 63 Loop Endlos-Schleife Springe zu Do 64 65 End wird nie erreicht

Der erste Teil des Programms (Zeilen 1 - 15) enthaumllt die Systemparameter Variablen und Initialisierung der Ein- und Ausgaumlnge Der zweite Teil enthaumllt ab Zeile 17 das Hauptpro-gramm in dem Benutzereingaben uumlber die serielle Schnittstelle empfangen interpretiert und in entsprechende Anweisungen umgesetzt werden Tab 14 erlaumlutert den Programmcode de-taillierter

Zeilen Erlaumluterung

1 - 3 Diese Angaben teilen dem Compiler (Bascom) mit welcher Prozessor eingesetzt wird wie schnell dieser getaktet (Quarz) ist und mit welcher Uumlbertragungsgeschwindigkeit die Kommunikation uumlber die serielle Schnittstelle (RS232) mit dem PC erfolgen soll

6 - 8 Es werden drei Variablen genutzt Die Eingabe uumlber die serielle Schnittstelle wird in rs232kommando gespeichert Es wird ein Text der Form Kommando ltLeerzeichengt Parameter erwartet so dass die Variable Parameter den-selbigen aufnimmt Die Variable str_pos wird fuumlr die Trennung von Kommando und Parameter benoumltigt

11 - 14

Mit dem Befehl ddrPX (ddr = data direction) wird festgelegt ob ein Beinchen als Ausgang (=1) oder als Eingang (=0) arbeiten soll Der ATmega16 besitzt 32 Ein-Ausgaumlnge die in vier Ports (P=AD) zu je 8 Pins (X=07) unterteilt sind ddrA0 = 1 legt also das 1 Beinchen (Pin 0) von PortA als Ausgang (=1) fest Mit dem Befehl PortA0 =1 kann dieser Pin dann durch Zuweisen von 1 oder 0 an- bzw ausgeschaltet werden Im Datenblatt erfahren Sie welches der 40 Beinchen des Mikrocontrollers wie bezeichnet wird (Pin-Belegung) Wird ein Beinchen als Eingang verwendet (ddrA1 = 0) koumlnnen Sie optional einen so genannten Pull-Up-Widerstand aktivieren (PortA1=1) oder deaktivieren (PortA1=0) Auch hierzu sollten Sie sich unbedingt mit dem Datenblatt vertraut machen

17 63 Das Hauptprogramm besteht aus einer Endlosschleife d h der Mikrocontroller verrichtet ununterbrochen seinen Job so lange er mit Strom versorgt wird

19 - 30 Falls ein Zeichen uumlber die serielle Schnittstelle empfangen wurde wird dieses und alle folgenden gelesen Anschlie-szligend wird gepruumlft ob der empfangene Text von der Form Kommando ltLeerzeichengt Parameter ist so dass er ge-gebenenfalls in ein Kommando und einen Parameter zerlegt werden kann

32 - 59 Dieser Abschnitt wird mit Event-Handler bezeichnet Hier wird auf die Kommandos (Events) reagiert und die ent-sprechenden Schritte ausgefuumlhrt zB schalten LED je nach Wert der Variablen Parameter an- bzw ausschalten

46 52

In beiden Zeilen wird ein Wert eines Ports abgefragt Unterschiedlich ist dass in Zeile 46 der Status eines Ausgangs abgefragt wird (porta0) und in Zeile 52 der Zustand eines Eingangs (pina0) Die Anweisung IF porta0 = 0 THEN pruumlft (hier ist = ein Vergleich und KEINE Zuweisung) ob zuletzt die LED ausgeschaltet (Zuweisung porta0 = 0) wurde Die Anweisung IF pina1= 1 THEN liest den Status eines Eingangs Hier kann festgestellt werden ob der Eingang uumlber den internen Pull-UP-Widerstand auf +5V liegt (pina1 liefert 1) oder ob der Schalter den Eingang mit Masse (0V) verbindet (pina1 liefert 0)

Tab 14 Erlaumluterung des Mikrocontroller-Programmcodes fuumlr elementares RCL

70

In Bascom AVR eine neue Datei erzeugen (FileNew) den Programmcode ohne Kommenta-re eingeben und mit ProgramCompile (F7) eine Hexadezimaldatei erzeugen Die Hexadezi-maldatei mit dem AVR-Studio und dem AVR-ISP-Programmer in den Mikrocontroller schrei-ben (larr 222 Programmuumlbertragung) Nach dem Verbinden von Computer und Interface per Null-Modem-Kabel kann durch Eingabe von in das konfigurierte Hyperterminal die Befehls-liste in Abb 30 aufgerufen werden

Abb 30 Aufgerufene Befehlsliste im Hyperterminal

Durch Eingabe von LED on oder LED off kann die LED ein- und ausgeschaltet LED zeigt den Status der LED und sw den Status des Tasters an Alternativ zum Hyperterminal kann auch das Terminal in BASCOM unter ToolsTerminal Emulator verwendet werden (larr 422)

464 Ferngesteuertes RCL Zum Ansteuern des Interfaces und zum Bedienen des Versuchsaufbaus uumlber das Internet wird eine Webseite benoumltigt die dem Benutzer alle Bedienelemente des Experiments zur Verfuumlgung stellt

Der Benutzer benoumltigt anklickbare Buttons im Webbrowser

Der Webserver muss die Information welcher Button gedruumlckt wurde empfangen und ein entsprechendes Kommando uumlber die serielle Schnittstelle an das Interface senden

Beide Schritte sind im nachfolgenden PHPHTML-Quellcode zusammengefasst 01 ltDOCTYPE HTML PUBLIC -W3CDTD HTML 401 TransitionalEN httpwwww3orgTRhtml4loosedtdgt 02 lthtmlgt 03 ltheadgt 04 ltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1gt 05 lttitlegtelementares RCLlttitlegt 06 ltheadgt 07 08 ltbodygt 09 ltphp 10 if (isset($_POST[Kommando])) wurde bereits Kommando gesendet 11 if( ( $handle = fopen( COM1 w+ ) ) ) Schnittstelle oumlffnen 12

71

13 throw new Exception( Can not access serial port 2 ) ohne Erfolg 14 15 fwrite( $handle $_POST[Kommando] chr( 13 ) ) Befehl an Interface senden 16 switch ( $_POST[Kommando] ) Antwort von Interface auswerten 17 case LED $tmp = fgets( $handle ) Echo von Interface ignorieren 18 $antwort = fgets( $handle ) Antwort des Interfaces 19 echo Antwort $antwort Ausgabe auf Webseite 20 break switch verlassen 21 22 case SW $tmp = fgets( $handle ) Echo von Interface ignorieren 23 $antwort = fgets( $handle ) Antwort des Interfaces 24 echo Antwort $antwort Ausgabe auf Webseite 25 break switch verlassen 26 27 28 29 fclose( $handle ) Schnittstelle schlieszligen 30 31 else 32 `mode com1 BAUD=9600 PARITY=N data=8 stop=1 xon=off` Schnittstellenparameter setzen 33 34 35 gt 36 37 lth3gtBefehl sendenlth3gt 38 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 39 ltinput type=hidden name=Kommando value=LED ON gt 40 ltinput type=submit value=LED anschalten gt 41 ltformgt 42 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 43 ltinput type=hidden name=Kommando value=LED OFF gt 44 ltinput type=submit value=LED ausschalten gt 45 ltformgt 46 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 47 ltinput type=hidden name=Kommando value=LED gt 48 ltinput type=submit value=LED abfragen gt 49 ltformgt 50 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 51 ltinput type=hidden name=Kommando value=SW gt 52 ltinput type=submit value=Taster abfragen gt 53 ltformgt 54 ltbodygt 55 lthtmlgt Den Quellcode in den Texteditor kopieren und im Ordner htdocs von XAMPP z B unter rclphp speichern HTML-Dateien mit PHP-Code (Zeilen 9-35) muumlssen mit der Erweiterung php gespeichert werden damit der Apache Webserver zwischen HTML-Seiten mit und ohne PHP-Code unterscheiden kann Den installierten Apache Webserver starten (larr 452) und im Adressfeld des Webbrowsers die IP-Adresse http127001rclphp aufrufen Das Bedi-enfeld des elementaren RCLs in Abb 31 wird im Browserfenster angezeigt

72

Abb 31 Laborseite des elementaren RCLs

Im Bedienfeld kann die LED an- und ausgeschaltet sowie der Status von LED und Taster abgefragt werden

  • 0 Warum ein Tutorial zur RCL-Technik
  • 1 Technische Konzeption
    • 11 Einfuumlhrung
    • 12 Wahl der RCL-Technik
      • 2 Lokal gesteuertes RCL
        • 21 Interface
          • 211 Mikrocontroller
          • 212 Basisschaltung und Erweiterungsschaltungen
          • 213 Programmierung des Mikrocontrollers
            • 22 Hyperterminal
            • 23 Positionieren von Objekten
              • 231 Hybrid-Schrittmotoren
              • 232 Schrittmotorsteuerung und Positionierungsmechanik
                  • 3 Ferngesteuertes RCL
                    • 31 RCL-Server
                    • 32 Laborseite
                      • 321 Steuerung des RCLs uumlber das Bedienfeld
                      • 322 Videouumlbertragung im Webcamfeld
                        • 33 Standard-Lernumgebung
                          • 4 ANHANG
                            • 41 Interface in Basisschaltung
                              • 411 Schaltplan und Bauteilliste
                              • 412 Bestuumlckung der Platine
                                • 42 Erweiterungsschaltungen
                                  • 421 Uumlbersicht
                                  • 422 TMC222-Modul zur Schrittmotorsteuerung
                                    • 4221 Schaltplan und Bauteilliste
                                    • 4222 Bestuumlckung der Platine
                                    • 4223 Quellcode des Mikrocontroller-Programms
                                      • 423 Geschaltete Spannungsquellen und Verbraucher
                                      • 424 Steuerung von Gleichstrommotoren
                                        • 43 Quellcodes zum RCL Elektronenbeugung
                                          • 431 Mikrocontroller-Programmierung
                                          • 432 PHP-Programmierung
                                          • 433 Bedienfeld der Laborseite
                                          • 434 Webcamfeld der Laborseite
                                            • 44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung
                                              • 441 AVR-Studio 418
                                                • 4411 Installation
                                                • 4412 Konfiguration
                                                  • 442 BASCOM 11198 Demoversion
                                                    • 4421 Installation
                                                    • 4422 Konfiguration
                                                        • 45 Installation und Konfiguration von Programmen auf dem RCL-Server
                                                          • 451 Einrichten des Internet-Zugangs
                                                          • 452 Paket XAMPP 174
                                                          • 453 Videoserver webcamXP 5 Private
                                                          • 454 Terminalprogramm Hyperterminal
                                                          • 455 Fernwartungssoftware TeamViewer 6 Host
                                                            • 46 Selbstbau eines elementaren RCLs
                                                              • 461 Hard- und Software
                                                              • 462 Bestuumlckung der Platine
                                                              • 463 Lokal gesteuertes RCL
                                                              • 464 Ferngesteuertes RCL

34

41 Interface in Basisschaltung 411 Schaltplan und Bauteilliste Abb 19 zeigt den Schaltplan der Basisschaltung des Interface und Tab 7 die dazugehoumlrige Bauteilliste

Abb 19 Basisschaltung des Interface

Nr Anzahl Kurzbeschreibung des Bauteils Best-Nr bei Reichelt electronic

Einzelpreis in euro

0 1 Epoxyd-Platine (190x112 mm) mit Anteil Loumltpunktraster (Spezi-

alanfertigung) - asymp 10

1 1

Epoxyd-Fotoplatine einseitig 160x100 mm 15 mm 35 microm Epoxyd-Lochrasterplatine 160x100 mm 15 mm 35 microm

BEL 160x100-1 UP 832EP

170 420

1 1 Hohlstecker-Einbaubuchse gewinkelt Loumltfahnen 21 mm HEBW 21 018 2 1 D-SUB-Stecker 9-polig gewinkelt RM 94 D-SUB ST 09EU 029 3 1 Schottky Diode DO41 40 V 1 A SB 140 008 4 1 Draht von abgeschnittenem Beinchen aus Pos-Nr 3 - - 5 1 IC-Sockel 16-polig superflach gedreht vergoldet GS 16P 029 6 1 IC-Sockel 40-polig superflach gedreht vergoldet GS 40P 061 7 1 2x10-pol-Stiftleiste gerade RM 254 SL 2X10G 254 007 8 1 Metallschichtwiderstand 100 kΩ Metall 100k 0082 9 1 Elektrolytkondensator 10x16 mm 470 microF RM 50 mm RAD 47025 006 10 1 Elektrolytkondensator 63x11 mm 100 microF RM 25 mm RAD 10016 004 11 5 Elektrolytkondensator 5x11 mm 10 microF RM 20 mm RAD 1035 004 12 2 Keramik-Kondensator 33 pF Kerko 33p 006 13 3 Vielschicht-Keramikkondensator 100 nF 20 Z5U-25 100n 004

35

14 1 Standardquarz Grundton 110592 MHz 110592-HC49U-S 018 15 1 Spannungsregler 1 A positiv TO-220 microA 7805 028 16 1 Kuumlhlkoumlrper fuumlr Gehaumluse TO-220 99KW V FI356 066 17 1 Zylinderkopfschraube Schlitz M3 10 mm fuumlr Kuumlhlkoumlrper M3x10mm 160 18 2 Sechskantmutter M3 fuumlr Kuumlhlkoumlrper SK M3 001 19 1 Stecker-Schaltnetzteil 12 V 2250 mA MW 3IP25GS 1150 20 1 RS232-Driver DIL-16 MAX 232 CPE 041 21 1 ATmega AVR-RISC-Controller DIL-40 ATmega16-16 DIP 420 22 3 10-poliger Wannenstecker RM 254 stehend (optional) WSL 10G 009 23 1 14-poliger Wannenstecker RM 254 stehend (optional) WSL 14G 014 24 1 40-polige Stiftleiste 1-reihig gerade RM254 (optional) SL 1x40G 254 023 25 1 Kunststoffgehaumluse 1982x1124x760 mm (Serientyp 202) - asymp 10 euro 26 1 D-SUB Nullmodem-Kabel 9-pol BUBU 3 m AK 143 155 27 x DIN-Einbaubuchse 5-pol Schraubver 360deg (optional) DIO-50W EMS 185 28 x DIN-Einbaubuchse 8-polig Schraubversch 270deg (optional) DIO-80SN EMS 180 29 x Pfostenstecker 10-polig mit Verrieglung gew (optional) PSL 10W 028 30 x Klemmleiste RM 254 Oumlffnungshebel 8-polig (optional) Wago 233 220

Tab 7 Bauteilliste mit Bestellnummer und Einzelpreisen der Bauelemente bei Reichelt electronic (Stand 23102010)

Anhand der Bauteilliste in koumlnnen die elektronischen Bauelemente der Basisschaltung (larr Tab 7 Nr 0 ndash 21 optional Nr 22 - 24) bei Reichelt electronic bestellt werden Das Gehaumluse des Interface (larr Tab 7 Nr 25) sollte vom Hersteller HAGOTECH GmbH bezogen werden Weiterhin wird ein Nullmodemkabel (larr Tab 7 Nr 26) zur Verbindung des Interface mit dem Computer benoumltigt Sensoren und Aktoren des Experiments koumlnnen mit optionalen Steck-verbindern (larr Tab 7 Nr 27 - 30) und entsprechende Kabelverbindungen an das Interface angeschlossen werden Die Nummern 0 - 25 stimmen mit der angegebenen Bestuumlckungs-reihenfolge auf der Platine uumlberein Das Interface kostet in der Basisschaltung ca 50 euro

412 Bestuumlckung der Platine Abb 20 zeigt zur Bestuumlckung der Platine benoumltigte Werkzeuge

Abb 20 Werkzeuge zur Bestuumlckung der Platine des Interface

36

Loumltkolben mit feiner Spitze in Meisselform 2 mm oder Loumltstation (1) Loumltzinnabsauger zum Entfernen von Loumltzinn (2) Nasser Schwamm zum Reinigen der Spitze des Loumltkolbens (3) Loumltzinn mit Durchmesser 08 - 10 mm (4) Flachspitzzange zum Biegen von Anschluumlssen der Bauelemente (5) Seitenschneider zum Kuumlrzen der Beinchen von Bauelementen (6) Multimeter zum Pruumlfen der Funktionsfaumlhigkeit der Schaltung (7) Sekundenkleber zur Befestigung von Bauelementen Kleine Bohrmaschine z B von Dremel und 08 mm Bohrer oder duumlnne Rundfeile zum

Weiten von Loumlchern auf der Platine des Interface

Abb 21 zeigt die Platine des Interface von der Loumltseite in der Spezialanfertigung der Elekt-ronik-Werkstatt an der Technischen Universitaumlt Kaiserslautern und in der Selbstbauvariante (larr Tab 7 Nr 0) Abb 22 zeigt das Platinenlayout

Abb 21 Platine des Interface von der Loumltseite als Spezialanfertigung (links) und der Selbstbauvariante

(rechts)

Abb 22 Layout zur Herstellung des geaumltzten Teils der

Platine in der Selbstbauvariante

37

In der Selbstbauvariante kann anhand des Platinenlayouts eine selbst geaumltzte Platine fuumlr die Basisschaltung auf einer Platine im Europakartenformat hergestellt und diese in der Laumlnge gekuumlrzt werden Eine gekuumlrzte Lochrasterplatine bildet den zweiten Teil der Platine Mit den optionalen vier Wannensteckern (larr Tab 7 Nr 22 - 23) oder den vier Stiftleisten (larr Tab 7 Nr 24) an den Ports des Mikrocontrollers koumlnnen leicht elektrische Verbindungen zum Rasterteil der Platine herstellt werden Abb 23 zeigt die fertig bestuumlckte Platine mit den Nummern aus Tab 7

Abb 23 Bestuumlckte Platine des Interface mit nummerierten Bauelementen

Tab 8 beschreibt das Einloumlten der elektronischen Bauelemente anhand der Nummern aus Tab 7 und in der angegebenen Reihenfolge

Nr Bauelement Beschreibung des Einbaus

0 Spezialanfertigung und Selbst-bauvariante der Epoxydharz-

Platine

1

Stromversorgungsbuchse ndash Hohlstecker 21 mm

Wenn die Loumltbeine nicht durch die Loumlcher der Platine passen die Loumlcher mit einer runden Schluumlsselfeile aufweiten

Stromversorgungsbuchse mit Sekundenkleber vor dem Festloumlten auf der Pla-tine fixieren da diese mechanischen Belastungen durch das Einstecken und Herausziehen des 12 V -Steckers ausgesetzt ist

Wahlweise kann die 25 mm-Version der Buchse verwendet werden

2

RS232 Datenstecker

RS232 Datenstecker mit Sekundenkleber vor dem Festloumlten auf der Platine fixieren da dieser mechanischen Belastungen durch das Einstecken und Herausziehen des Null-Modem-Kabels ausgesetzt ist

Alle Beinchen und Befestigungsstifte zur houmlheren Stabilitaumlt anloumlten

3

Ein Ring an einer Seite der Diode (hier links weiszlig) zeigt die Durchlass- bzw Sperrrichtung der Diode an Die Position des Ringes entspricht der Position des Balkens im Schaltungssymbol

38

Diode ndash SB140 Auf der Platine muss der Ring auf der von der Stromversorgungsbuchse ab-

gewandten Seite liegen

4 Drahtbruumlcke

Vor dem Einloumlten des 40-poligen IC-Sockels (Nr 5) muss eine Drahtbruumlcke unter diesem eingeloumltet werden Dazu koumlnnen die abgeschnittenen Beinchen der bereits eingeloumlteten Diode (Nr 3) verwendet werden

5 6

IC-Fassungen

Die 16-polige und 40-polige IC-Fassungen besitzen eventuell eine Markie-rung fuumlr Pin1 (z B Kerbe in der Stirnseite Punkt Pfeilhellip) als Hilfe fuumlr das richtige Einstecken der ICs Die Markierungen muumlssen bei beiden Fassungen nach oben also zum naumlchstliegenden Rand der Platine zeigen

Die ICs unbedingt noch nicht einstecken

7

ISP-Stiftleiste

Die doppelreihige ISP-Stiftleiste dient der Programmierung des Mikrocontrol-lers mit dem AVR-ISP-Programmer (ISP steht fuumlr In System Programming)

ISP-Stiftleiste auf 2 x 5 Stifte kuumlrzen und mit den kurzen Beinchen einloumlten so dass auf die langen Stifte der AVR-ISP-Programmer gesteckt werden kann

8

Widerstand 100 kΩ

Den 100 kΩ-Widerstand rechts neben der ISP-Stiftleiste einloumlten

9

10

11

Elkos

Bei den verwendeten Elektrolyt-Kondensatoren ist die Polung zu beachten (langes Beinchen = Plus-Pol) Weiterhin ist auf den Kondensatoren ein wei-szliger Streifen mit Minus-Zeichen aufgedruckt Die Kondensatoren sollten eine Spannungsfestigkeit von mindestens 16 V besser 25V besitzen

Auf der Kupferseite der Platine zeigt die Form der Loumltaugen die Polung an Rundes Loumltauge = Plus quadratisches Loumltauge = Minus

Der 470 microF Kondensator wird mit dem weiszligen Streifen in Richtung Stromver-sorgungsbuchse direkt unter diese montiert

Der 100 microF Kondensator sitzt direkt unter der 16-poligen IC-Fassung Sein weiszliger Streifen (Minus-Pol) zeigt in Richtung der Stromversorgungsbuchse

Vier der 10 microF Kondensatoren werden links neben der 16-poligen IC-Fassung montiert Deren Polung ist wie folgt Unterster Kondensator Minus nach oben naumlchster Kondensator Minus nach unten die beiden oberen Kondensatoren mit Minus nach oben

Ein weiterer 10 microF Kondensator wird rechts neben die 16-polige IC-Fassung geloumltet Sein Minus-Streifen zeigt nach unten

12

13

Keramik-Kondensatoren

Die Beschriftung 104 bedeutet 10e4 pF = 100 nF Die beiden 33 pF-Kerkos (Keramik-Kondensatoren) werden direkt nebenei-

nander rechts neben die 16-polige IC-Fassung geloumltet Zwei 100 nF-Kondensatoren werden unter dem 470 microF-Elko eingeloumltet ein

weiterer mittig an der linken Seite der 40-poligen IC-Fassung

14

Quarz

Als Quarz wird ein 110592 MHz-Typ verwendet Bei dieser Frequenz ist eine fehlerfreie Kommunikation uumlber RS232 mit 9600 Baud moumlglich Fuumlr den AT-mega16 koumlnnen Quarze bis 16 MHz eingesetzt werden Details siehe Daten-blatt

Der Quarz wird direkt rechts neben die beiden 33 pF-Kerkos geloumltet Die Ori-entierung des Quarz spielt keine Rolle

15

16

17

18

Der Spannungsregler L7805 erzeugt eine stabilisierte Spannung von 5 V Es muss ein Kuumlhlkoumlrper zur Waumlrmeabfuhr vom Spannungsregler verwendet werden

Vor dem Einloumlten zwischen Spannungsregler und Kuumlhlkoumlrper etwas Waumlrme-leitpaste aufgetragen Beide Bauteile fest mit einer Schraube M3x10 und ei-ner 1 Mutter verschrauben

Dann den Spannungsregler einloumlten um 90deg abzubiegen das uumlberstehende Gewinde durch das vorgesehene Loch stecken und alles mit einer 2 Mutter auf der Platine befestigen

1 Mutter

2 Mutter

Schr

aube

L7805

Platine

KuumlhlkoumlrperWaumlrmeleitpaste

Beinchen

Loumlten

39

Spannungsregler L7805 Kuumlhl-koumlrper und Montage

19

Steckernetzteil

Funktionskontrolle vor dem Einsetzen des Mikrocontrollers Polung der Elektrolyt-Kondensatoren (Elkos) pruumlfen Sind alle Beinchen angeloumltet Hat das Loumltzinn an den Beinchen und der Pla-

tine guten Kontakt Sind eventuell zwei benachbarte Beinchen unbeabsichtigt durch Loumltzinn verbunden Alle Loumltverbindungen nochmals genau z B mit ei-ner Lupe pruumlfen

Probeweise das Stecker-Netzteil an die Buchse anschlieszligen Am 100 nF-Kondensator links mittig der 40-poligen IC-Fassung muumlssen 5 V anliegen

Versorgungsspannung unbedingt wieder von der Platine trennen

20

21

ICs MAX232 und ATmega16

Die Nuten auf den ICs am linken Rand muumlssen nach oben zeigen d h Pin1 ist bei beiden ICs in der Abbildung links unten und auf der Platine oben links

Manchmal passen die Beinchen der ICs nicht in die Fassung weil die Fas-sung scheinbar zu schmal ist Dann den IC seitlich mit einer Beinchen-Reihe flach auf den Tisch legen den IC-Koumlrper links und rechts greifen und Bein-chen durch leichten Druck biegen Einzelne verbogene Beinchen vorsichtig mit einer kleinen Flachzange richten

22

23

Wannenstecker 10- und 14-polig

Wannenstecker an den vorgesehe-nen Stellen mit der Nut gegen Ver-polung in Richtung des naumlherliegen-den Platinenrands einloumlten

Die Abbildung rechts zeigt die Pin-Belegung der Wannenstecker

24

Stiftleiste 8-polig 40-pol Stiftleiste in 4 jeweils 8-polige Stuumlcke zerteilen und einloumlten

25

Kunststoffgehaumluse

In der Selbstbauvariante der Platine (Nr 0) vor dem Einsetzten der Platine in das Gehaumluse passend positionierte Kunststoffstege am Gehaumluseboden fest-kleben

Tab 8 Bestuumlckung der Platine des Interface mit Bauelementen

42 Erweiterungsschaltungen 421 Uumlbersicht In Tab 3 sind von RCLs des RCL-Portals Sensoren und Aktoren mit den dazugehoumlrigen Er-weiterungsschaltungen zusammengestellt Da alle RCLs obligatorisch uumlber mindestens eine Webcam verfuumlgen sind diese unter den Sensoren nicht aufgefuumlhrt Die wenigen Erweite-rungsschaltungen fuumlr Sensoren sind unter Sensoren in Klammern aufgelistet Unter Aktoren werden auszliger elektro-mechanischen Wandlern auch gesteuerte Geraumlte oder Bauelemente verstanden Anzeigeinstrumente sind unter Aktoren nur aufgefuumlhrt wenn sie direkt vom In-terface gesteuert werden Mit gekennzeichnete Erweiterungsschaltungen befinden sich au-szligerhalb des Interface

40

RCL Sensoren Aktoren Erweiterungsschaltungen fuumlr Aktoren

Beugung und Interferenz I Referenz-Taster

Schrittmotor (Rotation) Schrittmotorsteuerung Laser-Modul Geschaltete Spannungsversorgung

Beugung und Interferenz II

4 Referenz-Taster Lichtsensor

4 Schrittmotoren (Translation) 4 Schrittmotorsteuerungen 5 Laser-Module Geschaltete Spannungsversorgung LED fuumlr Position des

Lichtsensors Geschaltete Spannungsversorgung

LED fuumlr Linealbeleuchtung Geschaltete Spannungsversorgung

Elektronen-beugung

Hochspannungsnetzgeraumlt Geschaltete Spannungsversorgung Hochspannungsnetzgeraumlt Steuerung der Hochspannung

Fotoeffekt 2 Referenz-Taster Photozelle

2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen

Quecksilberdampflampe Geschaltete Spannungsversorgung

der Drossel fuumlr Quecksilberdampf-lampe

Halbleiter-kennlinien

und Halbleiterkennli-nien - Schuumller-

projekt

Referenz-Taster

Schrittmotor (Rotation) Schrittmotorsteuerung Oszilloskop Geschaltete Spannungsversorgung

Oszilloskop Instrumentenverstaumlrker fuumlr X- und Y-Ablenkung

Multimeter Steuerung Spannungs- oder Strom-anzeige

Heiszliger Draht 4 Endtaster 4 Drehgeber Kurzschlusssensor

4 Gleichstrommotoren 4 Treiber

Zweifarbige LED Steuerung der LED-Farbe

Lichtgeschwin-digkeit

Drehimpulsgeber 2 Taster an Enden

der Eisenbahnstre-cke

2 Schrittmotoren 2 Schrittmotorsteuerungen Oszilloskop Geschaltete Spannungsversorgung

Motor der Lokomotive Steuerung des Ein- und Ausschal-tens und der Bewegungsrichtung

Maut Infrarot-Sensor Gleichstrommotor Geschaltete Spannungsquelle 2 IR-Fernbedienungen Spannungsregler 2-stellige 7-Segmentanzeige LED-Treiber

Millikan-Versuch 2 Referenz-Taster

2 Schrittmotoren 2 Schrittmotorsteuerungen Lichtquelle (LED) fuumlr Millikan-

Kondensator Geschaltete Spannungsversorgung

Airbrush-Kompressor Geschaltete Spannungsversorgung Magnetventil Geschaltete Spannungsversorgung Millikan-Kondensator Gesteuertes Hochspannungsmodul

Optische Com-putertomogra-

phie

2 Referenz-Taster 2 Lichtsensoren

Schrittmotor (Rotation) Schrittmotorsteuerung Schrittmotor (Translation) Schrittmotorsteuerung

2 Laser-Module 2 geschaltete Spannungsversor-gungen

Optische Fou-rier-

Transformation 2 Referenz-Taster

2 Schrittmotoren (Translation) 2 Schrittmotorsteuerungen

Laser-Modul Geschaltete Spannungsversorgung

Oszilloskop Oszilloskop Geschaltete Spannungsversorgung Signalgenerator Steuerung der Signalart

Radioaktivitaumlt 4 Referenz-Taster Geiger-Muumlller-

Zaumlhlrohr

2 Schrittmotoren (Translation) 2 Schrittmotorsteuerungen 2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen 4-stellige 7-Segment-Anzeige Treiber Elektromagnet Geschaltete Spannungsversorgung

Roboter im Labyrinth Infrarot-Sensor

2 Schrittmotoren 2 Schrittmotorsteuerung Infrarot-Sender Treiber

Rutherfordscher Streuversuch

2 Referenz-Taster Halbleiterdetektor

(Impulsformer)

2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen

4-stellige 7-Segment-Anzeige Treiber

Weltpendel

Referenz-Taster Lichtsensor der

Lichtschranke (Im-pulsformer)

Temperatursensor

Schrittmotor (Translation) Schrittmotorsteuerung Elektromagnet Geschaltete Spannungsversorgung

Laser der Lichtschranke Geschaltete Spannungsversorgung

Windkanal Referenz-Taster Schrittmotor (Translation) Schrittmotorsteuerung

41

Dehnungsmess-streifen (Wheat-stonesche Bruumlcke Messverstaumlrker Multimeter)

Geblaumlsemotor Geschaltete Spannungsversorgung

und Ansteuerung mit Pulsweiten-modulation

Anemometer Geschaltete Spannungsversorgung Multimeter Geschaltete Spannungsversorgung

Tab 9 Sensoren Aktoren und Erweiterungsschaltungen der RCLs des RCL-Portals

422 TMC222-Modul zur Schrittmotorsteuerung 4221 Schaltplan und Bauteilliste Abb 1 zeigt die Beschaltung des TMC222 von Trinamic auf dem TMC222-Modul

Abb 24 Beschaltung des TMC222 von Trinamic

Anhand der Bauteilliste in Tab 10 koumlnnen die elektronischen Bauelemente des TMC222-Moduls bei Reichelt electronic bestellt werden Ein TMC222-Modul kostet ungefaumlhr 10 euro

Nr Anzahl Kurzbeschreibung des Bauteils Best-Nr bei Reichelt electronic

Einzelpreis in euro

0 1 Epoxyd-Fotoplatine einseitig 75x100 mm 15 mm 35 microm BEL75X100-1 096 1 1 Integrierter TMC-Schrittmotor-Controller TMC 222 SI asymp 7 2 1 Elektrolytkondensator 8x11 mm Rm 35 mm 100 microF35 V RAD 10035 004 3 1 Tantal-Kondensator Rm 25 10 microF35 V Tantal 1035 014 4 2 Vielschicht-Keramikkondensator 220 nF 20 Z5U-25 220N 011 5 3 Vielschicht-Keramikkondensator 100 nF 20 Z5U-25 100N 004 6 2 Metallschichtwiderstand 100 kΩ Metall 100K 0082 7 1 1x36pol Stiftleiste gewinkelt Rm 254 SL 1X36W 027 8 1 1x36pol Buchsenleiste gerade Rm 254 BL 1X36G 025

Tab 10 Bauteilliste mit Bestellnummer und Einzelpreisen der Bauelemente bei Reichelt electronic (Stand 23102010)

4222 Bestuumlckung der Platine

42

Abb 25 zeigt die fertig bestuumlckte Platine mit den Nummern aus Tab 10

Abb 25 Bestuumlckte Platine des TMC222-Moduls

mit nummerierten Bauelementen

Die Platine (35 mm x 30 mm) kann anhand des Layouts in Abb 26 hergestellt werden Der IC TMC222 wird auf der Loumltseite der Platine aufgeloumltet Das TMC222-Modul kann mit der Stiftleiste (larr Tab 10 Nr 7) in eine Buchsenleiste (larr Tab 10 Nr 8) auf die Platine des In-terface gesteckt werden

Abb 26 Platine des TMC222-Moduls von der Loumltseite (links) und Layout

4223 Quellcode des Mikrocontroller-Programms Im Folgenden ist ein mit Bascom (larr 12 Tab 1 Entwicklungsumgebungen) erstelltes Bei-spiel-Programm zur Ansteuerung des Schrittmotormoduls TMC222 durch den Mikrocontroller ATmega16 angegeben $regfile = m16DEFdat $crystal = 11059200 $baud = 9600 Definitionen Config Scl = Portc0 Taktleitung Config Sda = Portc1 Datenleitung Const Adress = ampB11000000 I2C Adresse des TMC222 Const GetFullstatus1 = ampB10000001 Kommando des TMC222 Const Resetpos = ampB10000110 Kommando des TMC222 Const Motorparameter = ampB10001001 Kommando des TMC222 Const Setposition = ampB10001011 Dim Puffer(10) As Byte

43

Programm I2csend Adress GetFullstatus1 GetFullstatus1 (Initialisierung des TMC222) I2creceive Adress 7 Ack Daten in Puffer auslesen Puffer(1) = Motorparameter puffer auffuumlllen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB11110011 1111irun 0011ihold Puffer(5) = ampB01110001 0111vmax 0001vmin Puffer(6) = ampB00010000 000securepos(bit10-8) 1shaft 0000acceleration Puffer(7) = 0 securepos(bit7-0) Puffer(8) = ampB00001100 000nicht belegt 0accshape 11stepmode 00nicht belegt I2csend Adress Puffer(1) 8 I2csend Adress Resetpos aktuelle Position auf 0 setzen Puffer(1) = Setposition Motor bewegen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB01111111 position(bit 15-8) Puffer(5) = ampB11111111 position(bit 7-0)acute I2csend Adress Puffer(1) 5 End

423 Geschaltete Spannungsquellen und Verbraucher Die Ausgaumlnge des Mikrocontrollers duumlrfen nur mit Stroumlmen kleiner als ungefaumlhr 20 mA belas-tet werden Verbraucher mit einer Stromlast groumlszliger als 20 mA koumlnnen daher nicht direkt an den Mikrocontroller angeschlossen werden Abb 27 zeigt links eine Schaltung zum Schalten eines Verbrauchers wie z B des Relais und rechts eine Schaltung mit dem IC ULN2803A zum Schalten mehrerer Verbraucher wie z B Gluumlhlampen

Abb 27 Erweiterungsschaltungen zum Schalten eines (links) oder

mehrerer Verbraucher (rechts)

Zu beachten ist dass der Transistor BC337 maximal 800 mA schalten kann und fuumlr groumlszligere Stroumlme andere Transistoren verwendet werden muumlssen

424 Steuerung von Gleichstrommotoren

44

Sollen Gleichstrommotoren zum Bewegen von Objekten mit dem Mikrocontroller gesteuert werden dann eignet sich dazu der in Abb 28 dargestellte beschaltete IC L293D

Abb 28 Beschaltung des L293D zum

Steuern zweier Gleichstrom-motoren

Mit Pin 1 = Pin 9 = 1 (High) koumlnnen zwei Gleichstrommotoren M1 und M2 (Versorgungs-spannung UM lt 36 V Spulendauerstrom IM lt 600 mA) unabhaumlngig voneinander ein- und ausgeschaltet sowie in der Drehrichtung uumlber die Ports PA0 und PA1 fuumlr M1 und PA2 und PA3 fuumlr M2 gesteuert werden Z B gilt mit PA0 = PA1 = 0 (M1 ausgeschaltet) PA0 = 1 und PA1 = 0 (M1 dreht sich) PA0 = 0 und PA1 = 1 (M1 dreht sich in Gegenrichtung)

45

43 Quellcodes zum RCL Elektronenbeugung 431 Mikrocontroller-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

46

47

48

49

432 PHP-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

50

51

433 Bedienfeld der Laborseite

Tab 11 erlaumlutert die Funktion der Bloumlcke im Quellcode

Zeilen Funktion 1 Datei defaultconf einbinden 2 Datei headtpl einbinden

5 - 11 Ausgabe der verbleibenden Experimentierzeit 18 - 21 Button zum Einschalten der Elektronenbeugungsroumlhre 28 - 30 Eingabefeld fuumlr die Beschleunigungsspannung

37 Ruumlckmeldung zur eingegebenen Beschleunigungsspannung 42 Datei foottpl einbinden

Tab 11 Funktion der Programmbloumlcke in der Datei experi-menttpl

52

434 Webcamfeld der Laborseite

In Tab 12 ist die Funktion der Programmbloumlcke und die Anpassungen der Vorlage an das RCL Elektronenbeugung beschrieben

Zeilen Funktion Anpassung RCL Elektronenbeugung

5 Titelangabe erscheint als Tabulatorbeschriftung in Browsern

Name des RCLs eintragen

11 - 15 16 - 20

Zwei Javascripts zum getrennten Aufrufen zweier Po-pup-Fenster mit dargestelltem Webcambildern 1 und 2

Javascript 1 die IP-Adresse eintragen Javascript 2 auskommentiert weil nicht benoumltigt

24 - 40 42 - 60

Zwei Javascripts zum Aktualisieren der Webcambilder 1 und 2

Javascript 2 auskommentiert weil nicht benoumltigt

67 - 71 79 - 83

Aufrufen des ersten Webcambilds der Webcams 1 und 2 beim Aufrufen der Datei

Webcambild 2 auskommentiert weil nicht benoumltigt

72 - 78 84 - 90

Buttons zum Aufrufen der Screenshots der Webcam-bilder 1 und 2

Button 2 auskommentiert weil nicht benoumltigt

91 - 95 Zeile der Tabelle zum Eintragen von Informationen die sich auf die Webcambilder oder den Versuch beziehen

Text in Zeile der Tabelle geschrieben

Tab 12 Funktionen der Codeabschnitte in der Datei videohtm und Anpassung der Vor-lage an das RCL Elektronenbeugung

53

44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung Im Folgenden wird die Installation und Konfiguration des AVR-Studios 418 und der Bascom 11198 Demoversion beschrieben Alle Anleitungen sind zeilenweise von links nach rechts zu lesen

441 AVR-Studio 418 4411 Installation Auf der Webseite von ATMEL Register AVR Studio 418 (build 684) anklicken und Registrie-rungsformular ausfuumlllen Danach die Datei AvrStudio418Setup herunterladen Durch Dop-pelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen Next waumlhlen

I accept hellip und Next waumlhlen Installationsordner und Next waumlhlen

54

Installupgrade hellip und Next waumlhlen Install waumlhlen Die Installation beginnt

Finish waumlhlen

4412 Konfiguration AVR Studio 418 in Windows XP Professional unter StartProgramme aufrufen

Startfenster mit Cancel schlieszligen Unter ToolsProgram AVR Auto Connect waumlhlen

55

Im eingeblendeten Fenster auf der Registerkarte Main als Device ATmega16 und als Programming Mode ISP mo-de waumlhlen

Optional kann Signatur gelesen werden

In der Registerkarte Fuses alle Haumlkchen und Auswahlfel-der wie angegeben waumlhlen

Dann Program waumlhlen

442 BASCOM 11198 Demoversion 4421 Installation Auf der Webseite von Bascom unter Bascom AVR Demo die Zip-Datei setupdemoexe her-untergeladen Durch Doppelklick auf den Dateinamen die Installation starten

Next waumlhlen I accept the agreement und Next waumlhlen

56

Next waumlhlen Installationsordner eingeben und Next waumlhlen

Eintrag im Start-Menuuml eingeben und Next waumlhlen Next waumlhlen

Yes restart the computer now und Finish waumlhlen

57

4422 Konfiguration Bascom AVR in Windows XP Professional unter StartProgramme zum Einstellen der Para-meter des Mikrocontrollers und des Terminals aufrufen

OptionsCompilerChip waumlhlen Einstellungen wie im Bild vornehmen und OK waumlhlen

Auf der Registerkarte Communications Einstellungen wie im Bild vornehmen und OK waumlhlen

Unter OptionsCommunication Einstellungen wie im Bild

vornehmen und OK waumlhlen FileNew waumlhlen Unter ToolsTerminal emulator das Terminal aufrufen und

eingeben Die Befehlsliste des RCLs Elektronenbeu-gung wird angezeigt

45 Installation und Konfiguration von Programmen auf dem RCL-Server Im Folgenden wird der Download die Installation und die Konfiguration von Programmen auf dem RCL-Server unter Windows XP Professional beschrieben Alle Anleitungen sind zeilen-weise von links nach rechts zu lesen Die Installation der Programme sollte in der angegebe-nen Reihenfolge erfolgen

58

451 Einrichten des Internet-Zugangs LAN-Verbindung unter StartSystemsteuerungNetzwerkverbindungen aufrufen

Internetprotokoll (TCPIP) und Eigenschaften waumlhlen Folgende IP-Adresse verwenden waumlhlen IP-Adressen ein-

geben und OK waumlhlen

452 Paket XAMPP 174 Unter apache friends - xampp fuumlr windows und XAMPP Windows 174 Installer anklicken und Datei xampp-win32-174-VC6-installerexe speichern Durch Doppelklick auf die Datei die Installation starten

Sprache und Ok waumlhlen Ok waumlhlen

59

Weiter waumlhlen Zielverzeichnis mit Durchsuchen waumlhlen oder eingeben

Apache nicht als Dienst installieren Fertig stellen waumlhlen

Ja waumlhlen Zum Starten des Apache Webservers das Control Panel

unter StartProgrammeXAMPP 173 for Windows mit Start starten Anstelle von Start erscheint Running

Zum Beenden des Apache Webservers Stop waumlhlen Zum Beenden des Control Panels Exit waumlhlen

60

453 Videoserver webcamXP 5 Private Auf der Webseite von Moonware Studios unter webcamXP 55xx die Datei wlite550 herun-terladen Durch Doppelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen I Agree waumlhlen

Next waumlhlen Auszliger webcamXP 5 brauchen keine weiteren Komponen-

ten installiert zu werden

Den vorgeschlagenen Ordner und Install waumlhlen Finish waumlhlen

61

WebcamXP unter StartProgramme aufrufen Zugesandte

Lizenz-Daten in das eingeblendete Fenster eingeben und Register waumlhlen

Beim Starten des Programms stellt webcamXP automa-tisch eine Verbindung zu den am Computer angeschlosse-nen Webcams her

Nach dem Start ist Uumlberwachen gewaumlhlt Durch Rechts-klick mit der Maus auf das Videofenster wird zu jeder Vi-deoquelle ein Kontextmenuuml angezeigt Wird kein Videobild dargestellt das Kontextmenuuml aufrufen Art der Videoquelle waumlhlen (hier USB) und unter den erkannten Videoquellen (hier USB-Videogeraumlt) die gewuumlnschte waumlhlen

Das Videoformat muss fuumlr eine passende Darstellung auf

der Laborseite auf 320 x 240 eingestellt sein Ist das nicht der Fall im Kontextmenuuml unter Video Format einstellen

In gleicher Weise kann eine zweite Videoquelle hinzugefuumlgt werden

In der Registerkarte Web Broadcast kann unter

Broadcast (HTTP) der Videoserver mit Ausschalten ge-stoppt und mit Aktivieren gestartet werden

Zur Zielwahl des Webservers (131246237167 - Internet D16W3X3J - Computer 127001 - Local Host) Videoser-ver stoppen und einstellen Videoserver wieder starten

62

454 Terminalprogramm Hyperterminal Hyperterminal in Windows XP Professional unter StartProgrammeZubehoumlrKommunikation aufrufen

Name der neuen Verbindung - z B Interface - eingeben

und OK waumlhlen Die Verbindung zwischen Computer und Interface wurde

uumlber einen USB-Seriell-Adapter hergestellt Dann erschei-nen zwei zusaumltzliche Eintraumlge (Motorola Comp Modem und COM5) in der Liste Prinzipiell muss eine COMx-Verbindung gewaumlhlt werden

Eigenschaften von COM 5 wie im Bild einstellen und OK

waumlhlen DateiEigenschaften aufrufen und ASCII-Konfiguration

waumlhlen

63

Haken bei Eingegebene Zeichen lokal ausgeben (lokales

Echo) setzen um eingegebenen Zeichen im Hyperterminal zu sehen

Bei funktionsfaumlhiger Verbindung erscheint nach Eingabe von Return die Befehlsliste des Interface

Durch Aufrufen von DateiSpeichern die erstellte Verbin-

dung z B auf dem Desktop speichern Dadurch braucht die Verbindung nicht immer wieder von neuem konfiguriert wer-den

Nach Aufrufen von DateiBeenden die bestehende Verbin-dung mit Ja beenden

64

Wurde ein falscher COM-Port gewaumlhlt reagiert das Inter-

face auf die Eingabe Return nicht Hyperterminal dann beenden

Der COM-Port kann dann nicht unter DateiEigenschaften im Hyperterminal aber unter Eigenschaften des Kontext-menuumls der Datei Interfaceht in der Registerkarte Verbin-den mit geaumlndert werden Dann OK waumlhlen und erneut Verbindung testen

65

455 Fernwartungssoftware TeamViewer 6 Host Auf der Webseite von Teamviewer GmbH unter Fuumlr unbeaufsichtigte Server TeamViewer Vollversion die Datei TeamViewer_Setup-wq herunterladen Das Programm muss auf dem RCL-Server und dem Computer der auf den RCL-Server zugreifen soll installiert werden Durch Doppelklick auf die Datei die Installation starten

Ausfuumlhren waumlhlen Weiter waumlhlen

Fuumlr die private nicht kommerzielle Nutzung ist Teamviewer kostenlos

privat nicht-kommerziell und Weiter waumlhlen

Beide Haumlkchen setzen und Weiter waumlhlen

66

Ja un Weiter waumlhlen Weiter

Computername und Kennwort fuumlr den Zugriff auf den RCL-Server oder den eigenen Computer vergeben Kenn wort notie-ren

Ein Teamviewerkonto ist nicht erforderlich Kann auch spaumlter noch eingerichtet werden

ID fuumlr den Computer auf dem das Programm installiert wird fuumlr Zugriff notieren

Das Programm wird gestartet Standardmaumlszligig vorein-gestellt ist der Start des Programms beim Start des Be-trienssystems

67

46 Selbstbau eines elementaren RCLs 461 Hard- und Software Auch ohne gleich ein vielleicht teures physikalisches Experiment zu steuern laumlsst sich mit wenigen Bauelementen ein elementares RCL realisieren Von einer Webseite im Internet sol-len eine Leuchtdiode (LED) ein- oder ausgeschaltet sowie der Zustand der Leuchtdiode und eines Tasters abgefragt werden An Hard- und Software werden benoumltigt

1 Low-Current-LED 5 mm 2 mA 1 Widerstand 18 kΩ 1 Taster und optional zwei 10-polige Wannenstecker mit ungefaumlhr 10 cm passendem Flachbandkabel und Buchsen

Interface in Basisschaltung Null-Modem-Kabel 12 V DC Steckernetzteil (larr 1)

Installierte Bascom-Demo-Version (larr 42)

AVR ISP-Programmer mit 10-poligem Programmierkabel

Installiertes und konfiguriertes AVR Studio 418 (larr 41)

Installiertes Paket XAMPP (larr 52)

Texteditor wie z B Notepad in Windows XP Professional

Konfigurierte Hyperterminalverbindung (larr 54)

462 Bestuumlckung der Platine Abb 29 zeigt zur Orientierung fuumlr das Einloumlten der Bauelemente die fertig bestuumlckte Platine des Interface

Abb 29 Mit elementarem RCL bestuumlckte Platine

des Interface

LED mit Vorwiderstand und der Taster sind rechts neben dem Mikrocontroller im Lochraster-bereich aufgebaut und uumlber Wannenstecker und Flachbandkabel mit dem Port A des Mikro-controllers verbunden (die drei Bauteile rechts neben dem ATmega16 werden nicht benouml-tigt) Tab 13 erlaumlutert die Schritte zur Bestuumlckung der Platine des Interface

68

Nr Schaltung Erlaumluterung

1

Die Leuchtdiode (LED) mit dem Pluspol (langes Beinchen) an PortA0 (PIN40 oben rechts) des Mikrocontrollers anloumlten

An das kurze Beinchen einen 18kΩ Widerstand loumlten dessen anderes Ende mit der Masse (GND) verbinden

2

Den Taster mit PortA1 (PIN39 = 2 Beinchen von oben rechts) und Masse (GND) verbinden

3

Draufsicht

Belegung des 10-poligen Wannensteckers 1 GND (Masse) im Foto oben links 2 +5 V 3 PortA0 4 PortA1 10 PortA7 im Foto unten rechts

Tab 13 Schritte zum Aufbau des elementaren RCLs

463 Lokal gesteuertes RCL Nachfolgend ist der Basic-Programmcode des Mikrocontrollers zur Steuerung und Abfrage der LED und des Tasters angegeben 01 $regfile = m16DEFdat Microcontroller ATmega16 02 $crystal = 11059200 110592MHz Quarz 03 $baud = 9600 Baudrate 04 05 ---[ Variables ]--------------------------------------------------------------- 06 Dim Rs232kommando As String 10 erst Befehlspuffer dann Kommando 07 Dim Parameter As String 10 Parameter 08 Dim Str_pos As Byte Position von Leerzeichen zur Trennung von Kommando und Pa-rameter 09 10 ---[ Initialisierung ]--------------------------------------------------------- 11 Ddra0 = 1 PortA0 als Ausgang fuumlr LED 12 Porta0 = 0 LED aus 13 Ddra1 = 0 PortA1 als Eingang fuumlr Taster 14 Porta1 = 1 Pull-Up aktivieren 15 16 ---[ Main program loop ]------------------------------------------------------- 17 Do Start der Endlos-Schleife 18 19 If Ischarwaiting() = 1 Then Zeichen uumlber RS232 empfangen 20 Input Rs232kommando neues Kommando lesen 21 Parameter = Parameter initialisieren 22 Str_pos = Instr(rs232kommando ) Leerzeichen im Kommando suchen 23 If Str_pos gt 0 Then falls Leerzeichen dann in Kommando+Parameter zerlegen 24 Incr Str_pos Str_pos soll jetzt auf 1Zeichen des Parameters zeigen 25 Parameter = Mid(rs232kommando Str_pos ) Parameter = Teilstring nach Leerzeichen 26 Parameter = Ucase(parameter) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 27 Str_pos = Str_pos - 2 Str_pos soll jetzt auf letztes Zeichen des Kommandos zeigen 28 Rs232kommando = Left(rs232kommando Str_pos)Kommando = Teilstring vor Leerzeichen 29 Rs232kommando = Ucase(rs232kommando) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 30 End If 31 32 Select Case Rs232kommando Eventhandler Interpretation der Kommandos 33 Case Print Hilfe Hilfeseite anzeigen 34 Print LED on - LED einschalten 35 Print LED off - LED ausschalten 36 Print LED - zeigt Status der LED an 37 Print SW - zeigt Status des Schalters an 38

1K8

LED rotmicroC PortA0(PIN40)

Taster

microC PortA1(PIN39)

1

3

2

69

39 Case LED If Parameter = ON Then LED schalten 40 Porta0 = 1 41 End If 42 If Parameter = OFF Then 43 Porta0 = 0 44 End If 45 46 Case LED If Porta0 = 0 Then Status der LED ausgeben 47 Print LED aus 48 Else 49 Print LED an 50 End If 51 52 Case SW If Pina1 = 1 Then Status des Schalters ausgeben 53 Print Taster offen 54 Else 55 Print Taster geschlossen 56 End If 57 58 Case Else Print gt Rs232kommando lt ungueltiger Befehl - weitere Infos mit Info bei unguumlltigen Eingaben 59 End Select 60 61 End If 62 63 Loop Endlos-Schleife Springe zu Do 64 65 End wird nie erreicht

Der erste Teil des Programms (Zeilen 1 - 15) enthaumllt die Systemparameter Variablen und Initialisierung der Ein- und Ausgaumlnge Der zweite Teil enthaumllt ab Zeile 17 das Hauptpro-gramm in dem Benutzereingaben uumlber die serielle Schnittstelle empfangen interpretiert und in entsprechende Anweisungen umgesetzt werden Tab 14 erlaumlutert den Programmcode de-taillierter

Zeilen Erlaumluterung

1 - 3 Diese Angaben teilen dem Compiler (Bascom) mit welcher Prozessor eingesetzt wird wie schnell dieser getaktet (Quarz) ist und mit welcher Uumlbertragungsgeschwindigkeit die Kommunikation uumlber die serielle Schnittstelle (RS232) mit dem PC erfolgen soll

6 - 8 Es werden drei Variablen genutzt Die Eingabe uumlber die serielle Schnittstelle wird in rs232kommando gespeichert Es wird ein Text der Form Kommando ltLeerzeichengt Parameter erwartet so dass die Variable Parameter den-selbigen aufnimmt Die Variable str_pos wird fuumlr die Trennung von Kommando und Parameter benoumltigt

11 - 14

Mit dem Befehl ddrPX (ddr = data direction) wird festgelegt ob ein Beinchen als Ausgang (=1) oder als Eingang (=0) arbeiten soll Der ATmega16 besitzt 32 Ein-Ausgaumlnge die in vier Ports (P=AD) zu je 8 Pins (X=07) unterteilt sind ddrA0 = 1 legt also das 1 Beinchen (Pin 0) von PortA als Ausgang (=1) fest Mit dem Befehl PortA0 =1 kann dieser Pin dann durch Zuweisen von 1 oder 0 an- bzw ausgeschaltet werden Im Datenblatt erfahren Sie welches der 40 Beinchen des Mikrocontrollers wie bezeichnet wird (Pin-Belegung) Wird ein Beinchen als Eingang verwendet (ddrA1 = 0) koumlnnen Sie optional einen so genannten Pull-Up-Widerstand aktivieren (PortA1=1) oder deaktivieren (PortA1=0) Auch hierzu sollten Sie sich unbedingt mit dem Datenblatt vertraut machen

17 63 Das Hauptprogramm besteht aus einer Endlosschleife d h der Mikrocontroller verrichtet ununterbrochen seinen Job so lange er mit Strom versorgt wird

19 - 30 Falls ein Zeichen uumlber die serielle Schnittstelle empfangen wurde wird dieses und alle folgenden gelesen Anschlie-szligend wird gepruumlft ob der empfangene Text von der Form Kommando ltLeerzeichengt Parameter ist so dass er ge-gebenenfalls in ein Kommando und einen Parameter zerlegt werden kann

32 - 59 Dieser Abschnitt wird mit Event-Handler bezeichnet Hier wird auf die Kommandos (Events) reagiert und die ent-sprechenden Schritte ausgefuumlhrt zB schalten LED je nach Wert der Variablen Parameter an- bzw ausschalten

46 52

In beiden Zeilen wird ein Wert eines Ports abgefragt Unterschiedlich ist dass in Zeile 46 der Status eines Ausgangs abgefragt wird (porta0) und in Zeile 52 der Zustand eines Eingangs (pina0) Die Anweisung IF porta0 = 0 THEN pruumlft (hier ist = ein Vergleich und KEINE Zuweisung) ob zuletzt die LED ausgeschaltet (Zuweisung porta0 = 0) wurde Die Anweisung IF pina1= 1 THEN liest den Status eines Eingangs Hier kann festgestellt werden ob der Eingang uumlber den internen Pull-UP-Widerstand auf +5V liegt (pina1 liefert 1) oder ob der Schalter den Eingang mit Masse (0V) verbindet (pina1 liefert 0)

Tab 14 Erlaumluterung des Mikrocontroller-Programmcodes fuumlr elementares RCL

70

In Bascom AVR eine neue Datei erzeugen (FileNew) den Programmcode ohne Kommenta-re eingeben und mit ProgramCompile (F7) eine Hexadezimaldatei erzeugen Die Hexadezi-maldatei mit dem AVR-Studio und dem AVR-ISP-Programmer in den Mikrocontroller schrei-ben (larr 222 Programmuumlbertragung) Nach dem Verbinden von Computer und Interface per Null-Modem-Kabel kann durch Eingabe von in das konfigurierte Hyperterminal die Befehls-liste in Abb 30 aufgerufen werden

Abb 30 Aufgerufene Befehlsliste im Hyperterminal

Durch Eingabe von LED on oder LED off kann die LED ein- und ausgeschaltet LED zeigt den Status der LED und sw den Status des Tasters an Alternativ zum Hyperterminal kann auch das Terminal in BASCOM unter ToolsTerminal Emulator verwendet werden (larr 422)

464 Ferngesteuertes RCL Zum Ansteuern des Interfaces und zum Bedienen des Versuchsaufbaus uumlber das Internet wird eine Webseite benoumltigt die dem Benutzer alle Bedienelemente des Experiments zur Verfuumlgung stellt

Der Benutzer benoumltigt anklickbare Buttons im Webbrowser

Der Webserver muss die Information welcher Button gedruumlckt wurde empfangen und ein entsprechendes Kommando uumlber die serielle Schnittstelle an das Interface senden

Beide Schritte sind im nachfolgenden PHPHTML-Quellcode zusammengefasst 01 ltDOCTYPE HTML PUBLIC -W3CDTD HTML 401 TransitionalEN httpwwww3orgTRhtml4loosedtdgt 02 lthtmlgt 03 ltheadgt 04 ltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1gt 05 lttitlegtelementares RCLlttitlegt 06 ltheadgt 07 08 ltbodygt 09 ltphp 10 if (isset($_POST[Kommando])) wurde bereits Kommando gesendet 11 if( ( $handle = fopen( COM1 w+ ) ) ) Schnittstelle oumlffnen 12

71

13 throw new Exception( Can not access serial port 2 ) ohne Erfolg 14 15 fwrite( $handle $_POST[Kommando] chr( 13 ) ) Befehl an Interface senden 16 switch ( $_POST[Kommando] ) Antwort von Interface auswerten 17 case LED $tmp = fgets( $handle ) Echo von Interface ignorieren 18 $antwort = fgets( $handle ) Antwort des Interfaces 19 echo Antwort $antwort Ausgabe auf Webseite 20 break switch verlassen 21 22 case SW $tmp = fgets( $handle ) Echo von Interface ignorieren 23 $antwort = fgets( $handle ) Antwort des Interfaces 24 echo Antwort $antwort Ausgabe auf Webseite 25 break switch verlassen 26 27 28 29 fclose( $handle ) Schnittstelle schlieszligen 30 31 else 32 `mode com1 BAUD=9600 PARITY=N data=8 stop=1 xon=off` Schnittstellenparameter setzen 33 34 35 gt 36 37 lth3gtBefehl sendenlth3gt 38 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 39 ltinput type=hidden name=Kommando value=LED ON gt 40 ltinput type=submit value=LED anschalten gt 41 ltformgt 42 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 43 ltinput type=hidden name=Kommando value=LED OFF gt 44 ltinput type=submit value=LED ausschalten gt 45 ltformgt 46 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 47 ltinput type=hidden name=Kommando value=LED gt 48 ltinput type=submit value=LED abfragen gt 49 ltformgt 50 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 51 ltinput type=hidden name=Kommando value=SW gt 52 ltinput type=submit value=Taster abfragen gt 53 ltformgt 54 ltbodygt 55 lthtmlgt Den Quellcode in den Texteditor kopieren und im Ordner htdocs von XAMPP z B unter rclphp speichern HTML-Dateien mit PHP-Code (Zeilen 9-35) muumlssen mit der Erweiterung php gespeichert werden damit der Apache Webserver zwischen HTML-Seiten mit und ohne PHP-Code unterscheiden kann Den installierten Apache Webserver starten (larr 452) und im Adressfeld des Webbrowsers die IP-Adresse http127001rclphp aufrufen Das Bedi-enfeld des elementaren RCLs in Abb 31 wird im Browserfenster angezeigt

72

Abb 31 Laborseite des elementaren RCLs

Im Bedienfeld kann die LED an- und ausgeschaltet sowie der Status von LED und Taster abgefragt werden

  • 0 Warum ein Tutorial zur RCL-Technik
  • 1 Technische Konzeption
    • 11 Einfuumlhrung
    • 12 Wahl der RCL-Technik
      • 2 Lokal gesteuertes RCL
        • 21 Interface
          • 211 Mikrocontroller
          • 212 Basisschaltung und Erweiterungsschaltungen
          • 213 Programmierung des Mikrocontrollers
            • 22 Hyperterminal
            • 23 Positionieren von Objekten
              • 231 Hybrid-Schrittmotoren
              • 232 Schrittmotorsteuerung und Positionierungsmechanik
                  • 3 Ferngesteuertes RCL
                    • 31 RCL-Server
                    • 32 Laborseite
                      • 321 Steuerung des RCLs uumlber das Bedienfeld
                      • 322 Videouumlbertragung im Webcamfeld
                        • 33 Standard-Lernumgebung
                          • 4 ANHANG
                            • 41 Interface in Basisschaltung
                              • 411 Schaltplan und Bauteilliste
                              • 412 Bestuumlckung der Platine
                                • 42 Erweiterungsschaltungen
                                  • 421 Uumlbersicht
                                  • 422 TMC222-Modul zur Schrittmotorsteuerung
                                    • 4221 Schaltplan und Bauteilliste
                                    • 4222 Bestuumlckung der Platine
                                    • 4223 Quellcode des Mikrocontroller-Programms
                                      • 423 Geschaltete Spannungsquellen und Verbraucher
                                      • 424 Steuerung von Gleichstrommotoren
                                        • 43 Quellcodes zum RCL Elektronenbeugung
                                          • 431 Mikrocontroller-Programmierung
                                          • 432 PHP-Programmierung
                                          • 433 Bedienfeld der Laborseite
                                          • 434 Webcamfeld der Laborseite
                                            • 44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung
                                              • 441 AVR-Studio 418
                                                • 4411 Installation
                                                • 4412 Konfiguration
                                                  • 442 BASCOM 11198 Demoversion
                                                    • 4421 Installation
                                                    • 4422 Konfiguration
                                                        • 45 Installation und Konfiguration von Programmen auf dem RCL-Server
                                                          • 451 Einrichten des Internet-Zugangs
                                                          • 452 Paket XAMPP 174
                                                          • 453 Videoserver webcamXP 5 Private
                                                          • 454 Terminalprogramm Hyperterminal
                                                          • 455 Fernwartungssoftware TeamViewer 6 Host
                                                            • 46 Selbstbau eines elementaren RCLs
                                                              • 461 Hard- und Software
                                                              • 462 Bestuumlckung der Platine
                                                              • 463 Lokal gesteuertes RCL
                                                              • 464 Ferngesteuertes RCL

35

14 1 Standardquarz Grundton 110592 MHz 110592-HC49U-S 018 15 1 Spannungsregler 1 A positiv TO-220 microA 7805 028 16 1 Kuumlhlkoumlrper fuumlr Gehaumluse TO-220 99KW V FI356 066 17 1 Zylinderkopfschraube Schlitz M3 10 mm fuumlr Kuumlhlkoumlrper M3x10mm 160 18 2 Sechskantmutter M3 fuumlr Kuumlhlkoumlrper SK M3 001 19 1 Stecker-Schaltnetzteil 12 V 2250 mA MW 3IP25GS 1150 20 1 RS232-Driver DIL-16 MAX 232 CPE 041 21 1 ATmega AVR-RISC-Controller DIL-40 ATmega16-16 DIP 420 22 3 10-poliger Wannenstecker RM 254 stehend (optional) WSL 10G 009 23 1 14-poliger Wannenstecker RM 254 stehend (optional) WSL 14G 014 24 1 40-polige Stiftleiste 1-reihig gerade RM254 (optional) SL 1x40G 254 023 25 1 Kunststoffgehaumluse 1982x1124x760 mm (Serientyp 202) - asymp 10 euro 26 1 D-SUB Nullmodem-Kabel 9-pol BUBU 3 m AK 143 155 27 x DIN-Einbaubuchse 5-pol Schraubver 360deg (optional) DIO-50W EMS 185 28 x DIN-Einbaubuchse 8-polig Schraubversch 270deg (optional) DIO-80SN EMS 180 29 x Pfostenstecker 10-polig mit Verrieglung gew (optional) PSL 10W 028 30 x Klemmleiste RM 254 Oumlffnungshebel 8-polig (optional) Wago 233 220

Tab 7 Bauteilliste mit Bestellnummer und Einzelpreisen der Bauelemente bei Reichelt electronic (Stand 23102010)

Anhand der Bauteilliste in koumlnnen die elektronischen Bauelemente der Basisschaltung (larr Tab 7 Nr 0 ndash 21 optional Nr 22 - 24) bei Reichelt electronic bestellt werden Das Gehaumluse des Interface (larr Tab 7 Nr 25) sollte vom Hersteller HAGOTECH GmbH bezogen werden Weiterhin wird ein Nullmodemkabel (larr Tab 7 Nr 26) zur Verbindung des Interface mit dem Computer benoumltigt Sensoren und Aktoren des Experiments koumlnnen mit optionalen Steck-verbindern (larr Tab 7 Nr 27 - 30) und entsprechende Kabelverbindungen an das Interface angeschlossen werden Die Nummern 0 - 25 stimmen mit der angegebenen Bestuumlckungs-reihenfolge auf der Platine uumlberein Das Interface kostet in der Basisschaltung ca 50 euro

412 Bestuumlckung der Platine Abb 20 zeigt zur Bestuumlckung der Platine benoumltigte Werkzeuge

Abb 20 Werkzeuge zur Bestuumlckung der Platine des Interface

36

Loumltkolben mit feiner Spitze in Meisselform 2 mm oder Loumltstation (1) Loumltzinnabsauger zum Entfernen von Loumltzinn (2) Nasser Schwamm zum Reinigen der Spitze des Loumltkolbens (3) Loumltzinn mit Durchmesser 08 - 10 mm (4) Flachspitzzange zum Biegen von Anschluumlssen der Bauelemente (5) Seitenschneider zum Kuumlrzen der Beinchen von Bauelementen (6) Multimeter zum Pruumlfen der Funktionsfaumlhigkeit der Schaltung (7) Sekundenkleber zur Befestigung von Bauelementen Kleine Bohrmaschine z B von Dremel und 08 mm Bohrer oder duumlnne Rundfeile zum

Weiten von Loumlchern auf der Platine des Interface

Abb 21 zeigt die Platine des Interface von der Loumltseite in der Spezialanfertigung der Elekt-ronik-Werkstatt an der Technischen Universitaumlt Kaiserslautern und in der Selbstbauvariante (larr Tab 7 Nr 0) Abb 22 zeigt das Platinenlayout

Abb 21 Platine des Interface von der Loumltseite als Spezialanfertigung (links) und der Selbstbauvariante

(rechts)

Abb 22 Layout zur Herstellung des geaumltzten Teils der

Platine in der Selbstbauvariante

37

In der Selbstbauvariante kann anhand des Platinenlayouts eine selbst geaumltzte Platine fuumlr die Basisschaltung auf einer Platine im Europakartenformat hergestellt und diese in der Laumlnge gekuumlrzt werden Eine gekuumlrzte Lochrasterplatine bildet den zweiten Teil der Platine Mit den optionalen vier Wannensteckern (larr Tab 7 Nr 22 - 23) oder den vier Stiftleisten (larr Tab 7 Nr 24) an den Ports des Mikrocontrollers koumlnnen leicht elektrische Verbindungen zum Rasterteil der Platine herstellt werden Abb 23 zeigt die fertig bestuumlckte Platine mit den Nummern aus Tab 7

Abb 23 Bestuumlckte Platine des Interface mit nummerierten Bauelementen

Tab 8 beschreibt das Einloumlten der elektronischen Bauelemente anhand der Nummern aus Tab 7 und in der angegebenen Reihenfolge

Nr Bauelement Beschreibung des Einbaus

0 Spezialanfertigung und Selbst-bauvariante der Epoxydharz-

Platine

1

Stromversorgungsbuchse ndash Hohlstecker 21 mm

Wenn die Loumltbeine nicht durch die Loumlcher der Platine passen die Loumlcher mit einer runden Schluumlsselfeile aufweiten

Stromversorgungsbuchse mit Sekundenkleber vor dem Festloumlten auf der Pla-tine fixieren da diese mechanischen Belastungen durch das Einstecken und Herausziehen des 12 V -Steckers ausgesetzt ist

Wahlweise kann die 25 mm-Version der Buchse verwendet werden

2

RS232 Datenstecker

RS232 Datenstecker mit Sekundenkleber vor dem Festloumlten auf der Platine fixieren da dieser mechanischen Belastungen durch das Einstecken und Herausziehen des Null-Modem-Kabels ausgesetzt ist

Alle Beinchen und Befestigungsstifte zur houmlheren Stabilitaumlt anloumlten

3

Ein Ring an einer Seite der Diode (hier links weiszlig) zeigt die Durchlass- bzw Sperrrichtung der Diode an Die Position des Ringes entspricht der Position des Balkens im Schaltungssymbol

38

Diode ndash SB140 Auf der Platine muss der Ring auf der von der Stromversorgungsbuchse ab-

gewandten Seite liegen

4 Drahtbruumlcke

Vor dem Einloumlten des 40-poligen IC-Sockels (Nr 5) muss eine Drahtbruumlcke unter diesem eingeloumltet werden Dazu koumlnnen die abgeschnittenen Beinchen der bereits eingeloumlteten Diode (Nr 3) verwendet werden

5 6

IC-Fassungen

Die 16-polige und 40-polige IC-Fassungen besitzen eventuell eine Markie-rung fuumlr Pin1 (z B Kerbe in der Stirnseite Punkt Pfeilhellip) als Hilfe fuumlr das richtige Einstecken der ICs Die Markierungen muumlssen bei beiden Fassungen nach oben also zum naumlchstliegenden Rand der Platine zeigen

Die ICs unbedingt noch nicht einstecken

7

ISP-Stiftleiste

Die doppelreihige ISP-Stiftleiste dient der Programmierung des Mikrocontrol-lers mit dem AVR-ISP-Programmer (ISP steht fuumlr In System Programming)

ISP-Stiftleiste auf 2 x 5 Stifte kuumlrzen und mit den kurzen Beinchen einloumlten so dass auf die langen Stifte der AVR-ISP-Programmer gesteckt werden kann

8

Widerstand 100 kΩ

Den 100 kΩ-Widerstand rechts neben der ISP-Stiftleiste einloumlten

9

10

11

Elkos

Bei den verwendeten Elektrolyt-Kondensatoren ist die Polung zu beachten (langes Beinchen = Plus-Pol) Weiterhin ist auf den Kondensatoren ein wei-szliger Streifen mit Minus-Zeichen aufgedruckt Die Kondensatoren sollten eine Spannungsfestigkeit von mindestens 16 V besser 25V besitzen

Auf der Kupferseite der Platine zeigt die Form der Loumltaugen die Polung an Rundes Loumltauge = Plus quadratisches Loumltauge = Minus

Der 470 microF Kondensator wird mit dem weiszligen Streifen in Richtung Stromver-sorgungsbuchse direkt unter diese montiert

Der 100 microF Kondensator sitzt direkt unter der 16-poligen IC-Fassung Sein weiszliger Streifen (Minus-Pol) zeigt in Richtung der Stromversorgungsbuchse

Vier der 10 microF Kondensatoren werden links neben der 16-poligen IC-Fassung montiert Deren Polung ist wie folgt Unterster Kondensator Minus nach oben naumlchster Kondensator Minus nach unten die beiden oberen Kondensatoren mit Minus nach oben

Ein weiterer 10 microF Kondensator wird rechts neben die 16-polige IC-Fassung geloumltet Sein Minus-Streifen zeigt nach unten

12

13

Keramik-Kondensatoren

Die Beschriftung 104 bedeutet 10e4 pF = 100 nF Die beiden 33 pF-Kerkos (Keramik-Kondensatoren) werden direkt nebenei-

nander rechts neben die 16-polige IC-Fassung geloumltet Zwei 100 nF-Kondensatoren werden unter dem 470 microF-Elko eingeloumltet ein

weiterer mittig an der linken Seite der 40-poligen IC-Fassung

14

Quarz

Als Quarz wird ein 110592 MHz-Typ verwendet Bei dieser Frequenz ist eine fehlerfreie Kommunikation uumlber RS232 mit 9600 Baud moumlglich Fuumlr den AT-mega16 koumlnnen Quarze bis 16 MHz eingesetzt werden Details siehe Daten-blatt

Der Quarz wird direkt rechts neben die beiden 33 pF-Kerkos geloumltet Die Ori-entierung des Quarz spielt keine Rolle

15

16

17

18

Der Spannungsregler L7805 erzeugt eine stabilisierte Spannung von 5 V Es muss ein Kuumlhlkoumlrper zur Waumlrmeabfuhr vom Spannungsregler verwendet werden

Vor dem Einloumlten zwischen Spannungsregler und Kuumlhlkoumlrper etwas Waumlrme-leitpaste aufgetragen Beide Bauteile fest mit einer Schraube M3x10 und ei-ner 1 Mutter verschrauben

Dann den Spannungsregler einloumlten um 90deg abzubiegen das uumlberstehende Gewinde durch das vorgesehene Loch stecken und alles mit einer 2 Mutter auf der Platine befestigen

1 Mutter

2 Mutter

Schr

aube

L7805

Platine

KuumlhlkoumlrperWaumlrmeleitpaste

Beinchen

Loumlten

39

Spannungsregler L7805 Kuumlhl-koumlrper und Montage

19

Steckernetzteil

Funktionskontrolle vor dem Einsetzen des Mikrocontrollers Polung der Elektrolyt-Kondensatoren (Elkos) pruumlfen Sind alle Beinchen angeloumltet Hat das Loumltzinn an den Beinchen und der Pla-

tine guten Kontakt Sind eventuell zwei benachbarte Beinchen unbeabsichtigt durch Loumltzinn verbunden Alle Loumltverbindungen nochmals genau z B mit ei-ner Lupe pruumlfen

Probeweise das Stecker-Netzteil an die Buchse anschlieszligen Am 100 nF-Kondensator links mittig der 40-poligen IC-Fassung muumlssen 5 V anliegen

Versorgungsspannung unbedingt wieder von der Platine trennen

20

21

ICs MAX232 und ATmega16

Die Nuten auf den ICs am linken Rand muumlssen nach oben zeigen d h Pin1 ist bei beiden ICs in der Abbildung links unten und auf der Platine oben links

Manchmal passen die Beinchen der ICs nicht in die Fassung weil die Fas-sung scheinbar zu schmal ist Dann den IC seitlich mit einer Beinchen-Reihe flach auf den Tisch legen den IC-Koumlrper links und rechts greifen und Bein-chen durch leichten Druck biegen Einzelne verbogene Beinchen vorsichtig mit einer kleinen Flachzange richten

22

23

Wannenstecker 10- und 14-polig

Wannenstecker an den vorgesehe-nen Stellen mit der Nut gegen Ver-polung in Richtung des naumlherliegen-den Platinenrands einloumlten

Die Abbildung rechts zeigt die Pin-Belegung der Wannenstecker

24

Stiftleiste 8-polig 40-pol Stiftleiste in 4 jeweils 8-polige Stuumlcke zerteilen und einloumlten

25

Kunststoffgehaumluse

In der Selbstbauvariante der Platine (Nr 0) vor dem Einsetzten der Platine in das Gehaumluse passend positionierte Kunststoffstege am Gehaumluseboden fest-kleben

Tab 8 Bestuumlckung der Platine des Interface mit Bauelementen

42 Erweiterungsschaltungen 421 Uumlbersicht In Tab 3 sind von RCLs des RCL-Portals Sensoren und Aktoren mit den dazugehoumlrigen Er-weiterungsschaltungen zusammengestellt Da alle RCLs obligatorisch uumlber mindestens eine Webcam verfuumlgen sind diese unter den Sensoren nicht aufgefuumlhrt Die wenigen Erweite-rungsschaltungen fuumlr Sensoren sind unter Sensoren in Klammern aufgelistet Unter Aktoren werden auszliger elektro-mechanischen Wandlern auch gesteuerte Geraumlte oder Bauelemente verstanden Anzeigeinstrumente sind unter Aktoren nur aufgefuumlhrt wenn sie direkt vom In-terface gesteuert werden Mit gekennzeichnete Erweiterungsschaltungen befinden sich au-szligerhalb des Interface

40

RCL Sensoren Aktoren Erweiterungsschaltungen fuumlr Aktoren

Beugung und Interferenz I Referenz-Taster

Schrittmotor (Rotation) Schrittmotorsteuerung Laser-Modul Geschaltete Spannungsversorgung

Beugung und Interferenz II

4 Referenz-Taster Lichtsensor

4 Schrittmotoren (Translation) 4 Schrittmotorsteuerungen 5 Laser-Module Geschaltete Spannungsversorgung LED fuumlr Position des

Lichtsensors Geschaltete Spannungsversorgung

LED fuumlr Linealbeleuchtung Geschaltete Spannungsversorgung

Elektronen-beugung

Hochspannungsnetzgeraumlt Geschaltete Spannungsversorgung Hochspannungsnetzgeraumlt Steuerung der Hochspannung

Fotoeffekt 2 Referenz-Taster Photozelle

2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen

Quecksilberdampflampe Geschaltete Spannungsversorgung

der Drossel fuumlr Quecksilberdampf-lampe

Halbleiter-kennlinien

und Halbleiterkennli-nien - Schuumller-

projekt

Referenz-Taster

Schrittmotor (Rotation) Schrittmotorsteuerung Oszilloskop Geschaltete Spannungsversorgung

Oszilloskop Instrumentenverstaumlrker fuumlr X- und Y-Ablenkung

Multimeter Steuerung Spannungs- oder Strom-anzeige

Heiszliger Draht 4 Endtaster 4 Drehgeber Kurzschlusssensor

4 Gleichstrommotoren 4 Treiber

Zweifarbige LED Steuerung der LED-Farbe

Lichtgeschwin-digkeit

Drehimpulsgeber 2 Taster an Enden

der Eisenbahnstre-cke

2 Schrittmotoren 2 Schrittmotorsteuerungen Oszilloskop Geschaltete Spannungsversorgung

Motor der Lokomotive Steuerung des Ein- und Ausschal-tens und der Bewegungsrichtung

Maut Infrarot-Sensor Gleichstrommotor Geschaltete Spannungsquelle 2 IR-Fernbedienungen Spannungsregler 2-stellige 7-Segmentanzeige LED-Treiber

Millikan-Versuch 2 Referenz-Taster

2 Schrittmotoren 2 Schrittmotorsteuerungen Lichtquelle (LED) fuumlr Millikan-

Kondensator Geschaltete Spannungsversorgung

Airbrush-Kompressor Geschaltete Spannungsversorgung Magnetventil Geschaltete Spannungsversorgung Millikan-Kondensator Gesteuertes Hochspannungsmodul

Optische Com-putertomogra-

phie

2 Referenz-Taster 2 Lichtsensoren

Schrittmotor (Rotation) Schrittmotorsteuerung Schrittmotor (Translation) Schrittmotorsteuerung

2 Laser-Module 2 geschaltete Spannungsversor-gungen

Optische Fou-rier-

Transformation 2 Referenz-Taster

2 Schrittmotoren (Translation) 2 Schrittmotorsteuerungen

Laser-Modul Geschaltete Spannungsversorgung

Oszilloskop Oszilloskop Geschaltete Spannungsversorgung Signalgenerator Steuerung der Signalart

Radioaktivitaumlt 4 Referenz-Taster Geiger-Muumlller-

Zaumlhlrohr

2 Schrittmotoren (Translation) 2 Schrittmotorsteuerungen 2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen 4-stellige 7-Segment-Anzeige Treiber Elektromagnet Geschaltete Spannungsversorgung

Roboter im Labyrinth Infrarot-Sensor

2 Schrittmotoren 2 Schrittmotorsteuerung Infrarot-Sender Treiber

Rutherfordscher Streuversuch

2 Referenz-Taster Halbleiterdetektor

(Impulsformer)

2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen

4-stellige 7-Segment-Anzeige Treiber

Weltpendel

Referenz-Taster Lichtsensor der

Lichtschranke (Im-pulsformer)

Temperatursensor

Schrittmotor (Translation) Schrittmotorsteuerung Elektromagnet Geschaltete Spannungsversorgung

Laser der Lichtschranke Geschaltete Spannungsversorgung

Windkanal Referenz-Taster Schrittmotor (Translation) Schrittmotorsteuerung

41

Dehnungsmess-streifen (Wheat-stonesche Bruumlcke Messverstaumlrker Multimeter)

Geblaumlsemotor Geschaltete Spannungsversorgung

und Ansteuerung mit Pulsweiten-modulation

Anemometer Geschaltete Spannungsversorgung Multimeter Geschaltete Spannungsversorgung

Tab 9 Sensoren Aktoren und Erweiterungsschaltungen der RCLs des RCL-Portals

422 TMC222-Modul zur Schrittmotorsteuerung 4221 Schaltplan und Bauteilliste Abb 1 zeigt die Beschaltung des TMC222 von Trinamic auf dem TMC222-Modul

Abb 24 Beschaltung des TMC222 von Trinamic

Anhand der Bauteilliste in Tab 10 koumlnnen die elektronischen Bauelemente des TMC222-Moduls bei Reichelt electronic bestellt werden Ein TMC222-Modul kostet ungefaumlhr 10 euro

Nr Anzahl Kurzbeschreibung des Bauteils Best-Nr bei Reichelt electronic

Einzelpreis in euro

0 1 Epoxyd-Fotoplatine einseitig 75x100 mm 15 mm 35 microm BEL75X100-1 096 1 1 Integrierter TMC-Schrittmotor-Controller TMC 222 SI asymp 7 2 1 Elektrolytkondensator 8x11 mm Rm 35 mm 100 microF35 V RAD 10035 004 3 1 Tantal-Kondensator Rm 25 10 microF35 V Tantal 1035 014 4 2 Vielschicht-Keramikkondensator 220 nF 20 Z5U-25 220N 011 5 3 Vielschicht-Keramikkondensator 100 nF 20 Z5U-25 100N 004 6 2 Metallschichtwiderstand 100 kΩ Metall 100K 0082 7 1 1x36pol Stiftleiste gewinkelt Rm 254 SL 1X36W 027 8 1 1x36pol Buchsenleiste gerade Rm 254 BL 1X36G 025

Tab 10 Bauteilliste mit Bestellnummer und Einzelpreisen der Bauelemente bei Reichelt electronic (Stand 23102010)

4222 Bestuumlckung der Platine

42

Abb 25 zeigt die fertig bestuumlckte Platine mit den Nummern aus Tab 10

Abb 25 Bestuumlckte Platine des TMC222-Moduls

mit nummerierten Bauelementen

Die Platine (35 mm x 30 mm) kann anhand des Layouts in Abb 26 hergestellt werden Der IC TMC222 wird auf der Loumltseite der Platine aufgeloumltet Das TMC222-Modul kann mit der Stiftleiste (larr Tab 10 Nr 7) in eine Buchsenleiste (larr Tab 10 Nr 8) auf die Platine des In-terface gesteckt werden

Abb 26 Platine des TMC222-Moduls von der Loumltseite (links) und Layout

4223 Quellcode des Mikrocontroller-Programms Im Folgenden ist ein mit Bascom (larr 12 Tab 1 Entwicklungsumgebungen) erstelltes Bei-spiel-Programm zur Ansteuerung des Schrittmotormoduls TMC222 durch den Mikrocontroller ATmega16 angegeben $regfile = m16DEFdat $crystal = 11059200 $baud = 9600 Definitionen Config Scl = Portc0 Taktleitung Config Sda = Portc1 Datenleitung Const Adress = ampB11000000 I2C Adresse des TMC222 Const GetFullstatus1 = ampB10000001 Kommando des TMC222 Const Resetpos = ampB10000110 Kommando des TMC222 Const Motorparameter = ampB10001001 Kommando des TMC222 Const Setposition = ampB10001011 Dim Puffer(10) As Byte

43

Programm I2csend Adress GetFullstatus1 GetFullstatus1 (Initialisierung des TMC222) I2creceive Adress 7 Ack Daten in Puffer auslesen Puffer(1) = Motorparameter puffer auffuumlllen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB11110011 1111irun 0011ihold Puffer(5) = ampB01110001 0111vmax 0001vmin Puffer(6) = ampB00010000 000securepos(bit10-8) 1shaft 0000acceleration Puffer(7) = 0 securepos(bit7-0) Puffer(8) = ampB00001100 000nicht belegt 0accshape 11stepmode 00nicht belegt I2csend Adress Puffer(1) 8 I2csend Adress Resetpos aktuelle Position auf 0 setzen Puffer(1) = Setposition Motor bewegen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB01111111 position(bit 15-8) Puffer(5) = ampB11111111 position(bit 7-0)acute I2csend Adress Puffer(1) 5 End

423 Geschaltete Spannungsquellen und Verbraucher Die Ausgaumlnge des Mikrocontrollers duumlrfen nur mit Stroumlmen kleiner als ungefaumlhr 20 mA belas-tet werden Verbraucher mit einer Stromlast groumlszliger als 20 mA koumlnnen daher nicht direkt an den Mikrocontroller angeschlossen werden Abb 27 zeigt links eine Schaltung zum Schalten eines Verbrauchers wie z B des Relais und rechts eine Schaltung mit dem IC ULN2803A zum Schalten mehrerer Verbraucher wie z B Gluumlhlampen

Abb 27 Erweiterungsschaltungen zum Schalten eines (links) oder

mehrerer Verbraucher (rechts)

Zu beachten ist dass der Transistor BC337 maximal 800 mA schalten kann und fuumlr groumlszligere Stroumlme andere Transistoren verwendet werden muumlssen

424 Steuerung von Gleichstrommotoren

44

Sollen Gleichstrommotoren zum Bewegen von Objekten mit dem Mikrocontroller gesteuert werden dann eignet sich dazu der in Abb 28 dargestellte beschaltete IC L293D

Abb 28 Beschaltung des L293D zum

Steuern zweier Gleichstrom-motoren

Mit Pin 1 = Pin 9 = 1 (High) koumlnnen zwei Gleichstrommotoren M1 und M2 (Versorgungs-spannung UM lt 36 V Spulendauerstrom IM lt 600 mA) unabhaumlngig voneinander ein- und ausgeschaltet sowie in der Drehrichtung uumlber die Ports PA0 und PA1 fuumlr M1 und PA2 und PA3 fuumlr M2 gesteuert werden Z B gilt mit PA0 = PA1 = 0 (M1 ausgeschaltet) PA0 = 1 und PA1 = 0 (M1 dreht sich) PA0 = 0 und PA1 = 1 (M1 dreht sich in Gegenrichtung)

45

43 Quellcodes zum RCL Elektronenbeugung 431 Mikrocontroller-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

46

47

48

49

432 PHP-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

50

51

433 Bedienfeld der Laborseite

Tab 11 erlaumlutert die Funktion der Bloumlcke im Quellcode

Zeilen Funktion 1 Datei defaultconf einbinden 2 Datei headtpl einbinden

5 - 11 Ausgabe der verbleibenden Experimentierzeit 18 - 21 Button zum Einschalten der Elektronenbeugungsroumlhre 28 - 30 Eingabefeld fuumlr die Beschleunigungsspannung

37 Ruumlckmeldung zur eingegebenen Beschleunigungsspannung 42 Datei foottpl einbinden

Tab 11 Funktion der Programmbloumlcke in der Datei experi-menttpl

52

434 Webcamfeld der Laborseite

In Tab 12 ist die Funktion der Programmbloumlcke und die Anpassungen der Vorlage an das RCL Elektronenbeugung beschrieben

Zeilen Funktion Anpassung RCL Elektronenbeugung

5 Titelangabe erscheint als Tabulatorbeschriftung in Browsern

Name des RCLs eintragen

11 - 15 16 - 20

Zwei Javascripts zum getrennten Aufrufen zweier Po-pup-Fenster mit dargestelltem Webcambildern 1 und 2

Javascript 1 die IP-Adresse eintragen Javascript 2 auskommentiert weil nicht benoumltigt

24 - 40 42 - 60

Zwei Javascripts zum Aktualisieren der Webcambilder 1 und 2

Javascript 2 auskommentiert weil nicht benoumltigt

67 - 71 79 - 83

Aufrufen des ersten Webcambilds der Webcams 1 und 2 beim Aufrufen der Datei

Webcambild 2 auskommentiert weil nicht benoumltigt

72 - 78 84 - 90

Buttons zum Aufrufen der Screenshots der Webcam-bilder 1 und 2

Button 2 auskommentiert weil nicht benoumltigt

91 - 95 Zeile der Tabelle zum Eintragen von Informationen die sich auf die Webcambilder oder den Versuch beziehen

Text in Zeile der Tabelle geschrieben

Tab 12 Funktionen der Codeabschnitte in der Datei videohtm und Anpassung der Vor-lage an das RCL Elektronenbeugung

53

44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung Im Folgenden wird die Installation und Konfiguration des AVR-Studios 418 und der Bascom 11198 Demoversion beschrieben Alle Anleitungen sind zeilenweise von links nach rechts zu lesen

441 AVR-Studio 418 4411 Installation Auf der Webseite von ATMEL Register AVR Studio 418 (build 684) anklicken und Registrie-rungsformular ausfuumlllen Danach die Datei AvrStudio418Setup herunterladen Durch Dop-pelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen Next waumlhlen

I accept hellip und Next waumlhlen Installationsordner und Next waumlhlen

54

Installupgrade hellip und Next waumlhlen Install waumlhlen Die Installation beginnt

Finish waumlhlen

4412 Konfiguration AVR Studio 418 in Windows XP Professional unter StartProgramme aufrufen

Startfenster mit Cancel schlieszligen Unter ToolsProgram AVR Auto Connect waumlhlen

55

Im eingeblendeten Fenster auf der Registerkarte Main als Device ATmega16 und als Programming Mode ISP mo-de waumlhlen

Optional kann Signatur gelesen werden

In der Registerkarte Fuses alle Haumlkchen und Auswahlfel-der wie angegeben waumlhlen

Dann Program waumlhlen

442 BASCOM 11198 Demoversion 4421 Installation Auf der Webseite von Bascom unter Bascom AVR Demo die Zip-Datei setupdemoexe her-untergeladen Durch Doppelklick auf den Dateinamen die Installation starten

Next waumlhlen I accept the agreement und Next waumlhlen

56

Next waumlhlen Installationsordner eingeben und Next waumlhlen

Eintrag im Start-Menuuml eingeben und Next waumlhlen Next waumlhlen

Yes restart the computer now und Finish waumlhlen

57

4422 Konfiguration Bascom AVR in Windows XP Professional unter StartProgramme zum Einstellen der Para-meter des Mikrocontrollers und des Terminals aufrufen

OptionsCompilerChip waumlhlen Einstellungen wie im Bild vornehmen und OK waumlhlen

Auf der Registerkarte Communications Einstellungen wie im Bild vornehmen und OK waumlhlen

Unter OptionsCommunication Einstellungen wie im Bild

vornehmen und OK waumlhlen FileNew waumlhlen Unter ToolsTerminal emulator das Terminal aufrufen und

eingeben Die Befehlsliste des RCLs Elektronenbeu-gung wird angezeigt

45 Installation und Konfiguration von Programmen auf dem RCL-Server Im Folgenden wird der Download die Installation und die Konfiguration von Programmen auf dem RCL-Server unter Windows XP Professional beschrieben Alle Anleitungen sind zeilen-weise von links nach rechts zu lesen Die Installation der Programme sollte in der angegebe-nen Reihenfolge erfolgen

58

451 Einrichten des Internet-Zugangs LAN-Verbindung unter StartSystemsteuerungNetzwerkverbindungen aufrufen

Internetprotokoll (TCPIP) und Eigenschaften waumlhlen Folgende IP-Adresse verwenden waumlhlen IP-Adressen ein-

geben und OK waumlhlen

452 Paket XAMPP 174 Unter apache friends - xampp fuumlr windows und XAMPP Windows 174 Installer anklicken und Datei xampp-win32-174-VC6-installerexe speichern Durch Doppelklick auf die Datei die Installation starten

Sprache und Ok waumlhlen Ok waumlhlen

59

Weiter waumlhlen Zielverzeichnis mit Durchsuchen waumlhlen oder eingeben

Apache nicht als Dienst installieren Fertig stellen waumlhlen

Ja waumlhlen Zum Starten des Apache Webservers das Control Panel

unter StartProgrammeXAMPP 173 for Windows mit Start starten Anstelle von Start erscheint Running

Zum Beenden des Apache Webservers Stop waumlhlen Zum Beenden des Control Panels Exit waumlhlen

60

453 Videoserver webcamXP 5 Private Auf der Webseite von Moonware Studios unter webcamXP 55xx die Datei wlite550 herun-terladen Durch Doppelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen I Agree waumlhlen

Next waumlhlen Auszliger webcamXP 5 brauchen keine weiteren Komponen-

ten installiert zu werden

Den vorgeschlagenen Ordner und Install waumlhlen Finish waumlhlen

61

WebcamXP unter StartProgramme aufrufen Zugesandte

Lizenz-Daten in das eingeblendete Fenster eingeben und Register waumlhlen

Beim Starten des Programms stellt webcamXP automa-tisch eine Verbindung zu den am Computer angeschlosse-nen Webcams her

Nach dem Start ist Uumlberwachen gewaumlhlt Durch Rechts-klick mit der Maus auf das Videofenster wird zu jeder Vi-deoquelle ein Kontextmenuuml angezeigt Wird kein Videobild dargestellt das Kontextmenuuml aufrufen Art der Videoquelle waumlhlen (hier USB) und unter den erkannten Videoquellen (hier USB-Videogeraumlt) die gewuumlnschte waumlhlen

Das Videoformat muss fuumlr eine passende Darstellung auf

der Laborseite auf 320 x 240 eingestellt sein Ist das nicht der Fall im Kontextmenuuml unter Video Format einstellen

In gleicher Weise kann eine zweite Videoquelle hinzugefuumlgt werden

In der Registerkarte Web Broadcast kann unter

Broadcast (HTTP) der Videoserver mit Ausschalten ge-stoppt und mit Aktivieren gestartet werden

Zur Zielwahl des Webservers (131246237167 - Internet D16W3X3J - Computer 127001 - Local Host) Videoser-ver stoppen und einstellen Videoserver wieder starten

62

454 Terminalprogramm Hyperterminal Hyperterminal in Windows XP Professional unter StartProgrammeZubehoumlrKommunikation aufrufen

Name der neuen Verbindung - z B Interface - eingeben

und OK waumlhlen Die Verbindung zwischen Computer und Interface wurde

uumlber einen USB-Seriell-Adapter hergestellt Dann erschei-nen zwei zusaumltzliche Eintraumlge (Motorola Comp Modem und COM5) in der Liste Prinzipiell muss eine COMx-Verbindung gewaumlhlt werden

Eigenschaften von COM 5 wie im Bild einstellen und OK

waumlhlen DateiEigenschaften aufrufen und ASCII-Konfiguration

waumlhlen

63

Haken bei Eingegebene Zeichen lokal ausgeben (lokales

Echo) setzen um eingegebenen Zeichen im Hyperterminal zu sehen

Bei funktionsfaumlhiger Verbindung erscheint nach Eingabe von Return die Befehlsliste des Interface

Durch Aufrufen von DateiSpeichern die erstellte Verbin-

dung z B auf dem Desktop speichern Dadurch braucht die Verbindung nicht immer wieder von neuem konfiguriert wer-den

Nach Aufrufen von DateiBeenden die bestehende Verbin-dung mit Ja beenden

64

Wurde ein falscher COM-Port gewaumlhlt reagiert das Inter-

face auf die Eingabe Return nicht Hyperterminal dann beenden

Der COM-Port kann dann nicht unter DateiEigenschaften im Hyperterminal aber unter Eigenschaften des Kontext-menuumls der Datei Interfaceht in der Registerkarte Verbin-den mit geaumlndert werden Dann OK waumlhlen und erneut Verbindung testen

65

455 Fernwartungssoftware TeamViewer 6 Host Auf der Webseite von Teamviewer GmbH unter Fuumlr unbeaufsichtigte Server TeamViewer Vollversion die Datei TeamViewer_Setup-wq herunterladen Das Programm muss auf dem RCL-Server und dem Computer der auf den RCL-Server zugreifen soll installiert werden Durch Doppelklick auf die Datei die Installation starten

Ausfuumlhren waumlhlen Weiter waumlhlen

Fuumlr die private nicht kommerzielle Nutzung ist Teamviewer kostenlos

privat nicht-kommerziell und Weiter waumlhlen

Beide Haumlkchen setzen und Weiter waumlhlen

66

Ja un Weiter waumlhlen Weiter

Computername und Kennwort fuumlr den Zugriff auf den RCL-Server oder den eigenen Computer vergeben Kenn wort notie-ren

Ein Teamviewerkonto ist nicht erforderlich Kann auch spaumlter noch eingerichtet werden

ID fuumlr den Computer auf dem das Programm installiert wird fuumlr Zugriff notieren

Das Programm wird gestartet Standardmaumlszligig vorein-gestellt ist der Start des Programms beim Start des Be-trienssystems

67

46 Selbstbau eines elementaren RCLs 461 Hard- und Software Auch ohne gleich ein vielleicht teures physikalisches Experiment zu steuern laumlsst sich mit wenigen Bauelementen ein elementares RCL realisieren Von einer Webseite im Internet sol-len eine Leuchtdiode (LED) ein- oder ausgeschaltet sowie der Zustand der Leuchtdiode und eines Tasters abgefragt werden An Hard- und Software werden benoumltigt

1 Low-Current-LED 5 mm 2 mA 1 Widerstand 18 kΩ 1 Taster und optional zwei 10-polige Wannenstecker mit ungefaumlhr 10 cm passendem Flachbandkabel und Buchsen

Interface in Basisschaltung Null-Modem-Kabel 12 V DC Steckernetzteil (larr 1)

Installierte Bascom-Demo-Version (larr 42)

AVR ISP-Programmer mit 10-poligem Programmierkabel

Installiertes und konfiguriertes AVR Studio 418 (larr 41)

Installiertes Paket XAMPP (larr 52)

Texteditor wie z B Notepad in Windows XP Professional

Konfigurierte Hyperterminalverbindung (larr 54)

462 Bestuumlckung der Platine Abb 29 zeigt zur Orientierung fuumlr das Einloumlten der Bauelemente die fertig bestuumlckte Platine des Interface

Abb 29 Mit elementarem RCL bestuumlckte Platine

des Interface

LED mit Vorwiderstand und der Taster sind rechts neben dem Mikrocontroller im Lochraster-bereich aufgebaut und uumlber Wannenstecker und Flachbandkabel mit dem Port A des Mikro-controllers verbunden (die drei Bauteile rechts neben dem ATmega16 werden nicht benouml-tigt) Tab 13 erlaumlutert die Schritte zur Bestuumlckung der Platine des Interface

68

Nr Schaltung Erlaumluterung

1

Die Leuchtdiode (LED) mit dem Pluspol (langes Beinchen) an PortA0 (PIN40 oben rechts) des Mikrocontrollers anloumlten

An das kurze Beinchen einen 18kΩ Widerstand loumlten dessen anderes Ende mit der Masse (GND) verbinden

2

Den Taster mit PortA1 (PIN39 = 2 Beinchen von oben rechts) und Masse (GND) verbinden

3

Draufsicht

Belegung des 10-poligen Wannensteckers 1 GND (Masse) im Foto oben links 2 +5 V 3 PortA0 4 PortA1 10 PortA7 im Foto unten rechts

Tab 13 Schritte zum Aufbau des elementaren RCLs

463 Lokal gesteuertes RCL Nachfolgend ist der Basic-Programmcode des Mikrocontrollers zur Steuerung und Abfrage der LED und des Tasters angegeben 01 $regfile = m16DEFdat Microcontroller ATmega16 02 $crystal = 11059200 110592MHz Quarz 03 $baud = 9600 Baudrate 04 05 ---[ Variables ]--------------------------------------------------------------- 06 Dim Rs232kommando As String 10 erst Befehlspuffer dann Kommando 07 Dim Parameter As String 10 Parameter 08 Dim Str_pos As Byte Position von Leerzeichen zur Trennung von Kommando und Pa-rameter 09 10 ---[ Initialisierung ]--------------------------------------------------------- 11 Ddra0 = 1 PortA0 als Ausgang fuumlr LED 12 Porta0 = 0 LED aus 13 Ddra1 = 0 PortA1 als Eingang fuumlr Taster 14 Porta1 = 1 Pull-Up aktivieren 15 16 ---[ Main program loop ]------------------------------------------------------- 17 Do Start der Endlos-Schleife 18 19 If Ischarwaiting() = 1 Then Zeichen uumlber RS232 empfangen 20 Input Rs232kommando neues Kommando lesen 21 Parameter = Parameter initialisieren 22 Str_pos = Instr(rs232kommando ) Leerzeichen im Kommando suchen 23 If Str_pos gt 0 Then falls Leerzeichen dann in Kommando+Parameter zerlegen 24 Incr Str_pos Str_pos soll jetzt auf 1Zeichen des Parameters zeigen 25 Parameter = Mid(rs232kommando Str_pos ) Parameter = Teilstring nach Leerzeichen 26 Parameter = Ucase(parameter) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 27 Str_pos = Str_pos - 2 Str_pos soll jetzt auf letztes Zeichen des Kommandos zeigen 28 Rs232kommando = Left(rs232kommando Str_pos)Kommando = Teilstring vor Leerzeichen 29 Rs232kommando = Ucase(rs232kommando) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 30 End If 31 32 Select Case Rs232kommando Eventhandler Interpretation der Kommandos 33 Case Print Hilfe Hilfeseite anzeigen 34 Print LED on - LED einschalten 35 Print LED off - LED ausschalten 36 Print LED - zeigt Status der LED an 37 Print SW - zeigt Status des Schalters an 38

1K8

LED rotmicroC PortA0(PIN40)

Taster

microC PortA1(PIN39)

1

3

2

69

39 Case LED If Parameter = ON Then LED schalten 40 Porta0 = 1 41 End If 42 If Parameter = OFF Then 43 Porta0 = 0 44 End If 45 46 Case LED If Porta0 = 0 Then Status der LED ausgeben 47 Print LED aus 48 Else 49 Print LED an 50 End If 51 52 Case SW If Pina1 = 1 Then Status des Schalters ausgeben 53 Print Taster offen 54 Else 55 Print Taster geschlossen 56 End If 57 58 Case Else Print gt Rs232kommando lt ungueltiger Befehl - weitere Infos mit Info bei unguumlltigen Eingaben 59 End Select 60 61 End If 62 63 Loop Endlos-Schleife Springe zu Do 64 65 End wird nie erreicht

Der erste Teil des Programms (Zeilen 1 - 15) enthaumllt die Systemparameter Variablen und Initialisierung der Ein- und Ausgaumlnge Der zweite Teil enthaumllt ab Zeile 17 das Hauptpro-gramm in dem Benutzereingaben uumlber die serielle Schnittstelle empfangen interpretiert und in entsprechende Anweisungen umgesetzt werden Tab 14 erlaumlutert den Programmcode de-taillierter

Zeilen Erlaumluterung

1 - 3 Diese Angaben teilen dem Compiler (Bascom) mit welcher Prozessor eingesetzt wird wie schnell dieser getaktet (Quarz) ist und mit welcher Uumlbertragungsgeschwindigkeit die Kommunikation uumlber die serielle Schnittstelle (RS232) mit dem PC erfolgen soll

6 - 8 Es werden drei Variablen genutzt Die Eingabe uumlber die serielle Schnittstelle wird in rs232kommando gespeichert Es wird ein Text der Form Kommando ltLeerzeichengt Parameter erwartet so dass die Variable Parameter den-selbigen aufnimmt Die Variable str_pos wird fuumlr die Trennung von Kommando und Parameter benoumltigt

11 - 14

Mit dem Befehl ddrPX (ddr = data direction) wird festgelegt ob ein Beinchen als Ausgang (=1) oder als Eingang (=0) arbeiten soll Der ATmega16 besitzt 32 Ein-Ausgaumlnge die in vier Ports (P=AD) zu je 8 Pins (X=07) unterteilt sind ddrA0 = 1 legt also das 1 Beinchen (Pin 0) von PortA als Ausgang (=1) fest Mit dem Befehl PortA0 =1 kann dieser Pin dann durch Zuweisen von 1 oder 0 an- bzw ausgeschaltet werden Im Datenblatt erfahren Sie welches der 40 Beinchen des Mikrocontrollers wie bezeichnet wird (Pin-Belegung) Wird ein Beinchen als Eingang verwendet (ddrA1 = 0) koumlnnen Sie optional einen so genannten Pull-Up-Widerstand aktivieren (PortA1=1) oder deaktivieren (PortA1=0) Auch hierzu sollten Sie sich unbedingt mit dem Datenblatt vertraut machen

17 63 Das Hauptprogramm besteht aus einer Endlosschleife d h der Mikrocontroller verrichtet ununterbrochen seinen Job so lange er mit Strom versorgt wird

19 - 30 Falls ein Zeichen uumlber die serielle Schnittstelle empfangen wurde wird dieses und alle folgenden gelesen Anschlie-szligend wird gepruumlft ob der empfangene Text von der Form Kommando ltLeerzeichengt Parameter ist so dass er ge-gebenenfalls in ein Kommando und einen Parameter zerlegt werden kann

32 - 59 Dieser Abschnitt wird mit Event-Handler bezeichnet Hier wird auf die Kommandos (Events) reagiert und die ent-sprechenden Schritte ausgefuumlhrt zB schalten LED je nach Wert der Variablen Parameter an- bzw ausschalten

46 52

In beiden Zeilen wird ein Wert eines Ports abgefragt Unterschiedlich ist dass in Zeile 46 der Status eines Ausgangs abgefragt wird (porta0) und in Zeile 52 der Zustand eines Eingangs (pina0) Die Anweisung IF porta0 = 0 THEN pruumlft (hier ist = ein Vergleich und KEINE Zuweisung) ob zuletzt die LED ausgeschaltet (Zuweisung porta0 = 0) wurde Die Anweisung IF pina1= 1 THEN liest den Status eines Eingangs Hier kann festgestellt werden ob der Eingang uumlber den internen Pull-UP-Widerstand auf +5V liegt (pina1 liefert 1) oder ob der Schalter den Eingang mit Masse (0V) verbindet (pina1 liefert 0)

Tab 14 Erlaumluterung des Mikrocontroller-Programmcodes fuumlr elementares RCL

70

In Bascom AVR eine neue Datei erzeugen (FileNew) den Programmcode ohne Kommenta-re eingeben und mit ProgramCompile (F7) eine Hexadezimaldatei erzeugen Die Hexadezi-maldatei mit dem AVR-Studio und dem AVR-ISP-Programmer in den Mikrocontroller schrei-ben (larr 222 Programmuumlbertragung) Nach dem Verbinden von Computer und Interface per Null-Modem-Kabel kann durch Eingabe von in das konfigurierte Hyperterminal die Befehls-liste in Abb 30 aufgerufen werden

Abb 30 Aufgerufene Befehlsliste im Hyperterminal

Durch Eingabe von LED on oder LED off kann die LED ein- und ausgeschaltet LED zeigt den Status der LED und sw den Status des Tasters an Alternativ zum Hyperterminal kann auch das Terminal in BASCOM unter ToolsTerminal Emulator verwendet werden (larr 422)

464 Ferngesteuertes RCL Zum Ansteuern des Interfaces und zum Bedienen des Versuchsaufbaus uumlber das Internet wird eine Webseite benoumltigt die dem Benutzer alle Bedienelemente des Experiments zur Verfuumlgung stellt

Der Benutzer benoumltigt anklickbare Buttons im Webbrowser

Der Webserver muss die Information welcher Button gedruumlckt wurde empfangen und ein entsprechendes Kommando uumlber die serielle Schnittstelle an das Interface senden

Beide Schritte sind im nachfolgenden PHPHTML-Quellcode zusammengefasst 01 ltDOCTYPE HTML PUBLIC -W3CDTD HTML 401 TransitionalEN httpwwww3orgTRhtml4loosedtdgt 02 lthtmlgt 03 ltheadgt 04 ltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1gt 05 lttitlegtelementares RCLlttitlegt 06 ltheadgt 07 08 ltbodygt 09 ltphp 10 if (isset($_POST[Kommando])) wurde bereits Kommando gesendet 11 if( ( $handle = fopen( COM1 w+ ) ) ) Schnittstelle oumlffnen 12

71

13 throw new Exception( Can not access serial port 2 ) ohne Erfolg 14 15 fwrite( $handle $_POST[Kommando] chr( 13 ) ) Befehl an Interface senden 16 switch ( $_POST[Kommando] ) Antwort von Interface auswerten 17 case LED $tmp = fgets( $handle ) Echo von Interface ignorieren 18 $antwort = fgets( $handle ) Antwort des Interfaces 19 echo Antwort $antwort Ausgabe auf Webseite 20 break switch verlassen 21 22 case SW $tmp = fgets( $handle ) Echo von Interface ignorieren 23 $antwort = fgets( $handle ) Antwort des Interfaces 24 echo Antwort $antwort Ausgabe auf Webseite 25 break switch verlassen 26 27 28 29 fclose( $handle ) Schnittstelle schlieszligen 30 31 else 32 `mode com1 BAUD=9600 PARITY=N data=8 stop=1 xon=off` Schnittstellenparameter setzen 33 34 35 gt 36 37 lth3gtBefehl sendenlth3gt 38 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 39 ltinput type=hidden name=Kommando value=LED ON gt 40 ltinput type=submit value=LED anschalten gt 41 ltformgt 42 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 43 ltinput type=hidden name=Kommando value=LED OFF gt 44 ltinput type=submit value=LED ausschalten gt 45 ltformgt 46 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 47 ltinput type=hidden name=Kommando value=LED gt 48 ltinput type=submit value=LED abfragen gt 49 ltformgt 50 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 51 ltinput type=hidden name=Kommando value=SW gt 52 ltinput type=submit value=Taster abfragen gt 53 ltformgt 54 ltbodygt 55 lthtmlgt Den Quellcode in den Texteditor kopieren und im Ordner htdocs von XAMPP z B unter rclphp speichern HTML-Dateien mit PHP-Code (Zeilen 9-35) muumlssen mit der Erweiterung php gespeichert werden damit der Apache Webserver zwischen HTML-Seiten mit und ohne PHP-Code unterscheiden kann Den installierten Apache Webserver starten (larr 452) und im Adressfeld des Webbrowsers die IP-Adresse http127001rclphp aufrufen Das Bedi-enfeld des elementaren RCLs in Abb 31 wird im Browserfenster angezeigt

72

Abb 31 Laborseite des elementaren RCLs

Im Bedienfeld kann die LED an- und ausgeschaltet sowie der Status von LED und Taster abgefragt werden

  • 0 Warum ein Tutorial zur RCL-Technik
  • 1 Technische Konzeption
    • 11 Einfuumlhrung
    • 12 Wahl der RCL-Technik
      • 2 Lokal gesteuertes RCL
        • 21 Interface
          • 211 Mikrocontroller
          • 212 Basisschaltung und Erweiterungsschaltungen
          • 213 Programmierung des Mikrocontrollers
            • 22 Hyperterminal
            • 23 Positionieren von Objekten
              • 231 Hybrid-Schrittmotoren
              • 232 Schrittmotorsteuerung und Positionierungsmechanik
                  • 3 Ferngesteuertes RCL
                    • 31 RCL-Server
                    • 32 Laborseite
                      • 321 Steuerung des RCLs uumlber das Bedienfeld
                      • 322 Videouumlbertragung im Webcamfeld
                        • 33 Standard-Lernumgebung
                          • 4 ANHANG
                            • 41 Interface in Basisschaltung
                              • 411 Schaltplan und Bauteilliste
                              • 412 Bestuumlckung der Platine
                                • 42 Erweiterungsschaltungen
                                  • 421 Uumlbersicht
                                  • 422 TMC222-Modul zur Schrittmotorsteuerung
                                    • 4221 Schaltplan und Bauteilliste
                                    • 4222 Bestuumlckung der Platine
                                    • 4223 Quellcode des Mikrocontroller-Programms
                                      • 423 Geschaltete Spannungsquellen und Verbraucher
                                      • 424 Steuerung von Gleichstrommotoren
                                        • 43 Quellcodes zum RCL Elektronenbeugung
                                          • 431 Mikrocontroller-Programmierung
                                          • 432 PHP-Programmierung
                                          • 433 Bedienfeld der Laborseite
                                          • 434 Webcamfeld der Laborseite
                                            • 44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung
                                              • 441 AVR-Studio 418
                                                • 4411 Installation
                                                • 4412 Konfiguration
                                                  • 442 BASCOM 11198 Demoversion
                                                    • 4421 Installation
                                                    • 4422 Konfiguration
                                                        • 45 Installation und Konfiguration von Programmen auf dem RCL-Server
                                                          • 451 Einrichten des Internet-Zugangs
                                                          • 452 Paket XAMPP 174
                                                          • 453 Videoserver webcamXP 5 Private
                                                          • 454 Terminalprogramm Hyperterminal
                                                          • 455 Fernwartungssoftware TeamViewer 6 Host
                                                            • 46 Selbstbau eines elementaren RCLs
                                                              • 461 Hard- und Software
                                                              • 462 Bestuumlckung der Platine
                                                              • 463 Lokal gesteuertes RCL
                                                              • 464 Ferngesteuertes RCL

36

Loumltkolben mit feiner Spitze in Meisselform 2 mm oder Loumltstation (1) Loumltzinnabsauger zum Entfernen von Loumltzinn (2) Nasser Schwamm zum Reinigen der Spitze des Loumltkolbens (3) Loumltzinn mit Durchmesser 08 - 10 mm (4) Flachspitzzange zum Biegen von Anschluumlssen der Bauelemente (5) Seitenschneider zum Kuumlrzen der Beinchen von Bauelementen (6) Multimeter zum Pruumlfen der Funktionsfaumlhigkeit der Schaltung (7) Sekundenkleber zur Befestigung von Bauelementen Kleine Bohrmaschine z B von Dremel und 08 mm Bohrer oder duumlnne Rundfeile zum

Weiten von Loumlchern auf der Platine des Interface

Abb 21 zeigt die Platine des Interface von der Loumltseite in der Spezialanfertigung der Elekt-ronik-Werkstatt an der Technischen Universitaumlt Kaiserslautern und in der Selbstbauvariante (larr Tab 7 Nr 0) Abb 22 zeigt das Platinenlayout

Abb 21 Platine des Interface von der Loumltseite als Spezialanfertigung (links) und der Selbstbauvariante

(rechts)

Abb 22 Layout zur Herstellung des geaumltzten Teils der

Platine in der Selbstbauvariante

37

In der Selbstbauvariante kann anhand des Platinenlayouts eine selbst geaumltzte Platine fuumlr die Basisschaltung auf einer Platine im Europakartenformat hergestellt und diese in der Laumlnge gekuumlrzt werden Eine gekuumlrzte Lochrasterplatine bildet den zweiten Teil der Platine Mit den optionalen vier Wannensteckern (larr Tab 7 Nr 22 - 23) oder den vier Stiftleisten (larr Tab 7 Nr 24) an den Ports des Mikrocontrollers koumlnnen leicht elektrische Verbindungen zum Rasterteil der Platine herstellt werden Abb 23 zeigt die fertig bestuumlckte Platine mit den Nummern aus Tab 7

Abb 23 Bestuumlckte Platine des Interface mit nummerierten Bauelementen

Tab 8 beschreibt das Einloumlten der elektronischen Bauelemente anhand der Nummern aus Tab 7 und in der angegebenen Reihenfolge

Nr Bauelement Beschreibung des Einbaus

0 Spezialanfertigung und Selbst-bauvariante der Epoxydharz-

Platine

1

Stromversorgungsbuchse ndash Hohlstecker 21 mm

Wenn die Loumltbeine nicht durch die Loumlcher der Platine passen die Loumlcher mit einer runden Schluumlsselfeile aufweiten

Stromversorgungsbuchse mit Sekundenkleber vor dem Festloumlten auf der Pla-tine fixieren da diese mechanischen Belastungen durch das Einstecken und Herausziehen des 12 V -Steckers ausgesetzt ist

Wahlweise kann die 25 mm-Version der Buchse verwendet werden

2

RS232 Datenstecker

RS232 Datenstecker mit Sekundenkleber vor dem Festloumlten auf der Platine fixieren da dieser mechanischen Belastungen durch das Einstecken und Herausziehen des Null-Modem-Kabels ausgesetzt ist

Alle Beinchen und Befestigungsstifte zur houmlheren Stabilitaumlt anloumlten

3

Ein Ring an einer Seite der Diode (hier links weiszlig) zeigt die Durchlass- bzw Sperrrichtung der Diode an Die Position des Ringes entspricht der Position des Balkens im Schaltungssymbol

38

Diode ndash SB140 Auf der Platine muss der Ring auf der von der Stromversorgungsbuchse ab-

gewandten Seite liegen

4 Drahtbruumlcke

Vor dem Einloumlten des 40-poligen IC-Sockels (Nr 5) muss eine Drahtbruumlcke unter diesem eingeloumltet werden Dazu koumlnnen die abgeschnittenen Beinchen der bereits eingeloumlteten Diode (Nr 3) verwendet werden

5 6

IC-Fassungen

Die 16-polige und 40-polige IC-Fassungen besitzen eventuell eine Markie-rung fuumlr Pin1 (z B Kerbe in der Stirnseite Punkt Pfeilhellip) als Hilfe fuumlr das richtige Einstecken der ICs Die Markierungen muumlssen bei beiden Fassungen nach oben also zum naumlchstliegenden Rand der Platine zeigen

Die ICs unbedingt noch nicht einstecken

7

ISP-Stiftleiste

Die doppelreihige ISP-Stiftleiste dient der Programmierung des Mikrocontrol-lers mit dem AVR-ISP-Programmer (ISP steht fuumlr In System Programming)

ISP-Stiftleiste auf 2 x 5 Stifte kuumlrzen und mit den kurzen Beinchen einloumlten so dass auf die langen Stifte der AVR-ISP-Programmer gesteckt werden kann

8

Widerstand 100 kΩ

Den 100 kΩ-Widerstand rechts neben der ISP-Stiftleiste einloumlten

9

10

11

Elkos

Bei den verwendeten Elektrolyt-Kondensatoren ist die Polung zu beachten (langes Beinchen = Plus-Pol) Weiterhin ist auf den Kondensatoren ein wei-szliger Streifen mit Minus-Zeichen aufgedruckt Die Kondensatoren sollten eine Spannungsfestigkeit von mindestens 16 V besser 25V besitzen

Auf der Kupferseite der Platine zeigt die Form der Loumltaugen die Polung an Rundes Loumltauge = Plus quadratisches Loumltauge = Minus

Der 470 microF Kondensator wird mit dem weiszligen Streifen in Richtung Stromver-sorgungsbuchse direkt unter diese montiert

Der 100 microF Kondensator sitzt direkt unter der 16-poligen IC-Fassung Sein weiszliger Streifen (Minus-Pol) zeigt in Richtung der Stromversorgungsbuchse

Vier der 10 microF Kondensatoren werden links neben der 16-poligen IC-Fassung montiert Deren Polung ist wie folgt Unterster Kondensator Minus nach oben naumlchster Kondensator Minus nach unten die beiden oberen Kondensatoren mit Minus nach oben

Ein weiterer 10 microF Kondensator wird rechts neben die 16-polige IC-Fassung geloumltet Sein Minus-Streifen zeigt nach unten

12

13

Keramik-Kondensatoren

Die Beschriftung 104 bedeutet 10e4 pF = 100 nF Die beiden 33 pF-Kerkos (Keramik-Kondensatoren) werden direkt nebenei-

nander rechts neben die 16-polige IC-Fassung geloumltet Zwei 100 nF-Kondensatoren werden unter dem 470 microF-Elko eingeloumltet ein

weiterer mittig an der linken Seite der 40-poligen IC-Fassung

14

Quarz

Als Quarz wird ein 110592 MHz-Typ verwendet Bei dieser Frequenz ist eine fehlerfreie Kommunikation uumlber RS232 mit 9600 Baud moumlglich Fuumlr den AT-mega16 koumlnnen Quarze bis 16 MHz eingesetzt werden Details siehe Daten-blatt

Der Quarz wird direkt rechts neben die beiden 33 pF-Kerkos geloumltet Die Ori-entierung des Quarz spielt keine Rolle

15

16

17

18

Der Spannungsregler L7805 erzeugt eine stabilisierte Spannung von 5 V Es muss ein Kuumlhlkoumlrper zur Waumlrmeabfuhr vom Spannungsregler verwendet werden

Vor dem Einloumlten zwischen Spannungsregler und Kuumlhlkoumlrper etwas Waumlrme-leitpaste aufgetragen Beide Bauteile fest mit einer Schraube M3x10 und ei-ner 1 Mutter verschrauben

Dann den Spannungsregler einloumlten um 90deg abzubiegen das uumlberstehende Gewinde durch das vorgesehene Loch stecken und alles mit einer 2 Mutter auf der Platine befestigen

1 Mutter

2 Mutter

Schr

aube

L7805

Platine

KuumlhlkoumlrperWaumlrmeleitpaste

Beinchen

Loumlten

39

Spannungsregler L7805 Kuumlhl-koumlrper und Montage

19

Steckernetzteil

Funktionskontrolle vor dem Einsetzen des Mikrocontrollers Polung der Elektrolyt-Kondensatoren (Elkos) pruumlfen Sind alle Beinchen angeloumltet Hat das Loumltzinn an den Beinchen und der Pla-

tine guten Kontakt Sind eventuell zwei benachbarte Beinchen unbeabsichtigt durch Loumltzinn verbunden Alle Loumltverbindungen nochmals genau z B mit ei-ner Lupe pruumlfen

Probeweise das Stecker-Netzteil an die Buchse anschlieszligen Am 100 nF-Kondensator links mittig der 40-poligen IC-Fassung muumlssen 5 V anliegen

Versorgungsspannung unbedingt wieder von der Platine trennen

20

21

ICs MAX232 und ATmega16

Die Nuten auf den ICs am linken Rand muumlssen nach oben zeigen d h Pin1 ist bei beiden ICs in der Abbildung links unten und auf der Platine oben links

Manchmal passen die Beinchen der ICs nicht in die Fassung weil die Fas-sung scheinbar zu schmal ist Dann den IC seitlich mit einer Beinchen-Reihe flach auf den Tisch legen den IC-Koumlrper links und rechts greifen und Bein-chen durch leichten Druck biegen Einzelne verbogene Beinchen vorsichtig mit einer kleinen Flachzange richten

22

23

Wannenstecker 10- und 14-polig

Wannenstecker an den vorgesehe-nen Stellen mit der Nut gegen Ver-polung in Richtung des naumlherliegen-den Platinenrands einloumlten

Die Abbildung rechts zeigt die Pin-Belegung der Wannenstecker

24

Stiftleiste 8-polig 40-pol Stiftleiste in 4 jeweils 8-polige Stuumlcke zerteilen und einloumlten

25

Kunststoffgehaumluse

In der Selbstbauvariante der Platine (Nr 0) vor dem Einsetzten der Platine in das Gehaumluse passend positionierte Kunststoffstege am Gehaumluseboden fest-kleben

Tab 8 Bestuumlckung der Platine des Interface mit Bauelementen

42 Erweiterungsschaltungen 421 Uumlbersicht In Tab 3 sind von RCLs des RCL-Portals Sensoren und Aktoren mit den dazugehoumlrigen Er-weiterungsschaltungen zusammengestellt Da alle RCLs obligatorisch uumlber mindestens eine Webcam verfuumlgen sind diese unter den Sensoren nicht aufgefuumlhrt Die wenigen Erweite-rungsschaltungen fuumlr Sensoren sind unter Sensoren in Klammern aufgelistet Unter Aktoren werden auszliger elektro-mechanischen Wandlern auch gesteuerte Geraumlte oder Bauelemente verstanden Anzeigeinstrumente sind unter Aktoren nur aufgefuumlhrt wenn sie direkt vom In-terface gesteuert werden Mit gekennzeichnete Erweiterungsschaltungen befinden sich au-szligerhalb des Interface

40

RCL Sensoren Aktoren Erweiterungsschaltungen fuumlr Aktoren

Beugung und Interferenz I Referenz-Taster

Schrittmotor (Rotation) Schrittmotorsteuerung Laser-Modul Geschaltete Spannungsversorgung

Beugung und Interferenz II

4 Referenz-Taster Lichtsensor

4 Schrittmotoren (Translation) 4 Schrittmotorsteuerungen 5 Laser-Module Geschaltete Spannungsversorgung LED fuumlr Position des

Lichtsensors Geschaltete Spannungsversorgung

LED fuumlr Linealbeleuchtung Geschaltete Spannungsversorgung

Elektronen-beugung

Hochspannungsnetzgeraumlt Geschaltete Spannungsversorgung Hochspannungsnetzgeraumlt Steuerung der Hochspannung

Fotoeffekt 2 Referenz-Taster Photozelle

2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen

Quecksilberdampflampe Geschaltete Spannungsversorgung

der Drossel fuumlr Quecksilberdampf-lampe

Halbleiter-kennlinien

und Halbleiterkennli-nien - Schuumller-

projekt

Referenz-Taster

Schrittmotor (Rotation) Schrittmotorsteuerung Oszilloskop Geschaltete Spannungsversorgung

Oszilloskop Instrumentenverstaumlrker fuumlr X- und Y-Ablenkung

Multimeter Steuerung Spannungs- oder Strom-anzeige

Heiszliger Draht 4 Endtaster 4 Drehgeber Kurzschlusssensor

4 Gleichstrommotoren 4 Treiber

Zweifarbige LED Steuerung der LED-Farbe

Lichtgeschwin-digkeit

Drehimpulsgeber 2 Taster an Enden

der Eisenbahnstre-cke

2 Schrittmotoren 2 Schrittmotorsteuerungen Oszilloskop Geschaltete Spannungsversorgung

Motor der Lokomotive Steuerung des Ein- und Ausschal-tens und der Bewegungsrichtung

Maut Infrarot-Sensor Gleichstrommotor Geschaltete Spannungsquelle 2 IR-Fernbedienungen Spannungsregler 2-stellige 7-Segmentanzeige LED-Treiber

Millikan-Versuch 2 Referenz-Taster

2 Schrittmotoren 2 Schrittmotorsteuerungen Lichtquelle (LED) fuumlr Millikan-

Kondensator Geschaltete Spannungsversorgung

Airbrush-Kompressor Geschaltete Spannungsversorgung Magnetventil Geschaltete Spannungsversorgung Millikan-Kondensator Gesteuertes Hochspannungsmodul

Optische Com-putertomogra-

phie

2 Referenz-Taster 2 Lichtsensoren

Schrittmotor (Rotation) Schrittmotorsteuerung Schrittmotor (Translation) Schrittmotorsteuerung

2 Laser-Module 2 geschaltete Spannungsversor-gungen

Optische Fou-rier-

Transformation 2 Referenz-Taster

2 Schrittmotoren (Translation) 2 Schrittmotorsteuerungen

Laser-Modul Geschaltete Spannungsversorgung

Oszilloskop Oszilloskop Geschaltete Spannungsversorgung Signalgenerator Steuerung der Signalart

Radioaktivitaumlt 4 Referenz-Taster Geiger-Muumlller-

Zaumlhlrohr

2 Schrittmotoren (Translation) 2 Schrittmotorsteuerungen 2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen 4-stellige 7-Segment-Anzeige Treiber Elektromagnet Geschaltete Spannungsversorgung

Roboter im Labyrinth Infrarot-Sensor

2 Schrittmotoren 2 Schrittmotorsteuerung Infrarot-Sender Treiber

Rutherfordscher Streuversuch

2 Referenz-Taster Halbleiterdetektor

(Impulsformer)

2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen

4-stellige 7-Segment-Anzeige Treiber

Weltpendel

Referenz-Taster Lichtsensor der

Lichtschranke (Im-pulsformer)

Temperatursensor

Schrittmotor (Translation) Schrittmotorsteuerung Elektromagnet Geschaltete Spannungsversorgung

Laser der Lichtschranke Geschaltete Spannungsversorgung

Windkanal Referenz-Taster Schrittmotor (Translation) Schrittmotorsteuerung

41

Dehnungsmess-streifen (Wheat-stonesche Bruumlcke Messverstaumlrker Multimeter)

Geblaumlsemotor Geschaltete Spannungsversorgung

und Ansteuerung mit Pulsweiten-modulation

Anemometer Geschaltete Spannungsversorgung Multimeter Geschaltete Spannungsversorgung

Tab 9 Sensoren Aktoren und Erweiterungsschaltungen der RCLs des RCL-Portals

422 TMC222-Modul zur Schrittmotorsteuerung 4221 Schaltplan und Bauteilliste Abb 1 zeigt die Beschaltung des TMC222 von Trinamic auf dem TMC222-Modul

Abb 24 Beschaltung des TMC222 von Trinamic

Anhand der Bauteilliste in Tab 10 koumlnnen die elektronischen Bauelemente des TMC222-Moduls bei Reichelt electronic bestellt werden Ein TMC222-Modul kostet ungefaumlhr 10 euro

Nr Anzahl Kurzbeschreibung des Bauteils Best-Nr bei Reichelt electronic

Einzelpreis in euro

0 1 Epoxyd-Fotoplatine einseitig 75x100 mm 15 mm 35 microm BEL75X100-1 096 1 1 Integrierter TMC-Schrittmotor-Controller TMC 222 SI asymp 7 2 1 Elektrolytkondensator 8x11 mm Rm 35 mm 100 microF35 V RAD 10035 004 3 1 Tantal-Kondensator Rm 25 10 microF35 V Tantal 1035 014 4 2 Vielschicht-Keramikkondensator 220 nF 20 Z5U-25 220N 011 5 3 Vielschicht-Keramikkondensator 100 nF 20 Z5U-25 100N 004 6 2 Metallschichtwiderstand 100 kΩ Metall 100K 0082 7 1 1x36pol Stiftleiste gewinkelt Rm 254 SL 1X36W 027 8 1 1x36pol Buchsenleiste gerade Rm 254 BL 1X36G 025

Tab 10 Bauteilliste mit Bestellnummer und Einzelpreisen der Bauelemente bei Reichelt electronic (Stand 23102010)

4222 Bestuumlckung der Platine

42

Abb 25 zeigt die fertig bestuumlckte Platine mit den Nummern aus Tab 10

Abb 25 Bestuumlckte Platine des TMC222-Moduls

mit nummerierten Bauelementen

Die Platine (35 mm x 30 mm) kann anhand des Layouts in Abb 26 hergestellt werden Der IC TMC222 wird auf der Loumltseite der Platine aufgeloumltet Das TMC222-Modul kann mit der Stiftleiste (larr Tab 10 Nr 7) in eine Buchsenleiste (larr Tab 10 Nr 8) auf die Platine des In-terface gesteckt werden

Abb 26 Platine des TMC222-Moduls von der Loumltseite (links) und Layout

4223 Quellcode des Mikrocontroller-Programms Im Folgenden ist ein mit Bascom (larr 12 Tab 1 Entwicklungsumgebungen) erstelltes Bei-spiel-Programm zur Ansteuerung des Schrittmotormoduls TMC222 durch den Mikrocontroller ATmega16 angegeben $regfile = m16DEFdat $crystal = 11059200 $baud = 9600 Definitionen Config Scl = Portc0 Taktleitung Config Sda = Portc1 Datenleitung Const Adress = ampB11000000 I2C Adresse des TMC222 Const GetFullstatus1 = ampB10000001 Kommando des TMC222 Const Resetpos = ampB10000110 Kommando des TMC222 Const Motorparameter = ampB10001001 Kommando des TMC222 Const Setposition = ampB10001011 Dim Puffer(10) As Byte

43

Programm I2csend Adress GetFullstatus1 GetFullstatus1 (Initialisierung des TMC222) I2creceive Adress 7 Ack Daten in Puffer auslesen Puffer(1) = Motorparameter puffer auffuumlllen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB11110011 1111irun 0011ihold Puffer(5) = ampB01110001 0111vmax 0001vmin Puffer(6) = ampB00010000 000securepos(bit10-8) 1shaft 0000acceleration Puffer(7) = 0 securepos(bit7-0) Puffer(8) = ampB00001100 000nicht belegt 0accshape 11stepmode 00nicht belegt I2csend Adress Puffer(1) 8 I2csend Adress Resetpos aktuelle Position auf 0 setzen Puffer(1) = Setposition Motor bewegen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB01111111 position(bit 15-8) Puffer(5) = ampB11111111 position(bit 7-0)acute I2csend Adress Puffer(1) 5 End

423 Geschaltete Spannungsquellen und Verbraucher Die Ausgaumlnge des Mikrocontrollers duumlrfen nur mit Stroumlmen kleiner als ungefaumlhr 20 mA belas-tet werden Verbraucher mit einer Stromlast groumlszliger als 20 mA koumlnnen daher nicht direkt an den Mikrocontroller angeschlossen werden Abb 27 zeigt links eine Schaltung zum Schalten eines Verbrauchers wie z B des Relais und rechts eine Schaltung mit dem IC ULN2803A zum Schalten mehrerer Verbraucher wie z B Gluumlhlampen

Abb 27 Erweiterungsschaltungen zum Schalten eines (links) oder

mehrerer Verbraucher (rechts)

Zu beachten ist dass der Transistor BC337 maximal 800 mA schalten kann und fuumlr groumlszligere Stroumlme andere Transistoren verwendet werden muumlssen

424 Steuerung von Gleichstrommotoren

44

Sollen Gleichstrommotoren zum Bewegen von Objekten mit dem Mikrocontroller gesteuert werden dann eignet sich dazu der in Abb 28 dargestellte beschaltete IC L293D

Abb 28 Beschaltung des L293D zum

Steuern zweier Gleichstrom-motoren

Mit Pin 1 = Pin 9 = 1 (High) koumlnnen zwei Gleichstrommotoren M1 und M2 (Versorgungs-spannung UM lt 36 V Spulendauerstrom IM lt 600 mA) unabhaumlngig voneinander ein- und ausgeschaltet sowie in der Drehrichtung uumlber die Ports PA0 und PA1 fuumlr M1 und PA2 und PA3 fuumlr M2 gesteuert werden Z B gilt mit PA0 = PA1 = 0 (M1 ausgeschaltet) PA0 = 1 und PA1 = 0 (M1 dreht sich) PA0 = 0 und PA1 = 1 (M1 dreht sich in Gegenrichtung)

45

43 Quellcodes zum RCL Elektronenbeugung 431 Mikrocontroller-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

46

47

48

49

432 PHP-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

50

51

433 Bedienfeld der Laborseite

Tab 11 erlaumlutert die Funktion der Bloumlcke im Quellcode

Zeilen Funktion 1 Datei defaultconf einbinden 2 Datei headtpl einbinden

5 - 11 Ausgabe der verbleibenden Experimentierzeit 18 - 21 Button zum Einschalten der Elektronenbeugungsroumlhre 28 - 30 Eingabefeld fuumlr die Beschleunigungsspannung

37 Ruumlckmeldung zur eingegebenen Beschleunigungsspannung 42 Datei foottpl einbinden

Tab 11 Funktion der Programmbloumlcke in der Datei experi-menttpl

52

434 Webcamfeld der Laborseite

In Tab 12 ist die Funktion der Programmbloumlcke und die Anpassungen der Vorlage an das RCL Elektronenbeugung beschrieben

Zeilen Funktion Anpassung RCL Elektronenbeugung

5 Titelangabe erscheint als Tabulatorbeschriftung in Browsern

Name des RCLs eintragen

11 - 15 16 - 20

Zwei Javascripts zum getrennten Aufrufen zweier Po-pup-Fenster mit dargestelltem Webcambildern 1 und 2

Javascript 1 die IP-Adresse eintragen Javascript 2 auskommentiert weil nicht benoumltigt

24 - 40 42 - 60

Zwei Javascripts zum Aktualisieren der Webcambilder 1 und 2

Javascript 2 auskommentiert weil nicht benoumltigt

67 - 71 79 - 83

Aufrufen des ersten Webcambilds der Webcams 1 und 2 beim Aufrufen der Datei

Webcambild 2 auskommentiert weil nicht benoumltigt

72 - 78 84 - 90

Buttons zum Aufrufen der Screenshots der Webcam-bilder 1 und 2

Button 2 auskommentiert weil nicht benoumltigt

91 - 95 Zeile der Tabelle zum Eintragen von Informationen die sich auf die Webcambilder oder den Versuch beziehen

Text in Zeile der Tabelle geschrieben

Tab 12 Funktionen der Codeabschnitte in der Datei videohtm und Anpassung der Vor-lage an das RCL Elektronenbeugung

53

44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung Im Folgenden wird die Installation und Konfiguration des AVR-Studios 418 und der Bascom 11198 Demoversion beschrieben Alle Anleitungen sind zeilenweise von links nach rechts zu lesen

441 AVR-Studio 418 4411 Installation Auf der Webseite von ATMEL Register AVR Studio 418 (build 684) anklicken und Registrie-rungsformular ausfuumlllen Danach die Datei AvrStudio418Setup herunterladen Durch Dop-pelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen Next waumlhlen

I accept hellip und Next waumlhlen Installationsordner und Next waumlhlen

54

Installupgrade hellip und Next waumlhlen Install waumlhlen Die Installation beginnt

Finish waumlhlen

4412 Konfiguration AVR Studio 418 in Windows XP Professional unter StartProgramme aufrufen

Startfenster mit Cancel schlieszligen Unter ToolsProgram AVR Auto Connect waumlhlen

55

Im eingeblendeten Fenster auf der Registerkarte Main als Device ATmega16 und als Programming Mode ISP mo-de waumlhlen

Optional kann Signatur gelesen werden

In der Registerkarte Fuses alle Haumlkchen und Auswahlfel-der wie angegeben waumlhlen

Dann Program waumlhlen

442 BASCOM 11198 Demoversion 4421 Installation Auf der Webseite von Bascom unter Bascom AVR Demo die Zip-Datei setupdemoexe her-untergeladen Durch Doppelklick auf den Dateinamen die Installation starten

Next waumlhlen I accept the agreement und Next waumlhlen

56

Next waumlhlen Installationsordner eingeben und Next waumlhlen

Eintrag im Start-Menuuml eingeben und Next waumlhlen Next waumlhlen

Yes restart the computer now und Finish waumlhlen

57

4422 Konfiguration Bascom AVR in Windows XP Professional unter StartProgramme zum Einstellen der Para-meter des Mikrocontrollers und des Terminals aufrufen

OptionsCompilerChip waumlhlen Einstellungen wie im Bild vornehmen und OK waumlhlen

Auf der Registerkarte Communications Einstellungen wie im Bild vornehmen und OK waumlhlen

Unter OptionsCommunication Einstellungen wie im Bild

vornehmen und OK waumlhlen FileNew waumlhlen Unter ToolsTerminal emulator das Terminal aufrufen und

eingeben Die Befehlsliste des RCLs Elektronenbeu-gung wird angezeigt

45 Installation und Konfiguration von Programmen auf dem RCL-Server Im Folgenden wird der Download die Installation und die Konfiguration von Programmen auf dem RCL-Server unter Windows XP Professional beschrieben Alle Anleitungen sind zeilen-weise von links nach rechts zu lesen Die Installation der Programme sollte in der angegebe-nen Reihenfolge erfolgen

58

451 Einrichten des Internet-Zugangs LAN-Verbindung unter StartSystemsteuerungNetzwerkverbindungen aufrufen

Internetprotokoll (TCPIP) und Eigenschaften waumlhlen Folgende IP-Adresse verwenden waumlhlen IP-Adressen ein-

geben und OK waumlhlen

452 Paket XAMPP 174 Unter apache friends - xampp fuumlr windows und XAMPP Windows 174 Installer anklicken und Datei xampp-win32-174-VC6-installerexe speichern Durch Doppelklick auf die Datei die Installation starten

Sprache und Ok waumlhlen Ok waumlhlen

59

Weiter waumlhlen Zielverzeichnis mit Durchsuchen waumlhlen oder eingeben

Apache nicht als Dienst installieren Fertig stellen waumlhlen

Ja waumlhlen Zum Starten des Apache Webservers das Control Panel

unter StartProgrammeXAMPP 173 for Windows mit Start starten Anstelle von Start erscheint Running

Zum Beenden des Apache Webservers Stop waumlhlen Zum Beenden des Control Panels Exit waumlhlen

60

453 Videoserver webcamXP 5 Private Auf der Webseite von Moonware Studios unter webcamXP 55xx die Datei wlite550 herun-terladen Durch Doppelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen I Agree waumlhlen

Next waumlhlen Auszliger webcamXP 5 brauchen keine weiteren Komponen-

ten installiert zu werden

Den vorgeschlagenen Ordner und Install waumlhlen Finish waumlhlen

61

WebcamXP unter StartProgramme aufrufen Zugesandte

Lizenz-Daten in das eingeblendete Fenster eingeben und Register waumlhlen

Beim Starten des Programms stellt webcamXP automa-tisch eine Verbindung zu den am Computer angeschlosse-nen Webcams her

Nach dem Start ist Uumlberwachen gewaumlhlt Durch Rechts-klick mit der Maus auf das Videofenster wird zu jeder Vi-deoquelle ein Kontextmenuuml angezeigt Wird kein Videobild dargestellt das Kontextmenuuml aufrufen Art der Videoquelle waumlhlen (hier USB) und unter den erkannten Videoquellen (hier USB-Videogeraumlt) die gewuumlnschte waumlhlen

Das Videoformat muss fuumlr eine passende Darstellung auf

der Laborseite auf 320 x 240 eingestellt sein Ist das nicht der Fall im Kontextmenuuml unter Video Format einstellen

In gleicher Weise kann eine zweite Videoquelle hinzugefuumlgt werden

In der Registerkarte Web Broadcast kann unter

Broadcast (HTTP) der Videoserver mit Ausschalten ge-stoppt und mit Aktivieren gestartet werden

Zur Zielwahl des Webservers (131246237167 - Internet D16W3X3J - Computer 127001 - Local Host) Videoser-ver stoppen und einstellen Videoserver wieder starten

62

454 Terminalprogramm Hyperterminal Hyperterminal in Windows XP Professional unter StartProgrammeZubehoumlrKommunikation aufrufen

Name der neuen Verbindung - z B Interface - eingeben

und OK waumlhlen Die Verbindung zwischen Computer und Interface wurde

uumlber einen USB-Seriell-Adapter hergestellt Dann erschei-nen zwei zusaumltzliche Eintraumlge (Motorola Comp Modem und COM5) in der Liste Prinzipiell muss eine COMx-Verbindung gewaumlhlt werden

Eigenschaften von COM 5 wie im Bild einstellen und OK

waumlhlen DateiEigenschaften aufrufen und ASCII-Konfiguration

waumlhlen

63

Haken bei Eingegebene Zeichen lokal ausgeben (lokales

Echo) setzen um eingegebenen Zeichen im Hyperterminal zu sehen

Bei funktionsfaumlhiger Verbindung erscheint nach Eingabe von Return die Befehlsliste des Interface

Durch Aufrufen von DateiSpeichern die erstellte Verbin-

dung z B auf dem Desktop speichern Dadurch braucht die Verbindung nicht immer wieder von neuem konfiguriert wer-den

Nach Aufrufen von DateiBeenden die bestehende Verbin-dung mit Ja beenden

64

Wurde ein falscher COM-Port gewaumlhlt reagiert das Inter-

face auf die Eingabe Return nicht Hyperterminal dann beenden

Der COM-Port kann dann nicht unter DateiEigenschaften im Hyperterminal aber unter Eigenschaften des Kontext-menuumls der Datei Interfaceht in der Registerkarte Verbin-den mit geaumlndert werden Dann OK waumlhlen und erneut Verbindung testen

65

455 Fernwartungssoftware TeamViewer 6 Host Auf der Webseite von Teamviewer GmbH unter Fuumlr unbeaufsichtigte Server TeamViewer Vollversion die Datei TeamViewer_Setup-wq herunterladen Das Programm muss auf dem RCL-Server und dem Computer der auf den RCL-Server zugreifen soll installiert werden Durch Doppelklick auf die Datei die Installation starten

Ausfuumlhren waumlhlen Weiter waumlhlen

Fuumlr die private nicht kommerzielle Nutzung ist Teamviewer kostenlos

privat nicht-kommerziell und Weiter waumlhlen

Beide Haumlkchen setzen und Weiter waumlhlen

66

Ja un Weiter waumlhlen Weiter

Computername und Kennwort fuumlr den Zugriff auf den RCL-Server oder den eigenen Computer vergeben Kenn wort notie-ren

Ein Teamviewerkonto ist nicht erforderlich Kann auch spaumlter noch eingerichtet werden

ID fuumlr den Computer auf dem das Programm installiert wird fuumlr Zugriff notieren

Das Programm wird gestartet Standardmaumlszligig vorein-gestellt ist der Start des Programms beim Start des Be-trienssystems

67

46 Selbstbau eines elementaren RCLs 461 Hard- und Software Auch ohne gleich ein vielleicht teures physikalisches Experiment zu steuern laumlsst sich mit wenigen Bauelementen ein elementares RCL realisieren Von einer Webseite im Internet sol-len eine Leuchtdiode (LED) ein- oder ausgeschaltet sowie der Zustand der Leuchtdiode und eines Tasters abgefragt werden An Hard- und Software werden benoumltigt

1 Low-Current-LED 5 mm 2 mA 1 Widerstand 18 kΩ 1 Taster und optional zwei 10-polige Wannenstecker mit ungefaumlhr 10 cm passendem Flachbandkabel und Buchsen

Interface in Basisschaltung Null-Modem-Kabel 12 V DC Steckernetzteil (larr 1)

Installierte Bascom-Demo-Version (larr 42)

AVR ISP-Programmer mit 10-poligem Programmierkabel

Installiertes und konfiguriertes AVR Studio 418 (larr 41)

Installiertes Paket XAMPP (larr 52)

Texteditor wie z B Notepad in Windows XP Professional

Konfigurierte Hyperterminalverbindung (larr 54)

462 Bestuumlckung der Platine Abb 29 zeigt zur Orientierung fuumlr das Einloumlten der Bauelemente die fertig bestuumlckte Platine des Interface

Abb 29 Mit elementarem RCL bestuumlckte Platine

des Interface

LED mit Vorwiderstand und der Taster sind rechts neben dem Mikrocontroller im Lochraster-bereich aufgebaut und uumlber Wannenstecker und Flachbandkabel mit dem Port A des Mikro-controllers verbunden (die drei Bauteile rechts neben dem ATmega16 werden nicht benouml-tigt) Tab 13 erlaumlutert die Schritte zur Bestuumlckung der Platine des Interface

68

Nr Schaltung Erlaumluterung

1

Die Leuchtdiode (LED) mit dem Pluspol (langes Beinchen) an PortA0 (PIN40 oben rechts) des Mikrocontrollers anloumlten

An das kurze Beinchen einen 18kΩ Widerstand loumlten dessen anderes Ende mit der Masse (GND) verbinden

2

Den Taster mit PortA1 (PIN39 = 2 Beinchen von oben rechts) und Masse (GND) verbinden

3

Draufsicht

Belegung des 10-poligen Wannensteckers 1 GND (Masse) im Foto oben links 2 +5 V 3 PortA0 4 PortA1 10 PortA7 im Foto unten rechts

Tab 13 Schritte zum Aufbau des elementaren RCLs

463 Lokal gesteuertes RCL Nachfolgend ist der Basic-Programmcode des Mikrocontrollers zur Steuerung und Abfrage der LED und des Tasters angegeben 01 $regfile = m16DEFdat Microcontroller ATmega16 02 $crystal = 11059200 110592MHz Quarz 03 $baud = 9600 Baudrate 04 05 ---[ Variables ]--------------------------------------------------------------- 06 Dim Rs232kommando As String 10 erst Befehlspuffer dann Kommando 07 Dim Parameter As String 10 Parameter 08 Dim Str_pos As Byte Position von Leerzeichen zur Trennung von Kommando und Pa-rameter 09 10 ---[ Initialisierung ]--------------------------------------------------------- 11 Ddra0 = 1 PortA0 als Ausgang fuumlr LED 12 Porta0 = 0 LED aus 13 Ddra1 = 0 PortA1 als Eingang fuumlr Taster 14 Porta1 = 1 Pull-Up aktivieren 15 16 ---[ Main program loop ]------------------------------------------------------- 17 Do Start der Endlos-Schleife 18 19 If Ischarwaiting() = 1 Then Zeichen uumlber RS232 empfangen 20 Input Rs232kommando neues Kommando lesen 21 Parameter = Parameter initialisieren 22 Str_pos = Instr(rs232kommando ) Leerzeichen im Kommando suchen 23 If Str_pos gt 0 Then falls Leerzeichen dann in Kommando+Parameter zerlegen 24 Incr Str_pos Str_pos soll jetzt auf 1Zeichen des Parameters zeigen 25 Parameter = Mid(rs232kommando Str_pos ) Parameter = Teilstring nach Leerzeichen 26 Parameter = Ucase(parameter) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 27 Str_pos = Str_pos - 2 Str_pos soll jetzt auf letztes Zeichen des Kommandos zeigen 28 Rs232kommando = Left(rs232kommando Str_pos)Kommando = Teilstring vor Leerzeichen 29 Rs232kommando = Ucase(rs232kommando) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 30 End If 31 32 Select Case Rs232kommando Eventhandler Interpretation der Kommandos 33 Case Print Hilfe Hilfeseite anzeigen 34 Print LED on - LED einschalten 35 Print LED off - LED ausschalten 36 Print LED - zeigt Status der LED an 37 Print SW - zeigt Status des Schalters an 38

1K8

LED rotmicroC PortA0(PIN40)

Taster

microC PortA1(PIN39)

1

3

2

69

39 Case LED If Parameter = ON Then LED schalten 40 Porta0 = 1 41 End If 42 If Parameter = OFF Then 43 Porta0 = 0 44 End If 45 46 Case LED If Porta0 = 0 Then Status der LED ausgeben 47 Print LED aus 48 Else 49 Print LED an 50 End If 51 52 Case SW If Pina1 = 1 Then Status des Schalters ausgeben 53 Print Taster offen 54 Else 55 Print Taster geschlossen 56 End If 57 58 Case Else Print gt Rs232kommando lt ungueltiger Befehl - weitere Infos mit Info bei unguumlltigen Eingaben 59 End Select 60 61 End If 62 63 Loop Endlos-Schleife Springe zu Do 64 65 End wird nie erreicht

Der erste Teil des Programms (Zeilen 1 - 15) enthaumllt die Systemparameter Variablen und Initialisierung der Ein- und Ausgaumlnge Der zweite Teil enthaumllt ab Zeile 17 das Hauptpro-gramm in dem Benutzereingaben uumlber die serielle Schnittstelle empfangen interpretiert und in entsprechende Anweisungen umgesetzt werden Tab 14 erlaumlutert den Programmcode de-taillierter

Zeilen Erlaumluterung

1 - 3 Diese Angaben teilen dem Compiler (Bascom) mit welcher Prozessor eingesetzt wird wie schnell dieser getaktet (Quarz) ist und mit welcher Uumlbertragungsgeschwindigkeit die Kommunikation uumlber die serielle Schnittstelle (RS232) mit dem PC erfolgen soll

6 - 8 Es werden drei Variablen genutzt Die Eingabe uumlber die serielle Schnittstelle wird in rs232kommando gespeichert Es wird ein Text der Form Kommando ltLeerzeichengt Parameter erwartet so dass die Variable Parameter den-selbigen aufnimmt Die Variable str_pos wird fuumlr die Trennung von Kommando und Parameter benoumltigt

11 - 14

Mit dem Befehl ddrPX (ddr = data direction) wird festgelegt ob ein Beinchen als Ausgang (=1) oder als Eingang (=0) arbeiten soll Der ATmega16 besitzt 32 Ein-Ausgaumlnge die in vier Ports (P=AD) zu je 8 Pins (X=07) unterteilt sind ddrA0 = 1 legt also das 1 Beinchen (Pin 0) von PortA als Ausgang (=1) fest Mit dem Befehl PortA0 =1 kann dieser Pin dann durch Zuweisen von 1 oder 0 an- bzw ausgeschaltet werden Im Datenblatt erfahren Sie welches der 40 Beinchen des Mikrocontrollers wie bezeichnet wird (Pin-Belegung) Wird ein Beinchen als Eingang verwendet (ddrA1 = 0) koumlnnen Sie optional einen so genannten Pull-Up-Widerstand aktivieren (PortA1=1) oder deaktivieren (PortA1=0) Auch hierzu sollten Sie sich unbedingt mit dem Datenblatt vertraut machen

17 63 Das Hauptprogramm besteht aus einer Endlosschleife d h der Mikrocontroller verrichtet ununterbrochen seinen Job so lange er mit Strom versorgt wird

19 - 30 Falls ein Zeichen uumlber die serielle Schnittstelle empfangen wurde wird dieses und alle folgenden gelesen Anschlie-szligend wird gepruumlft ob der empfangene Text von der Form Kommando ltLeerzeichengt Parameter ist so dass er ge-gebenenfalls in ein Kommando und einen Parameter zerlegt werden kann

32 - 59 Dieser Abschnitt wird mit Event-Handler bezeichnet Hier wird auf die Kommandos (Events) reagiert und die ent-sprechenden Schritte ausgefuumlhrt zB schalten LED je nach Wert der Variablen Parameter an- bzw ausschalten

46 52

In beiden Zeilen wird ein Wert eines Ports abgefragt Unterschiedlich ist dass in Zeile 46 der Status eines Ausgangs abgefragt wird (porta0) und in Zeile 52 der Zustand eines Eingangs (pina0) Die Anweisung IF porta0 = 0 THEN pruumlft (hier ist = ein Vergleich und KEINE Zuweisung) ob zuletzt die LED ausgeschaltet (Zuweisung porta0 = 0) wurde Die Anweisung IF pina1= 1 THEN liest den Status eines Eingangs Hier kann festgestellt werden ob der Eingang uumlber den internen Pull-UP-Widerstand auf +5V liegt (pina1 liefert 1) oder ob der Schalter den Eingang mit Masse (0V) verbindet (pina1 liefert 0)

Tab 14 Erlaumluterung des Mikrocontroller-Programmcodes fuumlr elementares RCL

70

In Bascom AVR eine neue Datei erzeugen (FileNew) den Programmcode ohne Kommenta-re eingeben und mit ProgramCompile (F7) eine Hexadezimaldatei erzeugen Die Hexadezi-maldatei mit dem AVR-Studio und dem AVR-ISP-Programmer in den Mikrocontroller schrei-ben (larr 222 Programmuumlbertragung) Nach dem Verbinden von Computer und Interface per Null-Modem-Kabel kann durch Eingabe von in das konfigurierte Hyperterminal die Befehls-liste in Abb 30 aufgerufen werden

Abb 30 Aufgerufene Befehlsliste im Hyperterminal

Durch Eingabe von LED on oder LED off kann die LED ein- und ausgeschaltet LED zeigt den Status der LED und sw den Status des Tasters an Alternativ zum Hyperterminal kann auch das Terminal in BASCOM unter ToolsTerminal Emulator verwendet werden (larr 422)

464 Ferngesteuertes RCL Zum Ansteuern des Interfaces und zum Bedienen des Versuchsaufbaus uumlber das Internet wird eine Webseite benoumltigt die dem Benutzer alle Bedienelemente des Experiments zur Verfuumlgung stellt

Der Benutzer benoumltigt anklickbare Buttons im Webbrowser

Der Webserver muss die Information welcher Button gedruumlckt wurde empfangen und ein entsprechendes Kommando uumlber die serielle Schnittstelle an das Interface senden

Beide Schritte sind im nachfolgenden PHPHTML-Quellcode zusammengefasst 01 ltDOCTYPE HTML PUBLIC -W3CDTD HTML 401 TransitionalEN httpwwww3orgTRhtml4loosedtdgt 02 lthtmlgt 03 ltheadgt 04 ltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1gt 05 lttitlegtelementares RCLlttitlegt 06 ltheadgt 07 08 ltbodygt 09 ltphp 10 if (isset($_POST[Kommando])) wurde bereits Kommando gesendet 11 if( ( $handle = fopen( COM1 w+ ) ) ) Schnittstelle oumlffnen 12

71

13 throw new Exception( Can not access serial port 2 ) ohne Erfolg 14 15 fwrite( $handle $_POST[Kommando] chr( 13 ) ) Befehl an Interface senden 16 switch ( $_POST[Kommando] ) Antwort von Interface auswerten 17 case LED $tmp = fgets( $handle ) Echo von Interface ignorieren 18 $antwort = fgets( $handle ) Antwort des Interfaces 19 echo Antwort $antwort Ausgabe auf Webseite 20 break switch verlassen 21 22 case SW $tmp = fgets( $handle ) Echo von Interface ignorieren 23 $antwort = fgets( $handle ) Antwort des Interfaces 24 echo Antwort $antwort Ausgabe auf Webseite 25 break switch verlassen 26 27 28 29 fclose( $handle ) Schnittstelle schlieszligen 30 31 else 32 `mode com1 BAUD=9600 PARITY=N data=8 stop=1 xon=off` Schnittstellenparameter setzen 33 34 35 gt 36 37 lth3gtBefehl sendenlth3gt 38 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 39 ltinput type=hidden name=Kommando value=LED ON gt 40 ltinput type=submit value=LED anschalten gt 41 ltformgt 42 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 43 ltinput type=hidden name=Kommando value=LED OFF gt 44 ltinput type=submit value=LED ausschalten gt 45 ltformgt 46 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 47 ltinput type=hidden name=Kommando value=LED gt 48 ltinput type=submit value=LED abfragen gt 49 ltformgt 50 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 51 ltinput type=hidden name=Kommando value=SW gt 52 ltinput type=submit value=Taster abfragen gt 53 ltformgt 54 ltbodygt 55 lthtmlgt Den Quellcode in den Texteditor kopieren und im Ordner htdocs von XAMPP z B unter rclphp speichern HTML-Dateien mit PHP-Code (Zeilen 9-35) muumlssen mit der Erweiterung php gespeichert werden damit der Apache Webserver zwischen HTML-Seiten mit und ohne PHP-Code unterscheiden kann Den installierten Apache Webserver starten (larr 452) und im Adressfeld des Webbrowsers die IP-Adresse http127001rclphp aufrufen Das Bedi-enfeld des elementaren RCLs in Abb 31 wird im Browserfenster angezeigt

72

Abb 31 Laborseite des elementaren RCLs

Im Bedienfeld kann die LED an- und ausgeschaltet sowie der Status von LED und Taster abgefragt werden

  • 0 Warum ein Tutorial zur RCL-Technik
  • 1 Technische Konzeption
    • 11 Einfuumlhrung
    • 12 Wahl der RCL-Technik
      • 2 Lokal gesteuertes RCL
        • 21 Interface
          • 211 Mikrocontroller
          • 212 Basisschaltung und Erweiterungsschaltungen
          • 213 Programmierung des Mikrocontrollers
            • 22 Hyperterminal
            • 23 Positionieren von Objekten
              • 231 Hybrid-Schrittmotoren
              • 232 Schrittmotorsteuerung und Positionierungsmechanik
                  • 3 Ferngesteuertes RCL
                    • 31 RCL-Server
                    • 32 Laborseite
                      • 321 Steuerung des RCLs uumlber das Bedienfeld
                      • 322 Videouumlbertragung im Webcamfeld
                        • 33 Standard-Lernumgebung
                          • 4 ANHANG
                            • 41 Interface in Basisschaltung
                              • 411 Schaltplan und Bauteilliste
                              • 412 Bestuumlckung der Platine
                                • 42 Erweiterungsschaltungen
                                  • 421 Uumlbersicht
                                  • 422 TMC222-Modul zur Schrittmotorsteuerung
                                    • 4221 Schaltplan und Bauteilliste
                                    • 4222 Bestuumlckung der Platine
                                    • 4223 Quellcode des Mikrocontroller-Programms
                                      • 423 Geschaltete Spannungsquellen und Verbraucher
                                      • 424 Steuerung von Gleichstrommotoren
                                        • 43 Quellcodes zum RCL Elektronenbeugung
                                          • 431 Mikrocontroller-Programmierung
                                          • 432 PHP-Programmierung
                                          • 433 Bedienfeld der Laborseite
                                          • 434 Webcamfeld der Laborseite
                                            • 44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung
                                              • 441 AVR-Studio 418
                                                • 4411 Installation
                                                • 4412 Konfiguration
                                                  • 442 BASCOM 11198 Demoversion
                                                    • 4421 Installation
                                                    • 4422 Konfiguration
                                                        • 45 Installation und Konfiguration von Programmen auf dem RCL-Server
                                                          • 451 Einrichten des Internet-Zugangs
                                                          • 452 Paket XAMPP 174
                                                          • 453 Videoserver webcamXP 5 Private
                                                          • 454 Terminalprogramm Hyperterminal
                                                          • 455 Fernwartungssoftware TeamViewer 6 Host
                                                            • 46 Selbstbau eines elementaren RCLs
                                                              • 461 Hard- und Software
                                                              • 462 Bestuumlckung der Platine
                                                              • 463 Lokal gesteuertes RCL
                                                              • 464 Ferngesteuertes RCL

37

In der Selbstbauvariante kann anhand des Platinenlayouts eine selbst geaumltzte Platine fuumlr die Basisschaltung auf einer Platine im Europakartenformat hergestellt und diese in der Laumlnge gekuumlrzt werden Eine gekuumlrzte Lochrasterplatine bildet den zweiten Teil der Platine Mit den optionalen vier Wannensteckern (larr Tab 7 Nr 22 - 23) oder den vier Stiftleisten (larr Tab 7 Nr 24) an den Ports des Mikrocontrollers koumlnnen leicht elektrische Verbindungen zum Rasterteil der Platine herstellt werden Abb 23 zeigt die fertig bestuumlckte Platine mit den Nummern aus Tab 7

Abb 23 Bestuumlckte Platine des Interface mit nummerierten Bauelementen

Tab 8 beschreibt das Einloumlten der elektronischen Bauelemente anhand der Nummern aus Tab 7 und in der angegebenen Reihenfolge

Nr Bauelement Beschreibung des Einbaus

0 Spezialanfertigung und Selbst-bauvariante der Epoxydharz-

Platine

1

Stromversorgungsbuchse ndash Hohlstecker 21 mm

Wenn die Loumltbeine nicht durch die Loumlcher der Platine passen die Loumlcher mit einer runden Schluumlsselfeile aufweiten

Stromversorgungsbuchse mit Sekundenkleber vor dem Festloumlten auf der Pla-tine fixieren da diese mechanischen Belastungen durch das Einstecken und Herausziehen des 12 V -Steckers ausgesetzt ist

Wahlweise kann die 25 mm-Version der Buchse verwendet werden

2

RS232 Datenstecker

RS232 Datenstecker mit Sekundenkleber vor dem Festloumlten auf der Platine fixieren da dieser mechanischen Belastungen durch das Einstecken und Herausziehen des Null-Modem-Kabels ausgesetzt ist

Alle Beinchen und Befestigungsstifte zur houmlheren Stabilitaumlt anloumlten

3

Ein Ring an einer Seite der Diode (hier links weiszlig) zeigt die Durchlass- bzw Sperrrichtung der Diode an Die Position des Ringes entspricht der Position des Balkens im Schaltungssymbol

38

Diode ndash SB140 Auf der Platine muss der Ring auf der von der Stromversorgungsbuchse ab-

gewandten Seite liegen

4 Drahtbruumlcke

Vor dem Einloumlten des 40-poligen IC-Sockels (Nr 5) muss eine Drahtbruumlcke unter diesem eingeloumltet werden Dazu koumlnnen die abgeschnittenen Beinchen der bereits eingeloumlteten Diode (Nr 3) verwendet werden

5 6

IC-Fassungen

Die 16-polige und 40-polige IC-Fassungen besitzen eventuell eine Markie-rung fuumlr Pin1 (z B Kerbe in der Stirnseite Punkt Pfeilhellip) als Hilfe fuumlr das richtige Einstecken der ICs Die Markierungen muumlssen bei beiden Fassungen nach oben also zum naumlchstliegenden Rand der Platine zeigen

Die ICs unbedingt noch nicht einstecken

7

ISP-Stiftleiste

Die doppelreihige ISP-Stiftleiste dient der Programmierung des Mikrocontrol-lers mit dem AVR-ISP-Programmer (ISP steht fuumlr In System Programming)

ISP-Stiftleiste auf 2 x 5 Stifte kuumlrzen und mit den kurzen Beinchen einloumlten so dass auf die langen Stifte der AVR-ISP-Programmer gesteckt werden kann

8

Widerstand 100 kΩ

Den 100 kΩ-Widerstand rechts neben der ISP-Stiftleiste einloumlten

9

10

11

Elkos

Bei den verwendeten Elektrolyt-Kondensatoren ist die Polung zu beachten (langes Beinchen = Plus-Pol) Weiterhin ist auf den Kondensatoren ein wei-szliger Streifen mit Minus-Zeichen aufgedruckt Die Kondensatoren sollten eine Spannungsfestigkeit von mindestens 16 V besser 25V besitzen

Auf der Kupferseite der Platine zeigt die Form der Loumltaugen die Polung an Rundes Loumltauge = Plus quadratisches Loumltauge = Minus

Der 470 microF Kondensator wird mit dem weiszligen Streifen in Richtung Stromver-sorgungsbuchse direkt unter diese montiert

Der 100 microF Kondensator sitzt direkt unter der 16-poligen IC-Fassung Sein weiszliger Streifen (Minus-Pol) zeigt in Richtung der Stromversorgungsbuchse

Vier der 10 microF Kondensatoren werden links neben der 16-poligen IC-Fassung montiert Deren Polung ist wie folgt Unterster Kondensator Minus nach oben naumlchster Kondensator Minus nach unten die beiden oberen Kondensatoren mit Minus nach oben

Ein weiterer 10 microF Kondensator wird rechts neben die 16-polige IC-Fassung geloumltet Sein Minus-Streifen zeigt nach unten

12

13

Keramik-Kondensatoren

Die Beschriftung 104 bedeutet 10e4 pF = 100 nF Die beiden 33 pF-Kerkos (Keramik-Kondensatoren) werden direkt nebenei-

nander rechts neben die 16-polige IC-Fassung geloumltet Zwei 100 nF-Kondensatoren werden unter dem 470 microF-Elko eingeloumltet ein

weiterer mittig an der linken Seite der 40-poligen IC-Fassung

14

Quarz

Als Quarz wird ein 110592 MHz-Typ verwendet Bei dieser Frequenz ist eine fehlerfreie Kommunikation uumlber RS232 mit 9600 Baud moumlglich Fuumlr den AT-mega16 koumlnnen Quarze bis 16 MHz eingesetzt werden Details siehe Daten-blatt

Der Quarz wird direkt rechts neben die beiden 33 pF-Kerkos geloumltet Die Ori-entierung des Quarz spielt keine Rolle

15

16

17

18

Der Spannungsregler L7805 erzeugt eine stabilisierte Spannung von 5 V Es muss ein Kuumlhlkoumlrper zur Waumlrmeabfuhr vom Spannungsregler verwendet werden

Vor dem Einloumlten zwischen Spannungsregler und Kuumlhlkoumlrper etwas Waumlrme-leitpaste aufgetragen Beide Bauteile fest mit einer Schraube M3x10 und ei-ner 1 Mutter verschrauben

Dann den Spannungsregler einloumlten um 90deg abzubiegen das uumlberstehende Gewinde durch das vorgesehene Loch stecken und alles mit einer 2 Mutter auf der Platine befestigen

1 Mutter

2 Mutter

Schr

aube

L7805

Platine

KuumlhlkoumlrperWaumlrmeleitpaste

Beinchen

Loumlten

39

Spannungsregler L7805 Kuumlhl-koumlrper und Montage

19

Steckernetzteil

Funktionskontrolle vor dem Einsetzen des Mikrocontrollers Polung der Elektrolyt-Kondensatoren (Elkos) pruumlfen Sind alle Beinchen angeloumltet Hat das Loumltzinn an den Beinchen und der Pla-

tine guten Kontakt Sind eventuell zwei benachbarte Beinchen unbeabsichtigt durch Loumltzinn verbunden Alle Loumltverbindungen nochmals genau z B mit ei-ner Lupe pruumlfen

Probeweise das Stecker-Netzteil an die Buchse anschlieszligen Am 100 nF-Kondensator links mittig der 40-poligen IC-Fassung muumlssen 5 V anliegen

Versorgungsspannung unbedingt wieder von der Platine trennen

20

21

ICs MAX232 und ATmega16

Die Nuten auf den ICs am linken Rand muumlssen nach oben zeigen d h Pin1 ist bei beiden ICs in der Abbildung links unten und auf der Platine oben links

Manchmal passen die Beinchen der ICs nicht in die Fassung weil die Fas-sung scheinbar zu schmal ist Dann den IC seitlich mit einer Beinchen-Reihe flach auf den Tisch legen den IC-Koumlrper links und rechts greifen und Bein-chen durch leichten Druck biegen Einzelne verbogene Beinchen vorsichtig mit einer kleinen Flachzange richten

22

23

Wannenstecker 10- und 14-polig

Wannenstecker an den vorgesehe-nen Stellen mit der Nut gegen Ver-polung in Richtung des naumlherliegen-den Platinenrands einloumlten

Die Abbildung rechts zeigt die Pin-Belegung der Wannenstecker

24

Stiftleiste 8-polig 40-pol Stiftleiste in 4 jeweils 8-polige Stuumlcke zerteilen und einloumlten

25

Kunststoffgehaumluse

In der Selbstbauvariante der Platine (Nr 0) vor dem Einsetzten der Platine in das Gehaumluse passend positionierte Kunststoffstege am Gehaumluseboden fest-kleben

Tab 8 Bestuumlckung der Platine des Interface mit Bauelementen

42 Erweiterungsschaltungen 421 Uumlbersicht In Tab 3 sind von RCLs des RCL-Portals Sensoren und Aktoren mit den dazugehoumlrigen Er-weiterungsschaltungen zusammengestellt Da alle RCLs obligatorisch uumlber mindestens eine Webcam verfuumlgen sind diese unter den Sensoren nicht aufgefuumlhrt Die wenigen Erweite-rungsschaltungen fuumlr Sensoren sind unter Sensoren in Klammern aufgelistet Unter Aktoren werden auszliger elektro-mechanischen Wandlern auch gesteuerte Geraumlte oder Bauelemente verstanden Anzeigeinstrumente sind unter Aktoren nur aufgefuumlhrt wenn sie direkt vom In-terface gesteuert werden Mit gekennzeichnete Erweiterungsschaltungen befinden sich au-szligerhalb des Interface

40

RCL Sensoren Aktoren Erweiterungsschaltungen fuumlr Aktoren

Beugung und Interferenz I Referenz-Taster

Schrittmotor (Rotation) Schrittmotorsteuerung Laser-Modul Geschaltete Spannungsversorgung

Beugung und Interferenz II

4 Referenz-Taster Lichtsensor

4 Schrittmotoren (Translation) 4 Schrittmotorsteuerungen 5 Laser-Module Geschaltete Spannungsversorgung LED fuumlr Position des

Lichtsensors Geschaltete Spannungsversorgung

LED fuumlr Linealbeleuchtung Geschaltete Spannungsversorgung

Elektronen-beugung

Hochspannungsnetzgeraumlt Geschaltete Spannungsversorgung Hochspannungsnetzgeraumlt Steuerung der Hochspannung

Fotoeffekt 2 Referenz-Taster Photozelle

2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen

Quecksilberdampflampe Geschaltete Spannungsversorgung

der Drossel fuumlr Quecksilberdampf-lampe

Halbleiter-kennlinien

und Halbleiterkennli-nien - Schuumller-

projekt

Referenz-Taster

Schrittmotor (Rotation) Schrittmotorsteuerung Oszilloskop Geschaltete Spannungsversorgung

Oszilloskop Instrumentenverstaumlrker fuumlr X- und Y-Ablenkung

Multimeter Steuerung Spannungs- oder Strom-anzeige

Heiszliger Draht 4 Endtaster 4 Drehgeber Kurzschlusssensor

4 Gleichstrommotoren 4 Treiber

Zweifarbige LED Steuerung der LED-Farbe

Lichtgeschwin-digkeit

Drehimpulsgeber 2 Taster an Enden

der Eisenbahnstre-cke

2 Schrittmotoren 2 Schrittmotorsteuerungen Oszilloskop Geschaltete Spannungsversorgung

Motor der Lokomotive Steuerung des Ein- und Ausschal-tens und der Bewegungsrichtung

Maut Infrarot-Sensor Gleichstrommotor Geschaltete Spannungsquelle 2 IR-Fernbedienungen Spannungsregler 2-stellige 7-Segmentanzeige LED-Treiber

Millikan-Versuch 2 Referenz-Taster

2 Schrittmotoren 2 Schrittmotorsteuerungen Lichtquelle (LED) fuumlr Millikan-

Kondensator Geschaltete Spannungsversorgung

Airbrush-Kompressor Geschaltete Spannungsversorgung Magnetventil Geschaltete Spannungsversorgung Millikan-Kondensator Gesteuertes Hochspannungsmodul

Optische Com-putertomogra-

phie

2 Referenz-Taster 2 Lichtsensoren

Schrittmotor (Rotation) Schrittmotorsteuerung Schrittmotor (Translation) Schrittmotorsteuerung

2 Laser-Module 2 geschaltete Spannungsversor-gungen

Optische Fou-rier-

Transformation 2 Referenz-Taster

2 Schrittmotoren (Translation) 2 Schrittmotorsteuerungen

Laser-Modul Geschaltete Spannungsversorgung

Oszilloskop Oszilloskop Geschaltete Spannungsversorgung Signalgenerator Steuerung der Signalart

Radioaktivitaumlt 4 Referenz-Taster Geiger-Muumlller-

Zaumlhlrohr

2 Schrittmotoren (Translation) 2 Schrittmotorsteuerungen 2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen 4-stellige 7-Segment-Anzeige Treiber Elektromagnet Geschaltete Spannungsversorgung

Roboter im Labyrinth Infrarot-Sensor

2 Schrittmotoren 2 Schrittmotorsteuerung Infrarot-Sender Treiber

Rutherfordscher Streuversuch

2 Referenz-Taster Halbleiterdetektor

(Impulsformer)

2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen

4-stellige 7-Segment-Anzeige Treiber

Weltpendel

Referenz-Taster Lichtsensor der

Lichtschranke (Im-pulsformer)

Temperatursensor

Schrittmotor (Translation) Schrittmotorsteuerung Elektromagnet Geschaltete Spannungsversorgung

Laser der Lichtschranke Geschaltete Spannungsversorgung

Windkanal Referenz-Taster Schrittmotor (Translation) Schrittmotorsteuerung

41

Dehnungsmess-streifen (Wheat-stonesche Bruumlcke Messverstaumlrker Multimeter)

Geblaumlsemotor Geschaltete Spannungsversorgung

und Ansteuerung mit Pulsweiten-modulation

Anemometer Geschaltete Spannungsversorgung Multimeter Geschaltete Spannungsversorgung

Tab 9 Sensoren Aktoren und Erweiterungsschaltungen der RCLs des RCL-Portals

422 TMC222-Modul zur Schrittmotorsteuerung 4221 Schaltplan und Bauteilliste Abb 1 zeigt die Beschaltung des TMC222 von Trinamic auf dem TMC222-Modul

Abb 24 Beschaltung des TMC222 von Trinamic

Anhand der Bauteilliste in Tab 10 koumlnnen die elektronischen Bauelemente des TMC222-Moduls bei Reichelt electronic bestellt werden Ein TMC222-Modul kostet ungefaumlhr 10 euro

Nr Anzahl Kurzbeschreibung des Bauteils Best-Nr bei Reichelt electronic

Einzelpreis in euro

0 1 Epoxyd-Fotoplatine einseitig 75x100 mm 15 mm 35 microm BEL75X100-1 096 1 1 Integrierter TMC-Schrittmotor-Controller TMC 222 SI asymp 7 2 1 Elektrolytkondensator 8x11 mm Rm 35 mm 100 microF35 V RAD 10035 004 3 1 Tantal-Kondensator Rm 25 10 microF35 V Tantal 1035 014 4 2 Vielschicht-Keramikkondensator 220 nF 20 Z5U-25 220N 011 5 3 Vielschicht-Keramikkondensator 100 nF 20 Z5U-25 100N 004 6 2 Metallschichtwiderstand 100 kΩ Metall 100K 0082 7 1 1x36pol Stiftleiste gewinkelt Rm 254 SL 1X36W 027 8 1 1x36pol Buchsenleiste gerade Rm 254 BL 1X36G 025

Tab 10 Bauteilliste mit Bestellnummer und Einzelpreisen der Bauelemente bei Reichelt electronic (Stand 23102010)

4222 Bestuumlckung der Platine

42

Abb 25 zeigt die fertig bestuumlckte Platine mit den Nummern aus Tab 10

Abb 25 Bestuumlckte Platine des TMC222-Moduls

mit nummerierten Bauelementen

Die Platine (35 mm x 30 mm) kann anhand des Layouts in Abb 26 hergestellt werden Der IC TMC222 wird auf der Loumltseite der Platine aufgeloumltet Das TMC222-Modul kann mit der Stiftleiste (larr Tab 10 Nr 7) in eine Buchsenleiste (larr Tab 10 Nr 8) auf die Platine des In-terface gesteckt werden

Abb 26 Platine des TMC222-Moduls von der Loumltseite (links) und Layout

4223 Quellcode des Mikrocontroller-Programms Im Folgenden ist ein mit Bascom (larr 12 Tab 1 Entwicklungsumgebungen) erstelltes Bei-spiel-Programm zur Ansteuerung des Schrittmotormoduls TMC222 durch den Mikrocontroller ATmega16 angegeben $regfile = m16DEFdat $crystal = 11059200 $baud = 9600 Definitionen Config Scl = Portc0 Taktleitung Config Sda = Portc1 Datenleitung Const Adress = ampB11000000 I2C Adresse des TMC222 Const GetFullstatus1 = ampB10000001 Kommando des TMC222 Const Resetpos = ampB10000110 Kommando des TMC222 Const Motorparameter = ampB10001001 Kommando des TMC222 Const Setposition = ampB10001011 Dim Puffer(10) As Byte

43

Programm I2csend Adress GetFullstatus1 GetFullstatus1 (Initialisierung des TMC222) I2creceive Adress 7 Ack Daten in Puffer auslesen Puffer(1) = Motorparameter puffer auffuumlllen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB11110011 1111irun 0011ihold Puffer(5) = ampB01110001 0111vmax 0001vmin Puffer(6) = ampB00010000 000securepos(bit10-8) 1shaft 0000acceleration Puffer(7) = 0 securepos(bit7-0) Puffer(8) = ampB00001100 000nicht belegt 0accshape 11stepmode 00nicht belegt I2csend Adress Puffer(1) 8 I2csend Adress Resetpos aktuelle Position auf 0 setzen Puffer(1) = Setposition Motor bewegen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB01111111 position(bit 15-8) Puffer(5) = ampB11111111 position(bit 7-0)acute I2csend Adress Puffer(1) 5 End

423 Geschaltete Spannungsquellen und Verbraucher Die Ausgaumlnge des Mikrocontrollers duumlrfen nur mit Stroumlmen kleiner als ungefaumlhr 20 mA belas-tet werden Verbraucher mit einer Stromlast groumlszliger als 20 mA koumlnnen daher nicht direkt an den Mikrocontroller angeschlossen werden Abb 27 zeigt links eine Schaltung zum Schalten eines Verbrauchers wie z B des Relais und rechts eine Schaltung mit dem IC ULN2803A zum Schalten mehrerer Verbraucher wie z B Gluumlhlampen

Abb 27 Erweiterungsschaltungen zum Schalten eines (links) oder

mehrerer Verbraucher (rechts)

Zu beachten ist dass der Transistor BC337 maximal 800 mA schalten kann und fuumlr groumlszligere Stroumlme andere Transistoren verwendet werden muumlssen

424 Steuerung von Gleichstrommotoren

44

Sollen Gleichstrommotoren zum Bewegen von Objekten mit dem Mikrocontroller gesteuert werden dann eignet sich dazu der in Abb 28 dargestellte beschaltete IC L293D

Abb 28 Beschaltung des L293D zum

Steuern zweier Gleichstrom-motoren

Mit Pin 1 = Pin 9 = 1 (High) koumlnnen zwei Gleichstrommotoren M1 und M2 (Versorgungs-spannung UM lt 36 V Spulendauerstrom IM lt 600 mA) unabhaumlngig voneinander ein- und ausgeschaltet sowie in der Drehrichtung uumlber die Ports PA0 und PA1 fuumlr M1 und PA2 und PA3 fuumlr M2 gesteuert werden Z B gilt mit PA0 = PA1 = 0 (M1 ausgeschaltet) PA0 = 1 und PA1 = 0 (M1 dreht sich) PA0 = 0 und PA1 = 1 (M1 dreht sich in Gegenrichtung)

45

43 Quellcodes zum RCL Elektronenbeugung 431 Mikrocontroller-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

46

47

48

49

432 PHP-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

50

51

433 Bedienfeld der Laborseite

Tab 11 erlaumlutert die Funktion der Bloumlcke im Quellcode

Zeilen Funktion 1 Datei defaultconf einbinden 2 Datei headtpl einbinden

5 - 11 Ausgabe der verbleibenden Experimentierzeit 18 - 21 Button zum Einschalten der Elektronenbeugungsroumlhre 28 - 30 Eingabefeld fuumlr die Beschleunigungsspannung

37 Ruumlckmeldung zur eingegebenen Beschleunigungsspannung 42 Datei foottpl einbinden

Tab 11 Funktion der Programmbloumlcke in der Datei experi-menttpl

52

434 Webcamfeld der Laborseite

In Tab 12 ist die Funktion der Programmbloumlcke und die Anpassungen der Vorlage an das RCL Elektronenbeugung beschrieben

Zeilen Funktion Anpassung RCL Elektronenbeugung

5 Titelangabe erscheint als Tabulatorbeschriftung in Browsern

Name des RCLs eintragen

11 - 15 16 - 20

Zwei Javascripts zum getrennten Aufrufen zweier Po-pup-Fenster mit dargestelltem Webcambildern 1 und 2

Javascript 1 die IP-Adresse eintragen Javascript 2 auskommentiert weil nicht benoumltigt

24 - 40 42 - 60

Zwei Javascripts zum Aktualisieren der Webcambilder 1 und 2

Javascript 2 auskommentiert weil nicht benoumltigt

67 - 71 79 - 83

Aufrufen des ersten Webcambilds der Webcams 1 und 2 beim Aufrufen der Datei

Webcambild 2 auskommentiert weil nicht benoumltigt

72 - 78 84 - 90

Buttons zum Aufrufen der Screenshots der Webcam-bilder 1 und 2

Button 2 auskommentiert weil nicht benoumltigt

91 - 95 Zeile der Tabelle zum Eintragen von Informationen die sich auf die Webcambilder oder den Versuch beziehen

Text in Zeile der Tabelle geschrieben

Tab 12 Funktionen der Codeabschnitte in der Datei videohtm und Anpassung der Vor-lage an das RCL Elektronenbeugung

53

44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung Im Folgenden wird die Installation und Konfiguration des AVR-Studios 418 und der Bascom 11198 Demoversion beschrieben Alle Anleitungen sind zeilenweise von links nach rechts zu lesen

441 AVR-Studio 418 4411 Installation Auf der Webseite von ATMEL Register AVR Studio 418 (build 684) anklicken und Registrie-rungsformular ausfuumlllen Danach die Datei AvrStudio418Setup herunterladen Durch Dop-pelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen Next waumlhlen

I accept hellip und Next waumlhlen Installationsordner und Next waumlhlen

54

Installupgrade hellip und Next waumlhlen Install waumlhlen Die Installation beginnt

Finish waumlhlen

4412 Konfiguration AVR Studio 418 in Windows XP Professional unter StartProgramme aufrufen

Startfenster mit Cancel schlieszligen Unter ToolsProgram AVR Auto Connect waumlhlen

55

Im eingeblendeten Fenster auf der Registerkarte Main als Device ATmega16 und als Programming Mode ISP mo-de waumlhlen

Optional kann Signatur gelesen werden

In der Registerkarte Fuses alle Haumlkchen und Auswahlfel-der wie angegeben waumlhlen

Dann Program waumlhlen

442 BASCOM 11198 Demoversion 4421 Installation Auf der Webseite von Bascom unter Bascom AVR Demo die Zip-Datei setupdemoexe her-untergeladen Durch Doppelklick auf den Dateinamen die Installation starten

Next waumlhlen I accept the agreement und Next waumlhlen

56

Next waumlhlen Installationsordner eingeben und Next waumlhlen

Eintrag im Start-Menuuml eingeben und Next waumlhlen Next waumlhlen

Yes restart the computer now und Finish waumlhlen

57

4422 Konfiguration Bascom AVR in Windows XP Professional unter StartProgramme zum Einstellen der Para-meter des Mikrocontrollers und des Terminals aufrufen

OptionsCompilerChip waumlhlen Einstellungen wie im Bild vornehmen und OK waumlhlen

Auf der Registerkarte Communications Einstellungen wie im Bild vornehmen und OK waumlhlen

Unter OptionsCommunication Einstellungen wie im Bild

vornehmen und OK waumlhlen FileNew waumlhlen Unter ToolsTerminal emulator das Terminal aufrufen und

eingeben Die Befehlsliste des RCLs Elektronenbeu-gung wird angezeigt

45 Installation und Konfiguration von Programmen auf dem RCL-Server Im Folgenden wird der Download die Installation und die Konfiguration von Programmen auf dem RCL-Server unter Windows XP Professional beschrieben Alle Anleitungen sind zeilen-weise von links nach rechts zu lesen Die Installation der Programme sollte in der angegebe-nen Reihenfolge erfolgen

58

451 Einrichten des Internet-Zugangs LAN-Verbindung unter StartSystemsteuerungNetzwerkverbindungen aufrufen

Internetprotokoll (TCPIP) und Eigenschaften waumlhlen Folgende IP-Adresse verwenden waumlhlen IP-Adressen ein-

geben und OK waumlhlen

452 Paket XAMPP 174 Unter apache friends - xampp fuumlr windows und XAMPP Windows 174 Installer anklicken und Datei xampp-win32-174-VC6-installerexe speichern Durch Doppelklick auf die Datei die Installation starten

Sprache und Ok waumlhlen Ok waumlhlen

59

Weiter waumlhlen Zielverzeichnis mit Durchsuchen waumlhlen oder eingeben

Apache nicht als Dienst installieren Fertig stellen waumlhlen

Ja waumlhlen Zum Starten des Apache Webservers das Control Panel

unter StartProgrammeXAMPP 173 for Windows mit Start starten Anstelle von Start erscheint Running

Zum Beenden des Apache Webservers Stop waumlhlen Zum Beenden des Control Panels Exit waumlhlen

60

453 Videoserver webcamXP 5 Private Auf der Webseite von Moonware Studios unter webcamXP 55xx die Datei wlite550 herun-terladen Durch Doppelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen I Agree waumlhlen

Next waumlhlen Auszliger webcamXP 5 brauchen keine weiteren Komponen-

ten installiert zu werden

Den vorgeschlagenen Ordner und Install waumlhlen Finish waumlhlen

61

WebcamXP unter StartProgramme aufrufen Zugesandte

Lizenz-Daten in das eingeblendete Fenster eingeben und Register waumlhlen

Beim Starten des Programms stellt webcamXP automa-tisch eine Verbindung zu den am Computer angeschlosse-nen Webcams her

Nach dem Start ist Uumlberwachen gewaumlhlt Durch Rechts-klick mit der Maus auf das Videofenster wird zu jeder Vi-deoquelle ein Kontextmenuuml angezeigt Wird kein Videobild dargestellt das Kontextmenuuml aufrufen Art der Videoquelle waumlhlen (hier USB) und unter den erkannten Videoquellen (hier USB-Videogeraumlt) die gewuumlnschte waumlhlen

Das Videoformat muss fuumlr eine passende Darstellung auf

der Laborseite auf 320 x 240 eingestellt sein Ist das nicht der Fall im Kontextmenuuml unter Video Format einstellen

In gleicher Weise kann eine zweite Videoquelle hinzugefuumlgt werden

In der Registerkarte Web Broadcast kann unter

Broadcast (HTTP) der Videoserver mit Ausschalten ge-stoppt und mit Aktivieren gestartet werden

Zur Zielwahl des Webservers (131246237167 - Internet D16W3X3J - Computer 127001 - Local Host) Videoser-ver stoppen und einstellen Videoserver wieder starten

62

454 Terminalprogramm Hyperterminal Hyperterminal in Windows XP Professional unter StartProgrammeZubehoumlrKommunikation aufrufen

Name der neuen Verbindung - z B Interface - eingeben

und OK waumlhlen Die Verbindung zwischen Computer und Interface wurde

uumlber einen USB-Seriell-Adapter hergestellt Dann erschei-nen zwei zusaumltzliche Eintraumlge (Motorola Comp Modem und COM5) in der Liste Prinzipiell muss eine COMx-Verbindung gewaumlhlt werden

Eigenschaften von COM 5 wie im Bild einstellen und OK

waumlhlen DateiEigenschaften aufrufen und ASCII-Konfiguration

waumlhlen

63

Haken bei Eingegebene Zeichen lokal ausgeben (lokales

Echo) setzen um eingegebenen Zeichen im Hyperterminal zu sehen

Bei funktionsfaumlhiger Verbindung erscheint nach Eingabe von Return die Befehlsliste des Interface

Durch Aufrufen von DateiSpeichern die erstellte Verbin-

dung z B auf dem Desktop speichern Dadurch braucht die Verbindung nicht immer wieder von neuem konfiguriert wer-den

Nach Aufrufen von DateiBeenden die bestehende Verbin-dung mit Ja beenden

64

Wurde ein falscher COM-Port gewaumlhlt reagiert das Inter-

face auf die Eingabe Return nicht Hyperterminal dann beenden

Der COM-Port kann dann nicht unter DateiEigenschaften im Hyperterminal aber unter Eigenschaften des Kontext-menuumls der Datei Interfaceht in der Registerkarte Verbin-den mit geaumlndert werden Dann OK waumlhlen und erneut Verbindung testen

65

455 Fernwartungssoftware TeamViewer 6 Host Auf der Webseite von Teamviewer GmbH unter Fuumlr unbeaufsichtigte Server TeamViewer Vollversion die Datei TeamViewer_Setup-wq herunterladen Das Programm muss auf dem RCL-Server und dem Computer der auf den RCL-Server zugreifen soll installiert werden Durch Doppelklick auf die Datei die Installation starten

Ausfuumlhren waumlhlen Weiter waumlhlen

Fuumlr die private nicht kommerzielle Nutzung ist Teamviewer kostenlos

privat nicht-kommerziell und Weiter waumlhlen

Beide Haumlkchen setzen und Weiter waumlhlen

66

Ja un Weiter waumlhlen Weiter

Computername und Kennwort fuumlr den Zugriff auf den RCL-Server oder den eigenen Computer vergeben Kenn wort notie-ren

Ein Teamviewerkonto ist nicht erforderlich Kann auch spaumlter noch eingerichtet werden

ID fuumlr den Computer auf dem das Programm installiert wird fuumlr Zugriff notieren

Das Programm wird gestartet Standardmaumlszligig vorein-gestellt ist der Start des Programms beim Start des Be-trienssystems

67

46 Selbstbau eines elementaren RCLs 461 Hard- und Software Auch ohne gleich ein vielleicht teures physikalisches Experiment zu steuern laumlsst sich mit wenigen Bauelementen ein elementares RCL realisieren Von einer Webseite im Internet sol-len eine Leuchtdiode (LED) ein- oder ausgeschaltet sowie der Zustand der Leuchtdiode und eines Tasters abgefragt werden An Hard- und Software werden benoumltigt

1 Low-Current-LED 5 mm 2 mA 1 Widerstand 18 kΩ 1 Taster und optional zwei 10-polige Wannenstecker mit ungefaumlhr 10 cm passendem Flachbandkabel und Buchsen

Interface in Basisschaltung Null-Modem-Kabel 12 V DC Steckernetzteil (larr 1)

Installierte Bascom-Demo-Version (larr 42)

AVR ISP-Programmer mit 10-poligem Programmierkabel

Installiertes und konfiguriertes AVR Studio 418 (larr 41)

Installiertes Paket XAMPP (larr 52)

Texteditor wie z B Notepad in Windows XP Professional

Konfigurierte Hyperterminalverbindung (larr 54)

462 Bestuumlckung der Platine Abb 29 zeigt zur Orientierung fuumlr das Einloumlten der Bauelemente die fertig bestuumlckte Platine des Interface

Abb 29 Mit elementarem RCL bestuumlckte Platine

des Interface

LED mit Vorwiderstand und der Taster sind rechts neben dem Mikrocontroller im Lochraster-bereich aufgebaut und uumlber Wannenstecker und Flachbandkabel mit dem Port A des Mikro-controllers verbunden (die drei Bauteile rechts neben dem ATmega16 werden nicht benouml-tigt) Tab 13 erlaumlutert die Schritte zur Bestuumlckung der Platine des Interface

68

Nr Schaltung Erlaumluterung

1

Die Leuchtdiode (LED) mit dem Pluspol (langes Beinchen) an PortA0 (PIN40 oben rechts) des Mikrocontrollers anloumlten

An das kurze Beinchen einen 18kΩ Widerstand loumlten dessen anderes Ende mit der Masse (GND) verbinden

2

Den Taster mit PortA1 (PIN39 = 2 Beinchen von oben rechts) und Masse (GND) verbinden

3

Draufsicht

Belegung des 10-poligen Wannensteckers 1 GND (Masse) im Foto oben links 2 +5 V 3 PortA0 4 PortA1 10 PortA7 im Foto unten rechts

Tab 13 Schritte zum Aufbau des elementaren RCLs

463 Lokal gesteuertes RCL Nachfolgend ist der Basic-Programmcode des Mikrocontrollers zur Steuerung und Abfrage der LED und des Tasters angegeben 01 $regfile = m16DEFdat Microcontroller ATmega16 02 $crystal = 11059200 110592MHz Quarz 03 $baud = 9600 Baudrate 04 05 ---[ Variables ]--------------------------------------------------------------- 06 Dim Rs232kommando As String 10 erst Befehlspuffer dann Kommando 07 Dim Parameter As String 10 Parameter 08 Dim Str_pos As Byte Position von Leerzeichen zur Trennung von Kommando und Pa-rameter 09 10 ---[ Initialisierung ]--------------------------------------------------------- 11 Ddra0 = 1 PortA0 als Ausgang fuumlr LED 12 Porta0 = 0 LED aus 13 Ddra1 = 0 PortA1 als Eingang fuumlr Taster 14 Porta1 = 1 Pull-Up aktivieren 15 16 ---[ Main program loop ]------------------------------------------------------- 17 Do Start der Endlos-Schleife 18 19 If Ischarwaiting() = 1 Then Zeichen uumlber RS232 empfangen 20 Input Rs232kommando neues Kommando lesen 21 Parameter = Parameter initialisieren 22 Str_pos = Instr(rs232kommando ) Leerzeichen im Kommando suchen 23 If Str_pos gt 0 Then falls Leerzeichen dann in Kommando+Parameter zerlegen 24 Incr Str_pos Str_pos soll jetzt auf 1Zeichen des Parameters zeigen 25 Parameter = Mid(rs232kommando Str_pos ) Parameter = Teilstring nach Leerzeichen 26 Parameter = Ucase(parameter) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 27 Str_pos = Str_pos - 2 Str_pos soll jetzt auf letztes Zeichen des Kommandos zeigen 28 Rs232kommando = Left(rs232kommando Str_pos)Kommando = Teilstring vor Leerzeichen 29 Rs232kommando = Ucase(rs232kommando) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 30 End If 31 32 Select Case Rs232kommando Eventhandler Interpretation der Kommandos 33 Case Print Hilfe Hilfeseite anzeigen 34 Print LED on - LED einschalten 35 Print LED off - LED ausschalten 36 Print LED - zeigt Status der LED an 37 Print SW - zeigt Status des Schalters an 38

1K8

LED rotmicroC PortA0(PIN40)

Taster

microC PortA1(PIN39)

1

3

2

69

39 Case LED If Parameter = ON Then LED schalten 40 Porta0 = 1 41 End If 42 If Parameter = OFF Then 43 Porta0 = 0 44 End If 45 46 Case LED If Porta0 = 0 Then Status der LED ausgeben 47 Print LED aus 48 Else 49 Print LED an 50 End If 51 52 Case SW If Pina1 = 1 Then Status des Schalters ausgeben 53 Print Taster offen 54 Else 55 Print Taster geschlossen 56 End If 57 58 Case Else Print gt Rs232kommando lt ungueltiger Befehl - weitere Infos mit Info bei unguumlltigen Eingaben 59 End Select 60 61 End If 62 63 Loop Endlos-Schleife Springe zu Do 64 65 End wird nie erreicht

Der erste Teil des Programms (Zeilen 1 - 15) enthaumllt die Systemparameter Variablen und Initialisierung der Ein- und Ausgaumlnge Der zweite Teil enthaumllt ab Zeile 17 das Hauptpro-gramm in dem Benutzereingaben uumlber die serielle Schnittstelle empfangen interpretiert und in entsprechende Anweisungen umgesetzt werden Tab 14 erlaumlutert den Programmcode de-taillierter

Zeilen Erlaumluterung

1 - 3 Diese Angaben teilen dem Compiler (Bascom) mit welcher Prozessor eingesetzt wird wie schnell dieser getaktet (Quarz) ist und mit welcher Uumlbertragungsgeschwindigkeit die Kommunikation uumlber die serielle Schnittstelle (RS232) mit dem PC erfolgen soll

6 - 8 Es werden drei Variablen genutzt Die Eingabe uumlber die serielle Schnittstelle wird in rs232kommando gespeichert Es wird ein Text der Form Kommando ltLeerzeichengt Parameter erwartet so dass die Variable Parameter den-selbigen aufnimmt Die Variable str_pos wird fuumlr die Trennung von Kommando und Parameter benoumltigt

11 - 14

Mit dem Befehl ddrPX (ddr = data direction) wird festgelegt ob ein Beinchen als Ausgang (=1) oder als Eingang (=0) arbeiten soll Der ATmega16 besitzt 32 Ein-Ausgaumlnge die in vier Ports (P=AD) zu je 8 Pins (X=07) unterteilt sind ddrA0 = 1 legt also das 1 Beinchen (Pin 0) von PortA als Ausgang (=1) fest Mit dem Befehl PortA0 =1 kann dieser Pin dann durch Zuweisen von 1 oder 0 an- bzw ausgeschaltet werden Im Datenblatt erfahren Sie welches der 40 Beinchen des Mikrocontrollers wie bezeichnet wird (Pin-Belegung) Wird ein Beinchen als Eingang verwendet (ddrA1 = 0) koumlnnen Sie optional einen so genannten Pull-Up-Widerstand aktivieren (PortA1=1) oder deaktivieren (PortA1=0) Auch hierzu sollten Sie sich unbedingt mit dem Datenblatt vertraut machen

17 63 Das Hauptprogramm besteht aus einer Endlosschleife d h der Mikrocontroller verrichtet ununterbrochen seinen Job so lange er mit Strom versorgt wird

19 - 30 Falls ein Zeichen uumlber die serielle Schnittstelle empfangen wurde wird dieses und alle folgenden gelesen Anschlie-szligend wird gepruumlft ob der empfangene Text von der Form Kommando ltLeerzeichengt Parameter ist so dass er ge-gebenenfalls in ein Kommando und einen Parameter zerlegt werden kann

32 - 59 Dieser Abschnitt wird mit Event-Handler bezeichnet Hier wird auf die Kommandos (Events) reagiert und die ent-sprechenden Schritte ausgefuumlhrt zB schalten LED je nach Wert der Variablen Parameter an- bzw ausschalten

46 52

In beiden Zeilen wird ein Wert eines Ports abgefragt Unterschiedlich ist dass in Zeile 46 der Status eines Ausgangs abgefragt wird (porta0) und in Zeile 52 der Zustand eines Eingangs (pina0) Die Anweisung IF porta0 = 0 THEN pruumlft (hier ist = ein Vergleich und KEINE Zuweisung) ob zuletzt die LED ausgeschaltet (Zuweisung porta0 = 0) wurde Die Anweisung IF pina1= 1 THEN liest den Status eines Eingangs Hier kann festgestellt werden ob der Eingang uumlber den internen Pull-UP-Widerstand auf +5V liegt (pina1 liefert 1) oder ob der Schalter den Eingang mit Masse (0V) verbindet (pina1 liefert 0)

Tab 14 Erlaumluterung des Mikrocontroller-Programmcodes fuumlr elementares RCL

70

In Bascom AVR eine neue Datei erzeugen (FileNew) den Programmcode ohne Kommenta-re eingeben und mit ProgramCompile (F7) eine Hexadezimaldatei erzeugen Die Hexadezi-maldatei mit dem AVR-Studio und dem AVR-ISP-Programmer in den Mikrocontroller schrei-ben (larr 222 Programmuumlbertragung) Nach dem Verbinden von Computer und Interface per Null-Modem-Kabel kann durch Eingabe von in das konfigurierte Hyperterminal die Befehls-liste in Abb 30 aufgerufen werden

Abb 30 Aufgerufene Befehlsliste im Hyperterminal

Durch Eingabe von LED on oder LED off kann die LED ein- und ausgeschaltet LED zeigt den Status der LED und sw den Status des Tasters an Alternativ zum Hyperterminal kann auch das Terminal in BASCOM unter ToolsTerminal Emulator verwendet werden (larr 422)

464 Ferngesteuertes RCL Zum Ansteuern des Interfaces und zum Bedienen des Versuchsaufbaus uumlber das Internet wird eine Webseite benoumltigt die dem Benutzer alle Bedienelemente des Experiments zur Verfuumlgung stellt

Der Benutzer benoumltigt anklickbare Buttons im Webbrowser

Der Webserver muss die Information welcher Button gedruumlckt wurde empfangen und ein entsprechendes Kommando uumlber die serielle Schnittstelle an das Interface senden

Beide Schritte sind im nachfolgenden PHPHTML-Quellcode zusammengefasst 01 ltDOCTYPE HTML PUBLIC -W3CDTD HTML 401 TransitionalEN httpwwww3orgTRhtml4loosedtdgt 02 lthtmlgt 03 ltheadgt 04 ltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1gt 05 lttitlegtelementares RCLlttitlegt 06 ltheadgt 07 08 ltbodygt 09 ltphp 10 if (isset($_POST[Kommando])) wurde bereits Kommando gesendet 11 if( ( $handle = fopen( COM1 w+ ) ) ) Schnittstelle oumlffnen 12

71

13 throw new Exception( Can not access serial port 2 ) ohne Erfolg 14 15 fwrite( $handle $_POST[Kommando] chr( 13 ) ) Befehl an Interface senden 16 switch ( $_POST[Kommando] ) Antwort von Interface auswerten 17 case LED $tmp = fgets( $handle ) Echo von Interface ignorieren 18 $antwort = fgets( $handle ) Antwort des Interfaces 19 echo Antwort $antwort Ausgabe auf Webseite 20 break switch verlassen 21 22 case SW $tmp = fgets( $handle ) Echo von Interface ignorieren 23 $antwort = fgets( $handle ) Antwort des Interfaces 24 echo Antwort $antwort Ausgabe auf Webseite 25 break switch verlassen 26 27 28 29 fclose( $handle ) Schnittstelle schlieszligen 30 31 else 32 `mode com1 BAUD=9600 PARITY=N data=8 stop=1 xon=off` Schnittstellenparameter setzen 33 34 35 gt 36 37 lth3gtBefehl sendenlth3gt 38 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 39 ltinput type=hidden name=Kommando value=LED ON gt 40 ltinput type=submit value=LED anschalten gt 41 ltformgt 42 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 43 ltinput type=hidden name=Kommando value=LED OFF gt 44 ltinput type=submit value=LED ausschalten gt 45 ltformgt 46 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 47 ltinput type=hidden name=Kommando value=LED gt 48 ltinput type=submit value=LED abfragen gt 49 ltformgt 50 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 51 ltinput type=hidden name=Kommando value=SW gt 52 ltinput type=submit value=Taster abfragen gt 53 ltformgt 54 ltbodygt 55 lthtmlgt Den Quellcode in den Texteditor kopieren und im Ordner htdocs von XAMPP z B unter rclphp speichern HTML-Dateien mit PHP-Code (Zeilen 9-35) muumlssen mit der Erweiterung php gespeichert werden damit der Apache Webserver zwischen HTML-Seiten mit und ohne PHP-Code unterscheiden kann Den installierten Apache Webserver starten (larr 452) und im Adressfeld des Webbrowsers die IP-Adresse http127001rclphp aufrufen Das Bedi-enfeld des elementaren RCLs in Abb 31 wird im Browserfenster angezeigt

72

Abb 31 Laborseite des elementaren RCLs

Im Bedienfeld kann die LED an- und ausgeschaltet sowie der Status von LED und Taster abgefragt werden

  • 0 Warum ein Tutorial zur RCL-Technik
  • 1 Technische Konzeption
    • 11 Einfuumlhrung
    • 12 Wahl der RCL-Technik
      • 2 Lokal gesteuertes RCL
        • 21 Interface
          • 211 Mikrocontroller
          • 212 Basisschaltung und Erweiterungsschaltungen
          • 213 Programmierung des Mikrocontrollers
            • 22 Hyperterminal
            • 23 Positionieren von Objekten
              • 231 Hybrid-Schrittmotoren
              • 232 Schrittmotorsteuerung und Positionierungsmechanik
                  • 3 Ferngesteuertes RCL
                    • 31 RCL-Server
                    • 32 Laborseite
                      • 321 Steuerung des RCLs uumlber das Bedienfeld
                      • 322 Videouumlbertragung im Webcamfeld
                        • 33 Standard-Lernumgebung
                          • 4 ANHANG
                            • 41 Interface in Basisschaltung
                              • 411 Schaltplan und Bauteilliste
                              • 412 Bestuumlckung der Platine
                                • 42 Erweiterungsschaltungen
                                  • 421 Uumlbersicht
                                  • 422 TMC222-Modul zur Schrittmotorsteuerung
                                    • 4221 Schaltplan und Bauteilliste
                                    • 4222 Bestuumlckung der Platine
                                    • 4223 Quellcode des Mikrocontroller-Programms
                                      • 423 Geschaltete Spannungsquellen und Verbraucher
                                      • 424 Steuerung von Gleichstrommotoren
                                        • 43 Quellcodes zum RCL Elektronenbeugung
                                          • 431 Mikrocontroller-Programmierung
                                          • 432 PHP-Programmierung
                                          • 433 Bedienfeld der Laborseite
                                          • 434 Webcamfeld der Laborseite
                                            • 44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung
                                              • 441 AVR-Studio 418
                                                • 4411 Installation
                                                • 4412 Konfiguration
                                                  • 442 BASCOM 11198 Demoversion
                                                    • 4421 Installation
                                                    • 4422 Konfiguration
                                                        • 45 Installation und Konfiguration von Programmen auf dem RCL-Server
                                                          • 451 Einrichten des Internet-Zugangs
                                                          • 452 Paket XAMPP 174
                                                          • 453 Videoserver webcamXP 5 Private
                                                          • 454 Terminalprogramm Hyperterminal
                                                          • 455 Fernwartungssoftware TeamViewer 6 Host
                                                            • 46 Selbstbau eines elementaren RCLs
                                                              • 461 Hard- und Software
                                                              • 462 Bestuumlckung der Platine
                                                              • 463 Lokal gesteuertes RCL
                                                              • 464 Ferngesteuertes RCL

38

Diode ndash SB140 Auf der Platine muss der Ring auf der von der Stromversorgungsbuchse ab-

gewandten Seite liegen

4 Drahtbruumlcke

Vor dem Einloumlten des 40-poligen IC-Sockels (Nr 5) muss eine Drahtbruumlcke unter diesem eingeloumltet werden Dazu koumlnnen die abgeschnittenen Beinchen der bereits eingeloumlteten Diode (Nr 3) verwendet werden

5 6

IC-Fassungen

Die 16-polige und 40-polige IC-Fassungen besitzen eventuell eine Markie-rung fuumlr Pin1 (z B Kerbe in der Stirnseite Punkt Pfeilhellip) als Hilfe fuumlr das richtige Einstecken der ICs Die Markierungen muumlssen bei beiden Fassungen nach oben also zum naumlchstliegenden Rand der Platine zeigen

Die ICs unbedingt noch nicht einstecken

7

ISP-Stiftleiste

Die doppelreihige ISP-Stiftleiste dient der Programmierung des Mikrocontrol-lers mit dem AVR-ISP-Programmer (ISP steht fuumlr In System Programming)

ISP-Stiftleiste auf 2 x 5 Stifte kuumlrzen und mit den kurzen Beinchen einloumlten so dass auf die langen Stifte der AVR-ISP-Programmer gesteckt werden kann

8

Widerstand 100 kΩ

Den 100 kΩ-Widerstand rechts neben der ISP-Stiftleiste einloumlten

9

10

11

Elkos

Bei den verwendeten Elektrolyt-Kondensatoren ist die Polung zu beachten (langes Beinchen = Plus-Pol) Weiterhin ist auf den Kondensatoren ein wei-szliger Streifen mit Minus-Zeichen aufgedruckt Die Kondensatoren sollten eine Spannungsfestigkeit von mindestens 16 V besser 25V besitzen

Auf der Kupferseite der Platine zeigt die Form der Loumltaugen die Polung an Rundes Loumltauge = Plus quadratisches Loumltauge = Minus

Der 470 microF Kondensator wird mit dem weiszligen Streifen in Richtung Stromver-sorgungsbuchse direkt unter diese montiert

Der 100 microF Kondensator sitzt direkt unter der 16-poligen IC-Fassung Sein weiszliger Streifen (Minus-Pol) zeigt in Richtung der Stromversorgungsbuchse

Vier der 10 microF Kondensatoren werden links neben der 16-poligen IC-Fassung montiert Deren Polung ist wie folgt Unterster Kondensator Minus nach oben naumlchster Kondensator Minus nach unten die beiden oberen Kondensatoren mit Minus nach oben

Ein weiterer 10 microF Kondensator wird rechts neben die 16-polige IC-Fassung geloumltet Sein Minus-Streifen zeigt nach unten

12

13

Keramik-Kondensatoren

Die Beschriftung 104 bedeutet 10e4 pF = 100 nF Die beiden 33 pF-Kerkos (Keramik-Kondensatoren) werden direkt nebenei-

nander rechts neben die 16-polige IC-Fassung geloumltet Zwei 100 nF-Kondensatoren werden unter dem 470 microF-Elko eingeloumltet ein

weiterer mittig an der linken Seite der 40-poligen IC-Fassung

14

Quarz

Als Quarz wird ein 110592 MHz-Typ verwendet Bei dieser Frequenz ist eine fehlerfreie Kommunikation uumlber RS232 mit 9600 Baud moumlglich Fuumlr den AT-mega16 koumlnnen Quarze bis 16 MHz eingesetzt werden Details siehe Daten-blatt

Der Quarz wird direkt rechts neben die beiden 33 pF-Kerkos geloumltet Die Ori-entierung des Quarz spielt keine Rolle

15

16

17

18

Der Spannungsregler L7805 erzeugt eine stabilisierte Spannung von 5 V Es muss ein Kuumlhlkoumlrper zur Waumlrmeabfuhr vom Spannungsregler verwendet werden

Vor dem Einloumlten zwischen Spannungsregler und Kuumlhlkoumlrper etwas Waumlrme-leitpaste aufgetragen Beide Bauteile fest mit einer Schraube M3x10 und ei-ner 1 Mutter verschrauben

Dann den Spannungsregler einloumlten um 90deg abzubiegen das uumlberstehende Gewinde durch das vorgesehene Loch stecken und alles mit einer 2 Mutter auf der Platine befestigen

1 Mutter

2 Mutter

Schr

aube

L7805

Platine

KuumlhlkoumlrperWaumlrmeleitpaste

Beinchen

Loumlten

39

Spannungsregler L7805 Kuumlhl-koumlrper und Montage

19

Steckernetzteil

Funktionskontrolle vor dem Einsetzen des Mikrocontrollers Polung der Elektrolyt-Kondensatoren (Elkos) pruumlfen Sind alle Beinchen angeloumltet Hat das Loumltzinn an den Beinchen und der Pla-

tine guten Kontakt Sind eventuell zwei benachbarte Beinchen unbeabsichtigt durch Loumltzinn verbunden Alle Loumltverbindungen nochmals genau z B mit ei-ner Lupe pruumlfen

Probeweise das Stecker-Netzteil an die Buchse anschlieszligen Am 100 nF-Kondensator links mittig der 40-poligen IC-Fassung muumlssen 5 V anliegen

Versorgungsspannung unbedingt wieder von der Platine trennen

20

21

ICs MAX232 und ATmega16

Die Nuten auf den ICs am linken Rand muumlssen nach oben zeigen d h Pin1 ist bei beiden ICs in der Abbildung links unten und auf der Platine oben links

Manchmal passen die Beinchen der ICs nicht in die Fassung weil die Fas-sung scheinbar zu schmal ist Dann den IC seitlich mit einer Beinchen-Reihe flach auf den Tisch legen den IC-Koumlrper links und rechts greifen und Bein-chen durch leichten Druck biegen Einzelne verbogene Beinchen vorsichtig mit einer kleinen Flachzange richten

22

23

Wannenstecker 10- und 14-polig

Wannenstecker an den vorgesehe-nen Stellen mit der Nut gegen Ver-polung in Richtung des naumlherliegen-den Platinenrands einloumlten

Die Abbildung rechts zeigt die Pin-Belegung der Wannenstecker

24

Stiftleiste 8-polig 40-pol Stiftleiste in 4 jeweils 8-polige Stuumlcke zerteilen und einloumlten

25

Kunststoffgehaumluse

In der Selbstbauvariante der Platine (Nr 0) vor dem Einsetzten der Platine in das Gehaumluse passend positionierte Kunststoffstege am Gehaumluseboden fest-kleben

Tab 8 Bestuumlckung der Platine des Interface mit Bauelementen

42 Erweiterungsschaltungen 421 Uumlbersicht In Tab 3 sind von RCLs des RCL-Portals Sensoren und Aktoren mit den dazugehoumlrigen Er-weiterungsschaltungen zusammengestellt Da alle RCLs obligatorisch uumlber mindestens eine Webcam verfuumlgen sind diese unter den Sensoren nicht aufgefuumlhrt Die wenigen Erweite-rungsschaltungen fuumlr Sensoren sind unter Sensoren in Klammern aufgelistet Unter Aktoren werden auszliger elektro-mechanischen Wandlern auch gesteuerte Geraumlte oder Bauelemente verstanden Anzeigeinstrumente sind unter Aktoren nur aufgefuumlhrt wenn sie direkt vom In-terface gesteuert werden Mit gekennzeichnete Erweiterungsschaltungen befinden sich au-szligerhalb des Interface

40

RCL Sensoren Aktoren Erweiterungsschaltungen fuumlr Aktoren

Beugung und Interferenz I Referenz-Taster

Schrittmotor (Rotation) Schrittmotorsteuerung Laser-Modul Geschaltete Spannungsversorgung

Beugung und Interferenz II

4 Referenz-Taster Lichtsensor

4 Schrittmotoren (Translation) 4 Schrittmotorsteuerungen 5 Laser-Module Geschaltete Spannungsversorgung LED fuumlr Position des

Lichtsensors Geschaltete Spannungsversorgung

LED fuumlr Linealbeleuchtung Geschaltete Spannungsversorgung

Elektronen-beugung

Hochspannungsnetzgeraumlt Geschaltete Spannungsversorgung Hochspannungsnetzgeraumlt Steuerung der Hochspannung

Fotoeffekt 2 Referenz-Taster Photozelle

2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen

Quecksilberdampflampe Geschaltete Spannungsversorgung

der Drossel fuumlr Quecksilberdampf-lampe

Halbleiter-kennlinien

und Halbleiterkennli-nien - Schuumller-

projekt

Referenz-Taster

Schrittmotor (Rotation) Schrittmotorsteuerung Oszilloskop Geschaltete Spannungsversorgung

Oszilloskop Instrumentenverstaumlrker fuumlr X- und Y-Ablenkung

Multimeter Steuerung Spannungs- oder Strom-anzeige

Heiszliger Draht 4 Endtaster 4 Drehgeber Kurzschlusssensor

4 Gleichstrommotoren 4 Treiber

Zweifarbige LED Steuerung der LED-Farbe

Lichtgeschwin-digkeit

Drehimpulsgeber 2 Taster an Enden

der Eisenbahnstre-cke

2 Schrittmotoren 2 Schrittmotorsteuerungen Oszilloskop Geschaltete Spannungsversorgung

Motor der Lokomotive Steuerung des Ein- und Ausschal-tens und der Bewegungsrichtung

Maut Infrarot-Sensor Gleichstrommotor Geschaltete Spannungsquelle 2 IR-Fernbedienungen Spannungsregler 2-stellige 7-Segmentanzeige LED-Treiber

Millikan-Versuch 2 Referenz-Taster

2 Schrittmotoren 2 Schrittmotorsteuerungen Lichtquelle (LED) fuumlr Millikan-

Kondensator Geschaltete Spannungsversorgung

Airbrush-Kompressor Geschaltete Spannungsversorgung Magnetventil Geschaltete Spannungsversorgung Millikan-Kondensator Gesteuertes Hochspannungsmodul

Optische Com-putertomogra-

phie

2 Referenz-Taster 2 Lichtsensoren

Schrittmotor (Rotation) Schrittmotorsteuerung Schrittmotor (Translation) Schrittmotorsteuerung

2 Laser-Module 2 geschaltete Spannungsversor-gungen

Optische Fou-rier-

Transformation 2 Referenz-Taster

2 Schrittmotoren (Translation) 2 Schrittmotorsteuerungen

Laser-Modul Geschaltete Spannungsversorgung

Oszilloskop Oszilloskop Geschaltete Spannungsversorgung Signalgenerator Steuerung der Signalart

Radioaktivitaumlt 4 Referenz-Taster Geiger-Muumlller-

Zaumlhlrohr

2 Schrittmotoren (Translation) 2 Schrittmotorsteuerungen 2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen 4-stellige 7-Segment-Anzeige Treiber Elektromagnet Geschaltete Spannungsversorgung

Roboter im Labyrinth Infrarot-Sensor

2 Schrittmotoren 2 Schrittmotorsteuerung Infrarot-Sender Treiber

Rutherfordscher Streuversuch

2 Referenz-Taster Halbleiterdetektor

(Impulsformer)

2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen

4-stellige 7-Segment-Anzeige Treiber

Weltpendel

Referenz-Taster Lichtsensor der

Lichtschranke (Im-pulsformer)

Temperatursensor

Schrittmotor (Translation) Schrittmotorsteuerung Elektromagnet Geschaltete Spannungsversorgung

Laser der Lichtschranke Geschaltete Spannungsversorgung

Windkanal Referenz-Taster Schrittmotor (Translation) Schrittmotorsteuerung

41

Dehnungsmess-streifen (Wheat-stonesche Bruumlcke Messverstaumlrker Multimeter)

Geblaumlsemotor Geschaltete Spannungsversorgung

und Ansteuerung mit Pulsweiten-modulation

Anemometer Geschaltete Spannungsversorgung Multimeter Geschaltete Spannungsversorgung

Tab 9 Sensoren Aktoren und Erweiterungsschaltungen der RCLs des RCL-Portals

422 TMC222-Modul zur Schrittmotorsteuerung 4221 Schaltplan und Bauteilliste Abb 1 zeigt die Beschaltung des TMC222 von Trinamic auf dem TMC222-Modul

Abb 24 Beschaltung des TMC222 von Trinamic

Anhand der Bauteilliste in Tab 10 koumlnnen die elektronischen Bauelemente des TMC222-Moduls bei Reichelt electronic bestellt werden Ein TMC222-Modul kostet ungefaumlhr 10 euro

Nr Anzahl Kurzbeschreibung des Bauteils Best-Nr bei Reichelt electronic

Einzelpreis in euro

0 1 Epoxyd-Fotoplatine einseitig 75x100 mm 15 mm 35 microm BEL75X100-1 096 1 1 Integrierter TMC-Schrittmotor-Controller TMC 222 SI asymp 7 2 1 Elektrolytkondensator 8x11 mm Rm 35 mm 100 microF35 V RAD 10035 004 3 1 Tantal-Kondensator Rm 25 10 microF35 V Tantal 1035 014 4 2 Vielschicht-Keramikkondensator 220 nF 20 Z5U-25 220N 011 5 3 Vielschicht-Keramikkondensator 100 nF 20 Z5U-25 100N 004 6 2 Metallschichtwiderstand 100 kΩ Metall 100K 0082 7 1 1x36pol Stiftleiste gewinkelt Rm 254 SL 1X36W 027 8 1 1x36pol Buchsenleiste gerade Rm 254 BL 1X36G 025

Tab 10 Bauteilliste mit Bestellnummer und Einzelpreisen der Bauelemente bei Reichelt electronic (Stand 23102010)

4222 Bestuumlckung der Platine

42

Abb 25 zeigt die fertig bestuumlckte Platine mit den Nummern aus Tab 10

Abb 25 Bestuumlckte Platine des TMC222-Moduls

mit nummerierten Bauelementen

Die Platine (35 mm x 30 mm) kann anhand des Layouts in Abb 26 hergestellt werden Der IC TMC222 wird auf der Loumltseite der Platine aufgeloumltet Das TMC222-Modul kann mit der Stiftleiste (larr Tab 10 Nr 7) in eine Buchsenleiste (larr Tab 10 Nr 8) auf die Platine des In-terface gesteckt werden

Abb 26 Platine des TMC222-Moduls von der Loumltseite (links) und Layout

4223 Quellcode des Mikrocontroller-Programms Im Folgenden ist ein mit Bascom (larr 12 Tab 1 Entwicklungsumgebungen) erstelltes Bei-spiel-Programm zur Ansteuerung des Schrittmotormoduls TMC222 durch den Mikrocontroller ATmega16 angegeben $regfile = m16DEFdat $crystal = 11059200 $baud = 9600 Definitionen Config Scl = Portc0 Taktleitung Config Sda = Portc1 Datenleitung Const Adress = ampB11000000 I2C Adresse des TMC222 Const GetFullstatus1 = ampB10000001 Kommando des TMC222 Const Resetpos = ampB10000110 Kommando des TMC222 Const Motorparameter = ampB10001001 Kommando des TMC222 Const Setposition = ampB10001011 Dim Puffer(10) As Byte

43

Programm I2csend Adress GetFullstatus1 GetFullstatus1 (Initialisierung des TMC222) I2creceive Adress 7 Ack Daten in Puffer auslesen Puffer(1) = Motorparameter puffer auffuumlllen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB11110011 1111irun 0011ihold Puffer(5) = ampB01110001 0111vmax 0001vmin Puffer(6) = ampB00010000 000securepos(bit10-8) 1shaft 0000acceleration Puffer(7) = 0 securepos(bit7-0) Puffer(8) = ampB00001100 000nicht belegt 0accshape 11stepmode 00nicht belegt I2csend Adress Puffer(1) 8 I2csend Adress Resetpos aktuelle Position auf 0 setzen Puffer(1) = Setposition Motor bewegen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB01111111 position(bit 15-8) Puffer(5) = ampB11111111 position(bit 7-0)acute I2csend Adress Puffer(1) 5 End

423 Geschaltete Spannungsquellen und Verbraucher Die Ausgaumlnge des Mikrocontrollers duumlrfen nur mit Stroumlmen kleiner als ungefaumlhr 20 mA belas-tet werden Verbraucher mit einer Stromlast groumlszliger als 20 mA koumlnnen daher nicht direkt an den Mikrocontroller angeschlossen werden Abb 27 zeigt links eine Schaltung zum Schalten eines Verbrauchers wie z B des Relais und rechts eine Schaltung mit dem IC ULN2803A zum Schalten mehrerer Verbraucher wie z B Gluumlhlampen

Abb 27 Erweiterungsschaltungen zum Schalten eines (links) oder

mehrerer Verbraucher (rechts)

Zu beachten ist dass der Transistor BC337 maximal 800 mA schalten kann und fuumlr groumlszligere Stroumlme andere Transistoren verwendet werden muumlssen

424 Steuerung von Gleichstrommotoren

44

Sollen Gleichstrommotoren zum Bewegen von Objekten mit dem Mikrocontroller gesteuert werden dann eignet sich dazu der in Abb 28 dargestellte beschaltete IC L293D

Abb 28 Beschaltung des L293D zum

Steuern zweier Gleichstrom-motoren

Mit Pin 1 = Pin 9 = 1 (High) koumlnnen zwei Gleichstrommotoren M1 und M2 (Versorgungs-spannung UM lt 36 V Spulendauerstrom IM lt 600 mA) unabhaumlngig voneinander ein- und ausgeschaltet sowie in der Drehrichtung uumlber die Ports PA0 und PA1 fuumlr M1 und PA2 und PA3 fuumlr M2 gesteuert werden Z B gilt mit PA0 = PA1 = 0 (M1 ausgeschaltet) PA0 = 1 und PA1 = 0 (M1 dreht sich) PA0 = 0 und PA1 = 1 (M1 dreht sich in Gegenrichtung)

45

43 Quellcodes zum RCL Elektronenbeugung 431 Mikrocontroller-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

46

47

48

49

432 PHP-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

50

51

433 Bedienfeld der Laborseite

Tab 11 erlaumlutert die Funktion der Bloumlcke im Quellcode

Zeilen Funktion 1 Datei defaultconf einbinden 2 Datei headtpl einbinden

5 - 11 Ausgabe der verbleibenden Experimentierzeit 18 - 21 Button zum Einschalten der Elektronenbeugungsroumlhre 28 - 30 Eingabefeld fuumlr die Beschleunigungsspannung

37 Ruumlckmeldung zur eingegebenen Beschleunigungsspannung 42 Datei foottpl einbinden

Tab 11 Funktion der Programmbloumlcke in der Datei experi-menttpl

52

434 Webcamfeld der Laborseite

In Tab 12 ist die Funktion der Programmbloumlcke und die Anpassungen der Vorlage an das RCL Elektronenbeugung beschrieben

Zeilen Funktion Anpassung RCL Elektronenbeugung

5 Titelangabe erscheint als Tabulatorbeschriftung in Browsern

Name des RCLs eintragen

11 - 15 16 - 20

Zwei Javascripts zum getrennten Aufrufen zweier Po-pup-Fenster mit dargestelltem Webcambildern 1 und 2

Javascript 1 die IP-Adresse eintragen Javascript 2 auskommentiert weil nicht benoumltigt

24 - 40 42 - 60

Zwei Javascripts zum Aktualisieren der Webcambilder 1 und 2

Javascript 2 auskommentiert weil nicht benoumltigt

67 - 71 79 - 83

Aufrufen des ersten Webcambilds der Webcams 1 und 2 beim Aufrufen der Datei

Webcambild 2 auskommentiert weil nicht benoumltigt

72 - 78 84 - 90

Buttons zum Aufrufen der Screenshots der Webcam-bilder 1 und 2

Button 2 auskommentiert weil nicht benoumltigt

91 - 95 Zeile der Tabelle zum Eintragen von Informationen die sich auf die Webcambilder oder den Versuch beziehen

Text in Zeile der Tabelle geschrieben

Tab 12 Funktionen der Codeabschnitte in der Datei videohtm und Anpassung der Vor-lage an das RCL Elektronenbeugung

53

44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung Im Folgenden wird die Installation und Konfiguration des AVR-Studios 418 und der Bascom 11198 Demoversion beschrieben Alle Anleitungen sind zeilenweise von links nach rechts zu lesen

441 AVR-Studio 418 4411 Installation Auf der Webseite von ATMEL Register AVR Studio 418 (build 684) anklicken und Registrie-rungsformular ausfuumlllen Danach die Datei AvrStudio418Setup herunterladen Durch Dop-pelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen Next waumlhlen

I accept hellip und Next waumlhlen Installationsordner und Next waumlhlen

54

Installupgrade hellip und Next waumlhlen Install waumlhlen Die Installation beginnt

Finish waumlhlen

4412 Konfiguration AVR Studio 418 in Windows XP Professional unter StartProgramme aufrufen

Startfenster mit Cancel schlieszligen Unter ToolsProgram AVR Auto Connect waumlhlen

55

Im eingeblendeten Fenster auf der Registerkarte Main als Device ATmega16 und als Programming Mode ISP mo-de waumlhlen

Optional kann Signatur gelesen werden

In der Registerkarte Fuses alle Haumlkchen und Auswahlfel-der wie angegeben waumlhlen

Dann Program waumlhlen

442 BASCOM 11198 Demoversion 4421 Installation Auf der Webseite von Bascom unter Bascom AVR Demo die Zip-Datei setupdemoexe her-untergeladen Durch Doppelklick auf den Dateinamen die Installation starten

Next waumlhlen I accept the agreement und Next waumlhlen

56

Next waumlhlen Installationsordner eingeben und Next waumlhlen

Eintrag im Start-Menuuml eingeben und Next waumlhlen Next waumlhlen

Yes restart the computer now und Finish waumlhlen

57

4422 Konfiguration Bascom AVR in Windows XP Professional unter StartProgramme zum Einstellen der Para-meter des Mikrocontrollers und des Terminals aufrufen

OptionsCompilerChip waumlhlen Einstellungen wie im Bild vornehmen und OK waumlhlen

Auf der Registerkarte Communications Einstellungen wie im Bild vornehmen und OK waumlhlen

Unter OptionsCommunication Einstellungen wie im Bild

vornehmen und OK waumlhlen FileNew waumlhlen Unter ToolsTerminal emulator das Terminal aufrufen und

eingeben Die Befehlsliste des RCLs Elektronenbeu-gung wird angezeigt

45 Installation und Konfiguration von Programmen auf dem RCL-Server Im Folgenden wird der Download die Installation und die Konfiguration von Programmen auf dem RCL-Server unter Windows XP Professional beschrieben Alle Anleitungen sind zeilen-weise von links nach rechts zu lesen Die Installation der Programme sollte in der angegebe-nen Reihenfolge erfolgen

58

451 Einrichten des Internet-Zugangs LAN-Verbindung unter StartSystemsteuerungNetzwerkverbindungen aufrufen

Internetprotokoll (TCPIP) und Eigenschaften waumlhlen Folgende IP-Adresse verwenden waumlhlen IP-Adressen ein-

geben und OK waumlhlen

452 Paket XAMPP 174 Unter apache friends - xampp fuumlr windows und XAMPP Windows 174 Installer anklicken und Datei xampp-win32-174-VC6-installerexe speichern Durch Doppelklick auf die Datei die Installation starten

Sprache und Ok waumlhlen Ok waumlhlen

59

Weiter waumlhlen Zielverzeichnis mit Durchsuchen waumlhlen oder eingeben

Apache nicht als Dienst installieren Fertig stellen waumlhlen

Ja waumlhlen Zum Starten des Apache Webservers das Control Panel

unter StartProgrammeXAMPP 173 for Windows mit Start starten Anstelle von Start erscheint Running

Zum Beenden des Apache Webservers Stop waumlhlen Zum Beenden des Control Panels Exit waumlhlen

60

453 Videoserver webcamXP 5 Private Auf der Webseite von Moonware Studios unter webcamXP 55xx die Datei wlite550 herun-terladen Durch Doppelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen I Agree waumlhlen

Next waumlhlen Auszliger webcamXP 5 brauchen keine weiteren Komponen-

ten installiert zu werden

Den vorgeschlagenen Ordner und Install waumlhlen Finish waumlhlen

61

WebcamXP unter StartProgramme aufrufen Zugesandte

Lizenz-Daten in das eingeblendete Fenster eingeben und Register waumlhlen

Beim Starten des Programms stellt webcamXP automa-tisch eine Verbindung zu den am Computer angeschlosse-nen Webcams her

Nach dem Start ist Uumlberwachen gewaumlhlt Durch Rechts-klick mit der Maus auf das Videofenster wird zu jeder Vi-deoquelle ein Kontextmenuuml angezeigt Wird kein Videobild dargestellt das Kontextmenuuml aufrufen Art der Videoquelle waumlhlen (hier USB) und unter den erkannten Videoquellen (hier USB-Videogeraumlt) die gewuumlnschte waumlhlen

Das Videoformat muss fuumlr eine passende Darstellung auf

der Laborseite auf 320 x 240 eingestellt sein Ist das nicht der Fall im Kontextmenuuml unter Video Format einstellen

In gleicher Weise kann eine zweite Videoquelle hinzugefuumlgt werden

In der Registerkarte Web Broadcast kann unter

Broadcast (HTTP) der Videoserver mit Ausschalten ge-stoppt und mit Aktivieren gestartet werden

Zur Zielwahl des Webservers (131246237167 - Internet D16W3X3J - Computer 127001 - Local Host) Videoser-ver stoppen und einstellen Videoserver wieder starten

62

454 Terminalprogramm Hyperterminal Hyperterminal in Windows XP Professional unter StartProgrammeZubehoumlrKommunikation aufrufen

Name der neuen Verbindung - z B Interface - eingeben

und OK waumlhlen Die Verbindung zwischen Computer und Interface wurde

uumlber einen USB-Seriell-Adapter hergestellt Dann erschei-nen zwei zusaumltzliche Eintraumlge (Motorola Comp Modem und COM5) in der Liste Prinzipiell muss eine COMx-Verbindung gewaumlhlt werden

Eigenschaften von COM 5 wie im Bild einstellen und OK

waumlhlen DateiEigenschaften aufrufen und ASCII-Konfiguration

waumlhlen

63

Haken bei Eingegebene Zeichen lokal ausgeben (lokales

Echo) setzen um eingegebenen Zeichen im Hyperterminal zu sehen

Bei funktionsfaumlhiger Verbindung erscheint nach Eingabe von Return die Befehlsliste des Interface

Durch Aufrufen von DateiSpeichern die erstellte Verbin-

dung z B auf dem Desktop speichern Dadurch braucht die Verbindung nicht immer wieder von neuem konfiguriert wer-den

Nach Aufrufen von DateiBeenden die bestehende Verbin-dung mit Ja beenden

64

Wurde ein falscher COM-Port gewaumlhlt reagiert das Inter-

face auf die Eingabe Return nicht Hyperterminal dann beenden

Der COM-Port kann dann nicht unter DateiEigenschaften im Hyperterminal aber unter Eigenschaften des Kontext-menuumls der Datei Interfaceht in der Registerkarte Verbin-den mit geaumlndert werden Dann OK waumlhlen und erneut Verbindung testen

65

455 Fernwartungssoftware TeamViewer 6 Host Auf der Webseite von Teamviewer GmbH unter Fuumlr unbeaufsichtigte Server TeamViewer Vollversion die Datei TeamViewer_Setup-wq herunterladen Das Programm muss auf dem RCL-Server und dem Computer der auf den RCL-Server zugreifen soll installiert werden Durch Doppelklick auf die Datei die Installation starten

Ausfuumlhren waumlhlen Weiter waumlhlen

Fuumlr die private nicht kommerzielle Nutzung ist Teamviewer kostenlos

privat nicht-kommerziell und Weiter waumlhlen

Beide Haumlkchen setzen und Weiter waumlhlen

66

Ja un Weiter waumlhlen Weiter

Computername und Kennwort fuumlr den Zugriff auf den RCL-Server oder den eigenen Computer vergeben Kenn wort notie-ren

Ein Teamviewerkonto ist nicht erforderlich Kann auch spaumlter noch eingerichtet werden

ID fuumlr den Computer auf dem das Programm installiert wird fuumlr Zugriff notieren

Das Programm wird gestartet Standardmaumlszligig vorein-gestellt ist der Start des Programms beim Start des Be-trienssystems

67

46 Selbstbau eines elementaren RCLs 461 Hard- und Software Auch ohne gleich ein vielleicht teures physikalisches Experiment zu steuern laumlsst sich mit wenigen Bauelementen ein elementares RCL realisieren Von einer Webseite im Internet sol-len eine Leuchtdiode (LED) ein- oder ausgeschaltet sowie der Zustand der Leuchtdiode und eines Tasters abgefragt werden An Hard- und Software werden benoumltigt

1 Low-Current-LED 5 mm 2 mA 1 Widerstand 18 kΩ 1 Taster und optional zwei 10-polige Wannenstecker mit ungefaumlhr 10 cm passendem Flachbandkabel und Buchsen

Interface in Basisschaltung Null-Modem-Kabel 12 V DC Steckernetzteil (larr 1)

Installierte Bascom-Demo-Version (larr 42)

AVR ISP-Programmer mit 10-poligem Programmierkabel

Installiertes und konfiguriertes AVR Studio 418 (larr 41)

Installiertes Paket XAMPP (larr 52)

Texteditor wie z B Notepad in Windows XP Professional

Konfigurierte Hyperterminalverbindung (larr 54)

462 Bestuumlckung der Platine Abb 29 zeigt zur Orientierung fuumlr das Einloumlten der Bauelemente die fertig bestuumlckte Platine des Interface

Abb 29 Mit elementarem RCL bestuumlckte Platine

des Interface

LED mit Vorwiderstand und der Taster sind rechts neben dem Mikrocontroller im Lochraster-bereich aufgebaut und uumlber Wannenstecker und Flachbandkabel mit dem Port A des Mikro-controllers verbunden (die drei Bauteile rechts neben dem ATmega16 werden nicht benouml-tigt) Tab 13 erlaumlutert die Schritte zur Bestuumlckung der Platine des Interface

68

Nr Schaltung Erlaumluterung

1

Die Leuchtdiode (LED) mit dem Pluspol (langes Beinchen) an PortA0 (PIN40 oben rechts) des Mikrocontrollers anloumlten

An das kurze Beinchen einen 18kΩ Widerstand loumlten dessen anderes Ende mit der Masse (GND) verbinden

2

Den Taster mit PortA1 (PIN39 = 2 Beinchen von oben rechts) und Masse (GND) verbinden

3

Draufsicht

Belegung des 10-poligen Wannensteckers 1 GND (Masse) im Foto oben links 2 +5 V 3 PortA0 4 PortA1 10 PortA7 im Foto unten rechts

Tab 13 Schritte zum Aufbau des elementaren RCLs

463 Lokal gesteuertes RCL Nachfolgend ist der Basic-Programmcode des Mikrocontrollers zur Steuerung und Abfrage der LED und des Tasters angegeben 01 $regfile = m16DEFdat Microcontroller ATmega16 02 $crystal = 11059200 110592MHz Quarz 03 $baud = 9600 Baudrate 04 05 ---[ Variables ]--------------------------------------------------------------- 06 Dim Rs232kommando As String 10 erst Befehlspuffer dann Kommando 07 Dim Parameter As String 10 Parameter 08 Dim Str_pos As Byte Position von Leerzeichen zur Trennung von Kommando und Pa-rameter 09 10 ---[ Initialisierung ]--------------------------------------------------------- 11 Ddra0 = 1 PortA0 als Ausgang fuumlr LED 12 Porta0 = 0 LED aus 13 Ddra1 = 0 PortA1 als Eingang fuumlr Taster 14 Porta1 = 1 Pull-Up aktivieren 15 16 ---[ Main program loop ]------------------------------------------------------- 17 Do Start der Endlos-Schleife 18 19 If Ischarwaiting() = 1 Then Zeichen uumlber RS232 empfangen 20 Input Rs232kommando neues Kommando lesen 21 Parameter = Parameter initialisieren 22 Str_pos = Instr(rs232kommando ) Leerzeichen im Kommando suchen 23 If Str_pos gt 0 Then falls Leerzeichen dann in Kommando+Parameter zerlegen 24 Incr Str_pos Str_pos soll jetzt auf 1Zeichen des Parameters zeigen 25 Parameter = Mid(rs232kommando Str_pos ) Parameter = Teilstring nach Leerzeichen 26 Parameter = Ucase(parameter) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 27 Str_pos = Str_pos - 2 Str_pos soll jetzt auf letztes Zeichen des Kommandos zeigen 28 Rs232kommando = Left(rs232kommando Str_pos)Kommando = Teilstring vor Leerzeichen 29 Rs232kommando = Ucase(rs232kommando) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 30 End If 31 32 Select Case Rs232kommando Eventhandler Interpretation der Kommandos 33 Case Print Hilfe Hilfeseite anzeigen 34 Print LED on - LED einschalten 35 Print LED off - LED ausschalten 36 Print LED - zeigt Status der LED an 37 Print SW - zeigt Status des Schalters an 38

1K8

LED rotmicroC PortA0(PIN40)

Taster

microC PortA1(PIN39)

1

3

2

69

39 Case LED If Parameter = ON Then LED schalten 40 Porta0 = 1 41 End If 42 If Parameter = OFF Then 43 Porta0 = 0 44 End If 45 46 Case LED If Porta0 = 0 Then Status der LED ausgeben 47 Print LED aus 48 Else 49 Print LED an 50 End If 51 52 Case SW If Pina1 = 1 Then Status des Schalters ausgeben 53 Print Taster offen 54 Else 55 Print Taster geschlossen 56 End If 57 58 Case Else Print gt Rs232kommando lt ungueltiger Befehl - weitere Infos mit Info bei unguumlltigen Eingaben 59 End Select 60 61 End If 62 63 Loop Endlos-Schleife Springe zu Do 64 65 End wird nie erreicht

Der erste Teil des Programms (Zeilen 1 - 15) enthaumllt die Systemparameter Variablen und Initialisierung der Ein- und Ausgaumlnge Der zweite Teil enthaumllt ab Zeile 17 das Hauptpro-gramm in dem Benutzereingaben uumlber die serielle Schnittstelle empfangen interpretiert und in entsprechende Anweisungen umgesetzt werden Tab 14 erlaumlutert den Programmcode de-taillierter

Zeilen Erlaumluterung

1 - 3 Diese Angaben teilen dem Compiler (Bascom) mit welcher Prozessor eingesetzt wird wie schnell dieser getaktet (Quarz) ist und mit welcher Uumlbertragungsgeschwindigkeit die Kommunikation uumlber die serielle Schnittstelle (RS232) mit dem PC erfolgen soll

6 - 8 Es werden drei Variablen genutzt Die Eingabe uumlber die serielle Schnittstelle wird in rs232kommando gespeichert Es wird ein Text der Form Kommando ltLeerzeichengt Parameter erwartet so dass die Variable Parameter den-selbigen aufnimmt Die Variable str_pos wird fuumlr die Trennung von Kommando und Parameter benoumltigt

11 - 14

Mit dem Befehl ddrPX (ddr = data direction) wird festgelegt ob ein Beinchen als Ausgang (=1) oder als Eingang (=0) arbeiten soll Der ATmega16 besitzt 32 Ein-Ausgaumlnge die in vier Ports (P=AD) zu je 8 Pins (X=07) unterteilt sind ddrA0 = 1 legt also das 1 Beinchen (Pin 0) von PortA als Ausgang (=1) fest Mit dem Befehl PortA0 =1 kann dieser Pin dann durch Zuweisen von 1 oder 0 an- bzw ausgeschaltet werden Im Datenblatt erfahren Sie welches der 40 Beinchen des Mikrocontrollers wie bezeichnet wird (Pin-Belegung) Wird ein Beinchen als Eingang verwendet (ddrA1 = 0) koumlnnen Sie optional einen so genannten Pull-Up-Widerstand aktivieren (PortA1=1) oder deaktivieren (PortA1=0) Auch hierzu sollten Sie sich unbedingt mit dem Datenblatt vertraut machen

17 63 Das Hauptprogramm besteht aus einer Endlosschleife d h der Mikrocontroller verrichtet ununterbrochen seinen Job so lange er mit Strom versorgt wird

19 - 30 Falls ein Zeichen uumlber die serielle Schnittstelle empfangen wurde wird dieses und alle folgenden gelesen Anschlie-szligend wird gepruumlft ob der empfangene Text von der Form Kommando ltLeerzeichengt Parameter ist so dass er ge-gebenenfalls in ein Kommando und einen Parameter zerlegt werden kann

32 - 59 Dieser Abschnitt wird mit Event-Handler bezeichnet Hier wird auf die Kommandos (Events) reagiert und die ent-sprechenden Schritte ausgefuumlhrt zB schalten LED je nach Wert der Variablen Parameter an- bzw ausschalten

46 52

In beiden Zeilen wird ein Wert eines Ports abgefragt Unterschiedlich ist dass in Zeile 46 der Status eines Ausgangs abgefragt wird (porta0) und in Zeile 52 der Zustand eines Eingangs (pina0) Die Anweisung IF porta0 = 0 THEN pruumlft (hier ist = ein Vergleich und KEINE Zuweisung) ob zuletzt die LED ausgeschaltet (Zuweisung porta0 = 0) wurde Die Anweisung IF pina1= 1 THEN liest den Status eines Eingangs Hier kann festgestellt werden ob der Eingang uumlber den internen Pull-UP-Widerstand auf +5V liegt (pina1 liefert 1) oder ob der Schalter den Eingang mit Masse (0V) verbindet (pina1 liefert 0)

Tab 14 Erlaumluterung des Mikrocontroller-Programmcodes fuumlr elementares RCL

70

In Bascom AVR eine neue Datei erzeugen (FileNew) den Programmcode ohne Kommenta-re eingeben und mit ProgramCompile (F7) eine Hexadezimaldatei erzeugen Die Hexadezi-maldatei mit dem AVR-Studio und dem AVR-ISP-Programmer in den Mikrocontroller schrei-ben (larr 222 Programmuumlbertragung) Nach dem Verbinden von Computer und Interface per Null-Modem-Kabel kann durch Eingabe von in das konfigurierte Hyperterminal die Befehls-liste in Abb 30 aufgerufen werden

Abb 30 Aufgerufene Befehlsliste im Hyperterminal

Durch Eingabe von LED on oder LED off kann die LED ein- und ausgeschaltet LED zeigt den Status der LED und sw den Status des Tasters an Alternativ zum Hyperterminal kann auch das Terminal in BASCOM unter ToolsTerminal Emulator verwendet werden (larr 422)

464 Ferngesteuertes RCL Zum Ansteuern des Interfaces und zum Bedienen des Versuchsaufbaus uumlber das Internet wird eine Webseite benoumltigt die dem Benutzer alle Bedienelemente des Experiments zur Verfuumlgung stellt

Der Benutzer benoumltigt anklickbare Buttons im Webbrowser

Der Webserver muss die Information welcher Button gedruumlckt wurde empfangen und ein entsprechendes Kommando uumlber die serielle Schnittstelle an das Interface senden

Beide Schritte sind im nachfolgenden PHPHTML-Quellcode zusammengefasst 01 ltDOCTYPE HTML PUBLIC -W3CDTD HTML 401 TransitionalEN httpwwww3orgTRhtml4loosedtdgt 02 lthtmlgt 03 ltheadgt 04 ltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1gt 05 lttitlegtelementares RCLlttitlegt 06 ltheadgt 07 08 ltbodygt 09 ltphp 10 if (isset($_POST[Kommando])) wurde bereits Kommando gesendet 11 if( ( $handle = fopen( COM1 w+ ) ) ) Schnittstelle oumlffnen 12

71

13 throw new Exception( Can not access serial port 2 ) ohne Erfolg 14 15 fwrite( $handle $_POST[Kommando] chr( 13 ) ) Befehl an Interface senden 16 switch ( $_POST[Kommando] ) Antwort von Interface auswerten 17 case LED $tmp = fgets( $handle ) Echo von Interface ignorieren 18 $antwort = fgets( $handle ) Antwort des Interfaces 19 echo Antwort $antwort Ausgabe auf Webseite 20 break switch verlassen 21 22 case SW $tmp = fgets( $handle ) Echo von Interface ignorieren 23 $antwort = fgets( $handle ) Antwort des Interfaces 24 echo Antwort $antwort Ausgabe auf Webseite 25 break switch verlassen 26 27 28 29 fclose( $handle ) Schnittstelle schlieszligen 30 31 else 32 `mode com1 BAUD=9600 PARITY=N data=8 stop=1 xon=off` Schnittstellenparameter setzen 33 34 35 gt 36 37 lth3gtBefehl sendenlth3gt 38 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 39 ltinput type=hidden name=Kommando value=LED ON gt 40 ltinput type=submit value=LED anschalten gt 41 ltformgt 42 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 43 ltinput type=hidden name=Kommando value=LED OFF gt 44 ltinput type=submit value=LED ausschalten gt 45 ltformgt 46 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 47 ltinput type=hidden name=Kommando value=LED gt 48 ltinput type=submit value=LED abfragen gt 49 ltformgt 50 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 51 ltinput type=hidden name=Kommando value=SW gt 52 ltinput type=submit value=Taster abfragen gt 53 ltformgt 54 ltbodygt 55 lthtmlgt Den Quellcode in den Texteditor kopieren und im Ordner htdocs von XAMPP z B unter rclphp speichern HTML-Dateien mit PHP-Code (Zeilen 9-35) muumlssen mit der Erweiterung php gespeichert werden damit der Apache Webserver zwischen HTML-Seiten mit und ohne PHP-Code unterscheiden kann Den installierten Apache Webserver starten (larr 452) und im Adressfeld des Webbrowsers die IP-Adresse http127001rclphp aufrufen Das Bedi-enfeld des elementaren RCLs in Abb 31 wird im Browserfenster angezeigt

72

Abb 31 Laborseite des elementaren RCLs

Im Bedienfeld kann die LED an- und ausgeschaltet sowie der Status von LED und Taster abgefragt werden

  • 0 Warum ein Tutorial zur RCL-Technik
  • 1 Technische Konzeption
    • 11 Einfuumlhrung
    • 12 Wahl der RCL-Technik
      • 2 Lokal gesteuertes RCL
        • 21 Interface
          • 211 Mikrocontroller
          • 212 Basisschaltung und Erweiterungsschaltungen
          • 213 Programmierung des Mikrocontrollers
            • 22 Hyperterminal
            • 23 Positionieren von Objekten
              • 231 Hybrid-Schrittmotoren
              • 232 Schrittmotorsteuerung und Positionierungsmechanik
                  • 3 Ferngesteuertes RCL
                    • 31 RCL-Server
                    • 32 Laborseite
                      • 321 Steuerung des RCLs uumlber das Bedienfeld
                      • 322 Videouumlbertragung im Webcamfeld
                        • 33 Standard-Lernumgebung
                          • 4 ANHANG
                            • 41 Interface in Basisschaltung
                              • 411 Schaltplan und Bauteilliste
                              • 412 Bestuumlckung der Platine
                                • 42 Erweiterungsschaltungen
                                  • 421 Uumlbersicht
                                  • 422 TMC222-Modul zur Schrittmotorsteuerung
                                    • 4221 Schaltplan und Bauteilliste
                                    • 4222 Bestuumlckung der Platine
                                    • 4223 Quellcode des Mikrocontroller-Programms
                                      • 423 Geschaltete Spannungsquellen und Verbraucher
                                      • 424 Steuerung von Gleichstrommotoren
                                        • 43 Quellcodes zum RCL Elektronenbeugung
                                          • 431 Mikrocontroller-Programmierung
                                          • 432 PHP-Programmierung
                                          • 433 Bedienfeld der Laborseite
                                          • 434 Webcamfeld der Laborseite
                                            • 44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung
                                              • 441 AVR-Studio 418
                                                • 4411 Installation
                                                • 4412 Konfiguration
                                                  • 442 BASCOM 11198 Demoversion
                                                    • 4421 Installation
                                                    • 4422 Konfiguration
                                                        • 45 Installation und Konfiguration von Programmen auf dem RCL-Server
                                                          • 451 Einrichten des Internet-Zugangs
                                                          • 452 Paket XAMPP 174
                                                          • 453 Videoserver webcamXP 5 Private
                                                          • 454 Terminalprogramm Hyperterminal
                                                          • 455 Fernwartungssoftware TeamViewer 6 Host
                                                            • 46 Selbstbau eines elementaren RCLs
                                                              • 461 Hard- und Software
                                                              • 462 Bestuumlckung der Platine
                                                              • 463 Lokal gesteuertes RCL
                                                              • 464 Ferngesteuertes RCL

39

Spannungsregler L7805 Kuumlhl-koumlrper und Montage

19

Steckernetzteil

Funktionskontrolle vor dem Einsetzen des Mikrocontrollers Polung der Elektrolyt-Kondensatoren (Elkos) pruumlfen Sind alle Beinchen angeloumltet Hat das Loumltzinn an den Beinchen und der Pla-

tine guten Kontakt Sind eventuell zwei benachbarte Beinchen unbeabsichtigt durch Loumltzinn verbunden Alle Loumltverbindungen nochmals genau z B mit ei-ner Lupe pruumlfen

Probeweise das Stecker-Netzteil an die Buchse anschlieszligen Am 100 nF-Kondensator links mittig der 40-poligen IC-Fassung muumlssen 5 V anliegen

Versorgungsspannung unbedingt wieder von der Platine trennen

20

21

ICs MAX232 und ATmega16

Die Nuten auf den ICs am linken Rand muumlssen nach oben zeigen d h Pin1 ist bei beiden ICs in der Abbildung links unten und auf der Platine oben links

Manchmal passen die Beinchen der ICs nicht in die Fassung weil die Fas-sung scheinbar zu schmal ist Dann den IC seitlich mit einer Beinchen-Reihe flach auf den Tisch legen den IC-Koumlrper links und rechts greifen und Bein-chen durch leichten Druck biegen Einzelne verbogene Beinchen vorsichtig mit einer kleinen Flachzange richten

22

23

Wannenstecker 10- und 14-polig

Wannenstecker an den vorgesehe-nen Stellen mit der Nut gegen Ver-polung in Richtung des naumlherliegen-den Platinenrands einloumlten

Die Abbildung rechts zeigt die Pin-Belegung der Wannenstecker

24

Stiftleiste 8-polig 40-pol Stiftleiste in 4 jeweils 8-polige Stuumlcke zerteilen und einloumlten

25

Kunststoffgehaumluse

In der Selbstbauvariante der Platine (Nr 0) vor dem Einsetzten der Platine in das Gehaumluse passend positionierte Kunststoffstege am Gehaumluseboden fest-kleben

Tab 8 Bestuumlckung der Platine des Interface mit Bauelementen

42 Erweiterungsschaltungen 421 Uumlbersicht In Tab 3 sind von RCLs des RCL-Portals Sensoren und Aktoren mit den dazugehoumlrigen Er-weiterungsschaltungen zusammengestellt Da alle RCLs obligatorisch uumlber mindestens eine Webcam verfuumlgen sind diese unter den Sensoren nicht aufgefuumlhrt Die wenigen Erweite-rungsschaltungen fuumlr Sensoren sind unter Sensoren in Klammern aufgelistet Unter Aktoren werden auszliger elektro-mechanischen Wandlern auch gesteuerte Geraumlte oder Bauelemente verstanden Anzeigeinstrumente sind unter Aktoren nur aufgefuumlhrt wenn sie direkt vom In-terface gesteuert werden Mit gekennzeichnete Erweiterungsschaltungen befinden sich au-szligerhalb des Interface

40

RCL Sensoren Aktoren Erweiterungsschaltungen fuumlr Aktoren

Beugung und Interferenz I Referenz-Taster

Schrittmotor (Rotation) Schrittmotorsteuerung Laser-Modul Geschaltete Spannungsversorgung

Beugung und Interferenz II

4 Referenz-Taster Lichtsensor

4 Schrittmotoren (Translation) 4 Schrittmotorsteuerungen 5 Laser-Module Geschaltete Spannungsversorgung LED fuumlr Position des

Lichtsensors Geschaltete Spannungsversorgung

LED fuumlr Linealbeleuchtung Geschaltete Spannungsversorgung

Elektronen-beugung

Hochspannungsnetzgeraumlt Geschaltete Spannungsversorgung Hochspannungsnetzgeraumlt Steuerung der Hochspannung

Fotoeffekt 2 Referenz-Taster Photozelle

2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen

Quecksilberdampflampe Geschaltete Spannungsversorgung

der Drossel fuumlr Quecksilberdampf-lampe

Halbleiter-kennlinien

und Halbleiterkennli-nien - Schuumller-

projekt

Referenz-Taster

Schrittmotor (Rotation) Schrittmotorsteuerung Oszilloskop Geschaltete Spannungsversorgung

Oszilloskop Instrumentenverstaumlrker fuumlr X- und Y-Ablenkung

Multimeter Steuerung Spannungs- oder Strom-anzeige

Heiszliger Draht 4 Endtaster 4 Drehgeber Kurzschlusssensor

4 Gleichstrommotoren 4 Treiber

Zweifarbige LED Steuerung der LED-Farbe

Lichtgeschwin-digkeit

Drehimpulsgeber 2 Taster an Enden

der Eisenbahnstre-cke

2 Schrittmotoren 2 Schrittmotorsteuerungen Oszilloskop Geschaltete Spannungsversorgung

Motor der Lokomotive Steuerung des Ein- und Ausschal-tens und der Bewegungsrichtung

Maut Infrarot-Sensor Gleichstrommotor Geschaltete Spannungsquelle 2 IR-Fernbedienungen Spannungsregler 2-stellige 7-Segmentanzeige LED-Treiber

Millikan-Versuch 2 Referenz-Taster

2 Schrittmotoren 2 Schrittmotorsteuerungen Lichtquelle (LED) fuumlr Millikan-

Kondensator Geschaltete Spannungsversorgung

Airbrush-Kompressor Geschaltete Spannungsversorgung Magnetventil Geschaltete Spannungsversorgung Millikan-Kondensator Gesteuertes Hochspannungsmodul

Optische Com-putertomogra-

phie

2 Referenz-Taster 2 Lichtsensoren

Schrittmotor (Rotation) Schrittmotorsteuerung Schrittmotor (Translation) Schrittmotorsteuerung

2 Laser-Module 2 geschaltete Spannungsversor-gungen

Optische Fou-rier-

Transformation 2 Referenz-Taster

2 Schrittmotoren (Translation) 2 Schrittmotorsteuerungen

Laser-Modul Geschaltete Spannungsversorgung

Oszilloskop Oszilloskop Geschaltete Spannungsversorgung Signalgenerator Steuerung der Signalart

Radioaktivitaumlt 4 Referenz-Taster Geiger-Muumlller-

Zaumlhlrohr

2 Schrittmotoren (Translation) 2 Schrittmotorsteuerungen 2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen 4-stellige 7-Segment-Anzeige Treiber Elektromagnet Geschaltete Spannungsversorgung

Roboter im Labyrinth Infrarot-Sensor

2 Schrittmotoren 2 Schrittmotorsteuerung Infrarot-Sender Treiber

Rutherfordscher Streuversuch

2 Referenz-Taster Halbleiterdetektor

(Impulsformer)

2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen

4-stellige 7-Segment-Anzeige Treiber

Weltpendel

Referenz-Taster Lichtsensor der

Lichtschranke (Im-pulsformer)

Temperatursensor

Schrittmotor (Translation) Schrittmotorsteuerung Elektromagnet Geschaltete Spannungsversorgung

Laser der Lichtschranke Geschaltete Spannungsversorgung

Windkanal Referenz-Taster Schrittmotor (Translation) Schrittmotorsteuerung

41

Dehnungsmess-streifen (Wheat-stonesche Bruumlcke Messverstaumlrker Multimeter)

Geblaumlsemotor Geschaltete Spannungsversorgung

und Ansteuerung mit Pulsweiten-modulation

Anemometer Geschaltete Spannungsversorgung Multimeter Geschaltete Spannungsversorgung

Tab 9 Sensoren Aktoren und Erweiterungsschaltungen der RCLs des RCL-Portals

422 TMC222-Modul zur Schrittmotorsteuerung 4221 Schaltplan und Bauteilliste Abb 1 zeigt die Beschaltung des TMC222 von Trinamic auf dem TMC222-Modul

Abb 24 Beschaltung des TMC222 von Trinamic

Anhand der Bauteilliste in Tab 10 koumlnnen die elektronischen Bauelemente des TMC222-Moduls bei Reichelt electronic bestellt werden Ein TMC222-Modul kostet ungefaumlhr 10 euro

Nr Anzahl Kurzbeschreibung des Bauteils Best-Nr bei Reichelt electronic

Einzelpreis in euro

0 1 Epoxyd-Fotoplatine einseitig 75x100 mm 15 mm 35 microm BEL75X100-1 096 1 1 Integrierter TMC-Schrittmotor-Controller TMC 222 SI asymp 7 2 1 Elektrolytkondensator 8x11 mm Rm 35 mm 100 microF35 V RAD 10035 004 3 1 Tantal-Kondensator Rm 25 10 microF35 V Tantal 1035 014 4 2 Vielschicht-Keramikkondensator 220 nF 20 Z5U-25 220N 011 5 3 Vielschicht-Keramikkondensator 100 nF 20 Z5U-25 100N 004 6 2 Metallschichtwiderstand 100 kΩ Metall 100K 0082 7 1 1x36pol Stiftleiste gewinkelt Rm 254 SL 1X36W 027 8 1 1x36pol Buchsenleiste gerade Rm 254 BL 1X36G 025

Tab 10 Bauteilliste mit Bestellnummer und Einzelpreisen der Bauelemente bei Reichelt electronic (Stand 23102010)

4222 Bestuumlckung der Platine

42

Abb 25 zeigt die fertig bestuumlckte Platine mit den Nummern aus Tab 10

Abb 25 Bestuumlckte Platine des TMC222-Moduls

mit nummerierten Bauelementen

Die Platine (35 mm x 30 mm) kann anhand des Layouts in Abb 26 hergestellt werden Der IC TMC222 wird auf der Loumltseite der Platine aufgeloumltet Das TMC222-Modul kann mit der Stiftleiste (larr Tab 10 Nr 7) in eine Buchsenleiste (larr Tab 10 Nr 8) auf die Platine des In-terface gesteckt werden

Abb 26 Platine des TMC222-Moduls von der Loumltseite (links) und Layout

4223 Quellcode des Mikrocontroller-Programms Im Folgenden ist ein mit Bascom (larr 12 Tab 1 Entwicklungsumgebungen) erstelltes Bei-spiel-Programm zur Ansteuerung des Schrittmotormoduls TMC222 durch den Mikrocontroller ATmega16 angegeben $regfile = m16DEFdat $crystal = 11059200 $baud = 9600 Definitionen Config Scl = Portc0 Taktleitung Config Sda = Portc1 Datenleitung Const Adress = ampB11000000 I2C Adresse des TMC222 Const GetFullstatus1 = ampB10000001 Kommando des TMC222 Const Resetpos = ampB10000110 Kommando des TMC222 Const Motorparameter = ampB10001001 Kommando des TMC222 Const Setposition = ampB10001011 Dim Puffer(10) As Byte

43

Programm I2csend Adress GetFullstatus1 GetFullstatus1 (Initialisierung des TMC222) I2creceive Adress 7 Ack Daten in Puffer auslesen Puffer(1) = Motorparameter puffer auffuumlllen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB11110011 1111irun 0011ihold Puffer(5) = ampB01110001 0111vmax 0001vmin Puffer(6) = ampB00010000 000securepos(bit10-8) 1shaft 0000acceleration Puffer(7) = 0 securepos(bit7-0) Puffer(8) = ampB00001100 000nicht belegt 0accshape 11stepmode 00nicht belegt I2csend Adress Puffer(1) 8 I2csend Adress Resetpos aktuelle Position auf 0 setzen Puffer(1) = Setposition Motor bewegen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB01111111 position(bit 15-8) Puffer(5) = ampB11111111 position(bit 7-0)acute I2csend Adress Puffer(1) 5 End

423 Geschaltete Spannungsquellen und Verbraucher Die Ausgaumlnge des Mikrocontrollers duumlrfen nur mit Stroumlmen kleiner als ungefaumlhr 20 mA belas-tet werden Verbraucher mit einer Stromlast groumlszliger als 20 mA koumlnnen daher nicht direkt an den Mikrocontroller angeschlossen werden Abb 27 zeigt links eine Schaltung zum Schalten eines Verbrauchers wie z B des Relais und rechts eine Schaltung mit dem IC ULN2803A zum Schalten mehrerer Verbraucher wie z B Gluumlhlampen

Abb 27 Erweiterungsschaltungen zum Schalten eines (links) oder

mehrerer Verbraucher (rechts)

Zu beachten ist dass der Transistor BC337 maximal 800 mA schalten kann und fuumlr groumlszligere Stroumlme andere Transistoren verwendet werden muumlssen

424 Steuerung von Gleichstrommotoren

44

Sollen Gleichstrommotoren zum Bewegen von Objekten mit dem Mikrocontroller gesteuert werden dann eignet sich dazu der in Abb 28 dargestellte beschaltete IC L293D

Abb 28 Beschaltung des L293D zum

Steuern zweier Gleichstrom-motoren

Mit Pin 1 = Pin 9 = 1 (High) koumlnnen zwei Gleichstrommotoren M1 und M2 (Versorgungs-spannung UM lt 36 V Spulendauerstrom IM lt 600 mA) unabhaumlngig voneinander ein- und ausgeschaltet sowie in der Drehrichtung uumlber die Ports PA0 und PA1 fuumlr M1 und PA2 und PA3 fuumlr M2 gesteuert werden Z B gilt mit PA0 = PA1 = 0 (M1 ausgeschaltet) PA0 = 1 und PA1 = 0 (M1 dreht sich) PA0 = 0 und PA1 = 1 (M1 dreht sich in Gegenrichtung)

45

43 Quellcodes zum RCL Elektronenbeugung 431 Mikrocontroller-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

46

47

48

49

432 PHP-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

50

51

433 Bedienfeld der Laborseite

Tab 11 erlaumlutert die Funktion der Bloumlcke im Quellcode

Zeilen Funktion 1 Datei defaultconf einbinden 2 Datei headtpl einbinden

5 - 11 Ausgabe der verbleibenden Experimentierzeit 18 - 21 Button zum Einschalten der Elektronenbeugungsroumlhre 28 - 30 Eingabefeld fuumlr die Beschleunigungsspannung

37 Ruumlckmeldung zur eingegebenen Beschleunigungsspannung 42 Datei foottpl einbinden

Tab 11 Funktion der Programmbloumlcke in der Datei experi-menttpl

52

434 Webcamfeld der Laborseite

In Tab 12 ist die Funktion der Programmbloumlcke und die Anpassungen der Vorlage an das RCL Elektronenbeugung beschrieben

Zeilen Funktion Anpassung RCL Elektronenbeugung

5 Titelangabe erscheint als Tabulatorbeschriftung in Browsern

Name des RCLs eintragen

11 - 15 16 - 20

Zwei Javascripts zum getrennten Aufrufen zweier Po-pup-Fenster mit dargestelltem Webcambildern 1 und 2

Javascript 1 die IP-Adresse eintragen Javascript 2 auskommentiert weil nicht benoumltigt

24 - 40 42 - 60

Zwei Javascripts zum Aktualisieren der Webcambilder 1 und 2

Javascript 2 auskommentiert weil nicht benoumltigt

67 - 71 79 - 83

Aufrufen des ersten Webcambilds der Webcams 1 und 2 beim Aufrufen der Datei

Webcambild 2 auskommentiert weil nicht benoumltigt

72 - 78 84 - 90

Buttons zum Aufrufen der Screenshots der Webcam-bilder 1 und 2

Button 2 auskommentiert weil nicht benoumltigt

91 - 95 Zeile der Tabelle zum Eintragen von Informationen die sich auf die Webcambilder oder den Versuch beziehen

Text in Zeile der Tabelle geschrieben

Tab 12 Funktionen der Codeabschnitte in der Datei videohtm und Anpassung der Vor-lage an das RCL Elektronenbeugung

53

44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung Im Folgenden wird die Installation und Konfiguration des AVR-Studios 418 und der Bascom 11198 Demoversion beschrieben Alle Anleitungen sind zeilenweise von links nach rechts zu lesen

441 AVR-Studio 418 4411 Installation Auf der Webseite von ATMEL Register AVR Studio 418 (build 684) anklicken und Registrie-rungsformular ausfuumlllen Danach die Datei AvrStudio418Setup herunterladen Durch Dop-pelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen Next waumlhlen

I accept hellip und Next waumlhlen Installationsordner und Next waumlhlen

54

Installupgrade hellip und Next waumlhlen Install waumlhlen Die Installation beginnt

Finish waumlhlen

4412 Konfiguration AVR Studio 418 in Windows XP Professional unter StartProgramme aufrufen

Startfenster mit Cancel schlieszligen Unter ToolsProgram AVR Auto Connect waumlhlen

55

Im eingeblendeten Fenster auf der Registerkarte Main als Device ATmega16 und als Programming Mode ISP mo-de waumlhlen

Optional kann Signatur gelesen werden

In der Registerkarte Fuses alle Haumlkchen und Auswahlfel-der wie angegeben waumlhlen

Dann Program waumlhlen

442 BASCOM 11198 Demoversion 4421 Installation Auf der Webseite von Bascom unter Bascom AVR Demo die Zip-Datei setupdemoexe her-untergeladen Durch Doppelklick auf den Dateinamen die Installation starten

Next waumlhlen I accept the agreement und Next waumlhlen

56

Next waumlhlen Installationsordner eingeben und Next waumlhlen

Eintrag im Start-Menuuml eingeben und Next waumlhlen Next waumlhlen

Yes restart the computer now und Finish waumlhlen

57

4422 Konfiguration Bascom AVR in Windows XP Professional unter StartProgramme zum Einstellen der Para-meter des Mikrocontrollers und des Terminals aufrufen

OptionsCompilerChip waumlhlen Einstellungen wie im Bild vornehmen und OK waumlhlen

Auf der Registerkarte Communications Einstellungen wie im Bild vornehmen und OK waumlhlen

Unter OptionsCommunication Einstellungen wie im Bild

vornehmen und OK waumlhlen FileNew waumlhlen Unter ToolsTerminal emulator das Terminal aufrufen und

eingeben Die Befehlsliste des RCLs Elektronenbeu-gung wird angezeigt

45 Installation und Konfiguration von Programmen auf dem RCL-Server Im Folgenden wird der Download die Installation und die Konfiguration von Programmen auf dem RCL-Server unter Windows XP Professional beschrieben Alle Anleitungen sind zeilen-weise von links nach rechts zu lesen Die Installation der Programme sollte in der angegebe-nen Reihenfolge erfolgen

58

451 Einrichten des Internet-Zugangs LAN-Verbindung unter StartSystemsteuerungNetzwerkverbindungen aufrufen

Internetprotokoll (TCPIP) und Eigenschaften waumlhlen Folgende IP-Adresse verwenden waumlhlen IP-Adressen ein-

geben und OK waumlhlen

452 Paket XAMPP 174 Unter apache friends - xampp fuumlr windows und XAMPP Windows 174 Installer anklicken und Datei xampp-win32-174-VC6-installerexe speichern Durch Doppelklick auf die Datei die Installation starten

Sprache und Ok waumlhlen Ok waumlhlen

59

Weiter waumlhlen Zielverzeichnis mit Durchsuchen waumlhlen oder eingeben

Apache nicht als Dienst installieren Fertig stellen waumlhlen

Ja waumlhlen Zum Starten des Apache Webservers das Control Panel

unter StartProgrammeXAMPP 173 for Windows mit Start starten Anstelle von Start erscheint Running

Zum Beenden des Apache Webservers Stop waumlhlen Zum Beenden des Control Panels Exit waumlhlen

60

453 Videoserver webcamXP 5 Private Auf der Webseite von Moonware Studios unter webcamXP 55xx die Datei wlite550 herun-terladen Durch Doppelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen I Agree waumlhlen

Next waumlhlen Auszliger webcamXP 5 brauchen keine weiteren Komponen-

ten installiert zu werden

Den vorgeschlagenen Ordner und Install waumlhlen Finish waumlhlen

61

WebcamXP unter StartProgramme aufrufen Zugesandte

Lizenz-Daten in das eingeblendete Fenster eingeben und Register waumlhlen

Beim Starten des Programms stellt webcamXP automa-tisch eine Verbindung zu den am Computer angeschlosse-nen Webcams her

Nach dem Start ist Uumlberwachen gewaumlhlt Durch Rechts-klick mit der Maus auf das Videofenster wird zu jeder Vi-deoquelle ein Kontextmenuuml angezeigt Wird kein Videobild dargestellt das Kontextmenuuml aufrufen Art der Videoquelle waumlhlen (hier USB) und unter den erkannten Videoquellen (hier USB-Videogeraumlt) die gewuumlnschte waumlhlen

Das Videoformat muss fuumlr eine passende Darstellung auf

der Laborseite auf 320 x 240 eingestellt sein Ist das nicht der Fall im Kontextmenuuml unter Video Format einstellen

In gleicher Weise kann eine zweite Videoquelle hinzugefuumlgt werden

In der Registerkarte Web Broadcast kann unter

Broadcast (HTTP) der Videoserver mit Ausschalten ge-stoppt und mit Aktivieren gestartet werden

Zur Zielwahl des Webservers (131246237167 - Internet D16W3X3J - Computer 127001 - Local Host) Videoser-ver stoppen und einstellen Videoserver wieder starten

62

454 Terminalprogramm Hyperterminal Hyperterminal in Windows XP Professional unter StartProgrammeZubehoumlrKommunikation aufrufen

Name der neuen Verbindung - z B Interface - eingeben

und OK waumlhlen Die Verbindung zwischen Computer und Interface wurde

uumlber einen USB-Seriell-Adapter hergestellt Dann erschei-nen zwei zusaumltzliche Eintraumlge (Motorola Comp Modem und COM5) in der Liste Prinzipiell muss eine COMx-Verbindung gewaumlhlt werden

Eigenschaften von COM 5 wie im Bild einstellen und OK

waumlhlen DateiEigenschaften aufrufen und ASCII-Konfiguration

waumlhlen

63

Haken bei Eingegebene Zeichen lokal ausgeben (lokales

Echo) setzen um eingegebenen Zeichen im Hyperterminal zu sehen

Bei funktionsfaumlhiger Verbindung erscheint nach Eingabe von Return die Befehlsliste des Interface

Durch Aufrufen von DateiSpeichern die erstellte Verbin-

dung z B auf dem Desktop speichern Dadurch braucht die Verbindung nicht immer wieder von neuem konfiguriert wer-den

Nach Aufrufen von DateiBeenden die bestehende Verbin-dung mit Ja beenden

64

Wurde ein falscher COM-Port gewaumlhlt reagiert das Inter-

face auf die Eingabe Return nicht Hyperterminal dann beenden

Der COM-Port kann dann nicht unter DateiEigenschaften im Hyperterminal aber unter Eigenschaften des Kontext-menuumls der Datei Interfaceht in der Registerkarte Verbin-den mit geaumlndert werden Dann OK waumlhlen und erneut Verbindung testen

65

455 Fernwartungssoftware TeamViewer 6 Host Auf der Webseite von Teamviewer GmbH unter Fuumlr unbeaufsichtigte Server TeamViewer Vollversion die Datei TeamViewer_Setup-wq herunterladen Das Programm muss auf dem RCL-Server und dem Computer der auf den RCL-Server zugreifen soll installiert werden Durch Doppelklick auf die Datei die Installation starten

Ausfuumlhren waumlhlen Weiter waumlhlen

Fuumlr die private nicht kommerzielle Nutzung ist Teamviewer kostenlos

privat nicht-kommerziell und Weiter waumlhlen

Beide Haumlkchen setzen und Weiter waumlhlen

66

Ja un Weiter waumlhlen Weiter

Computername und Kennwort fuumlr den Zugriff auf den RCL-Server oder den eigenen Computer vergeben Kenn wort notie-ren

Ein Teamviewerkonto ist nicht erforderlich Kann auch spaumlter noch eingerichtet werden

ID fuumlr den Computer auf dem das Programm installiert wird fuumlr Zugriff notieren

Das Programm wird gestartet Standardmaumlszligig vorein-gestellt ist der Start des Programms beim Start des Be-trienssystems

67

46 Selbstbau eines elementaren RCLs 461 Hard- und Software Auch ohne gleich ein vielleicht teures physikalisches Experiment zu steuern laumlsst sich mit wenigen Bauelementen ein elementares RCL realisieren Von einer Webseite im Internet sol-len eine Leuchtdiode (LED) ein- oder ausgeschaltet sowie der Zustand der Leuchtdiode und eines Tasters abgefragt werden An Hard- und Software werden benoumltigt

1 Low-Current-LED 5 mm 2 mA 1 Widerstand 18 kΩ 1 Taster und optional zwei 10-polige Wannenstecker mit ungefaumlhr 10 cm passendem Flachbandkabel und Buchsen

Interface in Basisschaltung Null-Modem-Kabel 12 V DC Steckernetzteil (larr 1)

Installierte Bascom-Demo-Version (larr 42)

AVR ISP-Programmer mit 10-poligem Programmierkabel

Installiertes und konfiguriertes AVR Studio 418 (larr 41)

Installiertes Paket XAMPP (larr 52)

Texteditor wie z B Notepad in Windows XP Professional

Konfigurierte Hyperterminalverbindung (larr 54)

462 Bestuumlckung der Platine Abb 29 zeigt zur Orientierung fuumlr das Einloumlten der Bauelemente die fertig bestuumlckte Platine des Interface

Abb 29 Mit elementarem RCL bestuumlckte Platine

des Interface

LED mit Vorwiderstand und der Taster sind rechts neben dem Mikrocontroller im Lochraster-bereich aufgebaut und uumlber Wannenstecker und Flachbandkabel mit dem Port A des Mikro-controllers verbunden (die drei Bauteile rechts neben dem ATmega16 werden nicht benouml-tigt) Tab 13 erlaumlutert die Schritte zur Bestuumlckung der Platine des Interface

68

Nr Schaltung Erlaumluterung

1

Die Leuchtdiode (LED) mit dem Pluspol (langes Beinchen) an PortA0 (PIN40 oben rechts) des Mikrocontrollers anloumlten

An das kurze Beinchen einen 18kΩ Widerstand loumlten dessen anderes Ende mit der Masse (GND) verbinden

2

Den Taster mit PortA1 (PIN39 = 2 Beinchen von oben rechts) und Masse (GND) verbinden

3

Draufsicht

Belegung des 10-poligen Wannensteckers 1 GND (Masse) im Foto oben links 2 +5 V 3 PortA0 4 PortA1 10 PortA7 im Foto unten rechts

Tab 13 Schritte zum Aufbau des elementaren RCLs

463 Lokal gesteuertes RCL Nachfolgend ist der Basic-Programmcode des Mikrocontrollers zur Steuerung und Abfrage der LED und des Tasters angegeben 01 $regfile = m16DEFdat Microcontroller ATmega16 02 $crystal = 11059200 110592MHz Quarz 03 $baud = 9600 Baudrate 04 05 ---[ Variables ]--------------------------------------------------------------- 06 Dim Rs232kommando As String 10 erst Befehlspuffer dann Kommando 07 Dim Parameter As String 10 Parameter 08 Dim Str_pos As Byte Position von Leerzeichen zur Trennung von Kommando und Pa-rameter 09 10 ---[ Initialisierung ]--------------------------------------------------------- 11 Ddra0 = 1 PortA0 als Ausgang fuumlr LED 12 Porta0 = 0 LED aus 13 Ddra1 = 0 PortA1 als Eingang fuumlr Taster 14 Porta1 = 1 Pull-Up aktivieren 15 16 ---[ Main program loop ]------------------------------------------------------- 17 Do Start der Endlos-Schleife 18 19 If Ischarwaiting() = 1 Then Zeichen uumlber RS232 empfangen 20 Input Rs232kommando neues Kommando lesen 21 Parameter = Parameter initialisieren 22 Str_pos = Instr(rs232kommando ) Leerzeichen im Kommando suchen 23 If Str_pos gt 0 Then falls Leerzeichen dann in Kommando+Parameter zerlegen 24 Incr Str_pos Str_pos soll jetzt auf 1Zeichen des Parameters zeigen 25 Parameter = Mid(rs232kommando Str_pos ) Parameter = Teilstring nach Leerzeichen 26 Parameter = Ucase(parameter) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 27 Str_pos = Str_pos - 2 Str_pos soll jetzt auf letztes Zeichen des Kommandos zeigen 28 Rs232kommando = Left(rs232kommando Str_pos)Kommando = Teilstring vor Leerzeichen 29 Rs232kommando = Ucase(rs232kommando) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 30 End If 31 32 Select Case Rs232kommando Eventhandler Interpretation der Kommandos 33 Case Print Hilfe Hilfeseite anzeigen 34 Print LED on - LED einschalten 35 Print LED off - LED ausschalten 36 Print LED - zeigt Status der LED an 37 Print SW - zeigt Status des Schalters an 38

1K8

LED rotmicroC PortA0(PIN40)

Taster

microC PortA1(PIN39)

1

3

2

69

39 Case LED If Parameter = ON Then LED schalten 40 Porta0 = 1 41 End If 42 If Parameter = OFF Then 43 Porta0 = 0 44 End If 45 46 Case LED If Porta0 = 0 Then Status der LED ausgeben 47 Print LED aus 48 Else 49 Print LED an 50 End If 51 52 Case SW If Pina1 = 1 Then Status des Schalters ausgeben 53 Print Taster offen 54 Else 55 Print Taster geschlossen 56 End If 57 58 Case Else Print gt Rs232kommando lt ungueltiger Befehl - weitere Infos mit Info bei unguumlltigen Eingaben 59 End Select 60 61 End If 62 63 Loop Endlos-Schleife Springe zu Do 64 65 End wird nie erreicht

Der erste Teil des Programms (Zeilen 1 - 15) enthaumllt die Systemparameter Variablen und Initialisierung der Ein- und Ausgaumlnge Der zweite Teil enthaumllt ab Zeile 17 das Hauptpro-gramm in dem Benutzereingaben uumlber die serielle Schnittstelle empfangen interpretiert und in entsprechende Anweisungen umgesetzt werden Tab 14 erlaumlutert den Programmcode de-taillierter

Zeilen Erlaumluterung

1 - 3 Diese Angaben teilen dem Compiler (Bascom) mit welcher Prozessor eingesetzt wird wie schnell dieser getaktet (Quarz) ist und mit welcher Uumlbertragungsgeschwindigkeit die Kommunikation uumlber die serielle Schnittstelle (RS232) mit dem PC erfolgen soll

6 - 8 Es werden drei Variablen genutzt Die Eingabe uumlber die serielle Schnittstelle wird in rs232kommando gespeichert Es wird ein Text der Form Kommando ltLeerzeichengt Parameter erwartet so dass die Variable Parameter den-selbigen aufnimmt Die Variable str_pos wird fuumlr die Trennung von Kommando und Parameter benoumltigt

11 - 14

Mit dem Befehl ddrPX (ddr = data direction) wird festgelegt ob ein Beinchen als Ausgang (=1) oder als Eingang (=0) arbeiten soll Der ATmega16 besitzt 32 Ein-Ausgaumlnge die in vier Ports (P=AD) zu je 8 Pins (X=07) unterteilt sind ddrA0 = 1 legt also das 1 Beinchen (Pin 0) von PortA als Ausgang (=1) fest Mit dem Befehl PortA0 =1 kann dieser Pin dann durch Zuweisen von 1 oder 0 an- bzw ausgeschaltet werden Im Datenblatt erfahren Sie welches der 40 Beinchen des Mikrocontrollers wie bezeichnet wird (Pin-Belegung) Wird ein Beinchen als Eingang verwendet (ddrA1 = 0) koumlnnen Sie optional einen so genannten Pull-Up-Widerstand aktivieren (PortA1=1) oder deaktivieren (PortA1=0) Auch hierzu sollten Sie sich unbedingt mit dem Datenblatt vertraut machen

17 63 Das Hauptprogramm besteht aus einer Endlosschleife d h der Mikrocontroller verrichtet ununterbrochen seinen Job so lange er mit Strom versorgt wird

19 - 30 Falls ein Zeichen uumlber die serielle Schnittstelle empfangen wurde wird dieses und alle folgenden gelesen Anschlie-szligend wird gepruumlft ob der empfangene Text von der Form Kommando ltLeerzeichengt Parameter ist so dass er ge-gebenenfalls in ein Kommando und einen Parameter zerlegt werden kann

32 - 59 Dieser Abschnitt wird mit Event-Handler bezeichnet Hier wird auf die Kommandos (Events) reagiert und die ent-sprechenden Schritte ausgefuumlhrt zB schalten LED je nach Wert der Variablen Parameter an- bzw ausschalten

46 52

In beiden Zeilen wird ein Wert eines Ports abgefragt Unterschiedlich ist dass in Zeile 46 der Status eines Ausgangs abgefragt wird (porta0) und in Zeile 52 der Zustand eines Eingangs (pina0) Die Anweisung IF porta0 = 0 THEN pruumlft (hier ist = ein Vergleich und KEINE Zuweisung) ob zuletzt die LED ausgeschaltet (Zuweisung porta0 = 0) wurde Die Anweisung IF pina1= 1 THEN liest den Status eines Eingangs Hier kann festgestellt werden ob der Eingang uumlber den internen Pull-UP-Widerstand auf +5V liegt (pina1 liefert 1) oder ob der Schalter den Eingang mit Masse (0V) verbindet (pina1 liefert 0)

Tab 14 Erlaumluterung des Mikrocontroller-Programmcodes fuumlr elementares RCL

70

In Bascom AVR eine neue Datei erzeugen (FileNew) den Programmcode ohne Kommenta-re eingeben und mit ProgramCompile (F7) eine Hexadezimaldatei erzeugen Die Hexadezi-maldatei mit dem AVR-Studio und dem AVR-ISP-Programmer in den Mikrocontroller schrei-ben (larr 222 Programmuumlbertragung) Nach dem Verbinden von Computer und Interface per Null-Modem-Kabel kann durch Eingabe von in das konfigurierte Hyperterminal die Befehls-liste in Abb 30 aufgerufen werden

Abb 30 Aufgerufene Befehlsliste im Hyperterminal

Durch Eingabe von LED on oder LED off kann die LED ein- und ausgeschaltet LED zeigt den Status der LED und sw den Status des Tasters an Alternativ zum Hyperterminal kann auch das Terminal in BASCOM unter ToolsTerminal Emulator verwendet werden (larr 422)

464 Ferngesteuertes RCL Zum Ansteuern des Interfaces und zum Bedienen des Versuchsaufbaus uumlber das Internet wird eine Webseite benoumltigt die dem Benutzer alle Bedienelemente des Experiments zur Verfuumlgung stellt

Der Benutzer benoumltigt anklickbare Buttons im Webbrowser

Der Webserver muss die Information welcher Button gedruumlckt wurde empfangen und ein entsprechendes Kommando uumlber die serielle Schnittstelle an das Interface senden

Beide Schritte sind im nachfolgenden PHPHTML-Quellcode zusammengefasst 01 ltDOCTYPE HTML PUBLIC -W3CDTD HTML 401 TransitionalEN httpwwww3orgTRhtml4loosedtdgt 02 lthtmlgt 03 ltheadgt 04 ltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1gt 05 lttitlegtelementares RCLlttitlegt 06 ltheadgt 07 08 ltbodygt 09 ltphp 10 if (isset($_POST[Kommando])) wurde bereits Kommando gesendet 11 if( ( $handle = fopen( COM1 w+ ) ) ) Schnittstelle oumlffnen 12

71

13 throw new Exception( Can not access serial port 2 ) ohne Erfolg 14 15 fwrite( $handle $_POST[Kommando] chr( 13 ) ) Befehl an Interface senden 16 switch ( $_POST[Kommando] ) Antwort von Interface auswerten 17 case LED $tmp = fgets( $handle ) Echo von Interface ignorieren 18 $antwort = fgets( $handle ) Antwort des Interfaces 19 echo Antwort $antwort Ausgabe auf Webseite 20 break switch verlassen 21 22 case SW $tmp = fgets( $handle ) Echo von Interface ignorieren 23 $antwort = fgets( $handle ) Antwort des Interfaces 24 echo Antwort $antwort Ausgabe auf Webseite 25 break switch verlassen 26 27 28 29 fclose( $handle ) Schnittstelle schlieszligen 30 31 else 32 `mode com1 BAUD=9600 PARITY=N data=8 stop=1 xon=off` Schnittstellenparameter setzen 33 34 35 gt 36 37 lth3gtBefehl sendenlth3gt 38 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 39 ltinput type=hidden name=Kommando value=LED ON gt 40 ltinput type=submit value=LED anschalten gt 41 ltformgt 42 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 43 ltinput type=hidden name=Kommando value=LED OFF gt 44 ltinput type=submit value=LED ausschalten gt 45 ltformgt 46 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 47 ltinput type=hidden name=Kommando value=LED gt 48 ltinput type=submit value=LED abfragen gt 49 ltformgt 50 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 51 ltinput type=hidden name=Kommando value=SW gt 52 ltinput type=submit value=Taster abfragen gt 53 ltformgt 54 ltbodygt 55 lthtmlgt Den Quellcode in den Texteditor kopieren und im Ordner htdocs von XAMPP z B unter rclphp speichern HTML-Dateien mit PHP-Code (Zeilen 9-35) muumlssen mit der Erweiterung php gespeichert werden damit der Apache Webserver zwischen HTML-Seiten mit und ohne PHP-Code unterscheiden kann Den installierten Apache Webserver starten (larr 452) und im Adressfeld des Webbrowsers die IP-Adresse http127001rclphp aufrufen Das Bedi-enfeld des elementaren RCLs in Abb 31 wird im Browserfenster angezeigt

72

Abb 31 Laborseite des elementaren RCLs

Im Bedienfeld kann die LED an- und ausgeschaltet sowie der Status von LED und Taster abgefragt werden

  • 0 Warum ein Tutorial zur RCL-Technik
  • 1 Technische Konzeption
    • 11 Einfuumlhrung
    • 12 Wahl der RCL-Technik
      • 2 Lokal gesteuertes RCL
        • 21 Interface
          • 211 Mikrocontroller
          • 212 Basisschaltung und Erweiterungsschaltungen
          • 213 Programmierung des Mikrocontrollers
            • 22 Hyperterminal
            • 23 Positionieren von Objekten
              • 231 Hybrid-Schrittmotoren
              • 232 Schrittmotorsteuerung und Positionierungsmechanik
                  • 3 Ferngesteuertes RCL
                    • 31 RCL-Server
                    • 32 Laborseite
                      • 321 Steuerung des RCLs uumlber das Bedienfeld
                      • 322 Videouumlbertragung im Webcamfeld
                        • 33 Standard-Lernumgebung
                          • 4 ANHANG
                            • 41 Interface in Basisschaltung
                              • 411 Schaltplan und Bauteilliste
                              • 412 Bestuumlckung der Platine
                                • 42 Erweiterungsschaltungen
                                  • 421 Uumlbersicht
                                  • 422 TMC222-Modul zur Schrittmotorsteuerung
                                    • 4221 Schaltplan und Bauteilliste
                                    • 4222 Bestuumlckung der Platine
                                    • 4223 Quellcode des Mikrocontroller-Programms
                                      • 423 Geschaltete Spannungsquellen und Verbraucher
                                      • 424 Steuerung von Gleichstrommotoren
                                        • 43 Quellcodes zum RCL Elektronenbeugung
                                          • 431 Mikrocontroller-Programmierung
                                          • 432 PHP-Programmierung
                                          • 433 Bedienfeld der Laborseite
                                          • 434 Webcamfeld der Laborseite
                                            • 44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung
                                              • 441 AVR-Studio 418
                                                • 4411 Installation
                                                • 4412 Konfiguration
                                                  • 442 BASCOM 11198 Demoversion
                                                    • 4421 Installation
                                                    • 4422 Konfiguration
                                                        • 45 Installation und Konfiguration von Programmen auf dem RCL-Server
                                                          • 451 Einrichten des Internet-Zugangs
                                                          • 452 Paket XAMPP 174
                                                          • 453 Videoserver webcamXP 5 Private
                                                          • 454 Terminalprogramm Hyperterminal
                                                          • 455 Fernwartungssoftware TeamViewer 6 Host
                                                            • 46 Selbstbau eines elementaren RCLs
                                                              • 461 Hard- und Software
                                                              • 462 Bestuumlckung der Platine
                                                              • 463 Lokal gesteuertes RCL
                                                              • 464 Ferngesteuertes RCL

40

RCL Sensoren Aktoren Erweiterungsschaltungen fuumlr Aktoren

Beugung und Interferenz I Referenz-Taster

Schrittmotor (Rotation) Schrittmotorsteuerung Laser-Modul Geschaltete Spannungsversorgung

Beugung und Interferenz II

4 Referenz-Taster Lichtsensor

4 Schrittmotoren (Translation) 4 Schrittmotorsteuerungen 5 Laser-Module Geschaltete Spannungsversorgung LED fuumlr Position des

Lichtsensors Geschaltete Spannungsversorgung

LED fuumlr Linealbeleuchtung Geschaltete Spannungsversorgung

Elektronen-beugung

Hochspannungsnetzgeraumlt Geschaltete Spannungsversorgung Hochspannungsnetzgeraumlt Steuerung der Hochspannung

Fotoeffekt 2 Referenz-Taster Photozelle

2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen

Quecksilberdampflampe Geschaltete Spannungsversorgung

der Drossel fuumlr Quecksilberdampf-lampe

Halbleiter-kennlinien

und Halbleiterkennli-nien - Schuumller-

projekt

Referenz-Taster

Schrittmotor (Rotation) Schrittmotorsteuerung Oszilloskop Geschaltete Spannungsversorgung

Oszilloskop Instrumentenverstaumlrker fuumlr X- und Y-Ablenkung

Multimeter Steuerung Spannungs- oder Strom-anzeige

Heiszliger Draht 4 Endtaster 4 Drehgeber Kurzschlusssensor

4 Gleichstrommotoren 4 Treiber

Zweifarbige LED Steuerung der LED-Farbe

Lichtgeschwin-digkeit

Drehimpulsgeber 2 Taster an Enden

der Eisenbahnstre-cke

2 Schrittmotoren 2 Schrittmotorsteuerungen Oszilloskop Geschaltete Spannungsversorgung

Motor der Lokomotive Steuerung des Ein- und Ausschal-tens und der Bewegungsrichtung

Maut Infrarot-Sensor Gleichstrommotor Geschaltete Spannungsquelle 2 IR-Fernbedienungen Spannungsregler 2-stellige 7-Segmentanzeige LED-Treiber

Millikan-Versuch 2 Referenz-Taster

2 Schrittmotoren 2 Schrittmotorsteuerungen Lichtquelle (LED) fuumlr Millikan-

Kondensator Geschaltete Spannungsversorgung

Airbrush-Kompressor Geschaltete Spannungsversorgung Magnetventil Geschaltete Spannungsversorgung Millikan-Kondensator Gesteuertes Hochspannungsmodul

Optische Com-putertomogra-

phie

2 Referenz-Taster 2 Lichtsensoren

Schrittmotor (Rotation) Schrittmotorsteuerung Schrittmotor (Translation) Schrittmotorsteuerung

2 Laser-Module 2 geschaltete Spannungsversor-gungen

Optische Fou-rier-

Transformation 2 Referenz-Taster

2 Schrittmotoren (Translation) 2 Schrittmotorsteuerungen

Laser-Modul Geschaltete Spannungsversorgung

Oszilloskop Oszilloskop Geschaltete Spannungsversorgung Signalgenerator Steuerung der Signalart

Radioaktivitaumlt 4 Referenz-Taster Geiger-Muumlller-

Zaumlhlrohr

2 Schrittmotoren (Translation) 2 Schrittmotorsteuerungen 2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen 4-stellige 7-Segment-Anzeige Treiber Elektromagnet Geschaltete Spannungsversorgung

Roboter im Labyrinth Infrarot-Sensor

2 Schrittmotoren 2 Schrittmotorsteuerung Infrarot-Sender Treiber

Rutherfordscher Streuversuch

2 Referenz-Taster Halbleiterdetektor

(Impulsformer)

2 Schrittmotoren (Rotation) 2 Schrittmotorsteuerungen

4-stellige 7-Segment-Anzeige Treiber

Weltpendel

Referenz-Taster Lichtsensor der

Lichtschranke (Im-pulsformer)

Temperatursensor

Schrittmotor (Translation) Schrittmotorsteuerung Elektromagnet Geschaltete Spannungsversorgung

Laser der Lichtschranke Geschaltete Spannungsversorgung

Windkanal Referenz-Taster Schrittmotor (Translation) Schrittmotorsteuerung

41

Dehnungsmess-streifen (Wheat-stonesche Bruumlcke Messverstaumlrker Multimeter)

Geblaumlsemotor Geschaltete Spannungsversorgung

und Ansteuerung mit Pulsweiten-modulation

Anemometer Geschaltete Spannungsversorgung Multimeter Geschaltete Spannungsversorgung

Tab 9 Sensoren Aktoren und Erweiterungsschaltungen der RCLs des RCL-Portals

422 TMC222-Modul zur Schrittmotorsteuerung 4221 Schaltplan und Bauteilliste Abb 1 zeigt die Beschaltung des TMC222 von Trinamic auf dem TMC222-Modul

Abb 24 Beschaltung des TMC222 von Trinamic

Anhand der Bauteilliste in Tab 10 koumlnnen die elektronischen Bauelemente des TMC222-Moduls bei Reichelt electronic bestellt werden Ein TMC222-Modul kostet ungefaumlhr 10 euro

Nr Anzahl Kurzbeschreibung des Bauteils Best-Nr bei Reichelt electronic

Einzelpreis in euro

0 1 Epoxyd-Fotoplatine einseitig 75x100 mm 15 mm 35 microm BEL75X100-1 096 1 1 Integrierter TMC-Schrittmotor-Controller TMC 222 SI asymp 7 2 1 Elektrolytkondensator 8x11 mm Rm 35 mm 100 microF35 V RAD 10035 004 3 1 Tantal-Kondensator Rm 25 10 microF35 V Tantal 1035 014 4 2 Vielschicht-Keramikkondensator 220 nF 20 Z5U-25 220N 011 5 3 Vielschicht-Keramikkondensator 100 nF 20 Z5U-25 100N 004 6 2 Metallschichtwiderstand 100 kΩ Metall 100K 0082 7 1 1x36pol Stiftleiste gewinkelt Rm 254 SL 1X36W 027 8 1 1x36pol Buchsenleiste gerade Rm 254 BL 1X36G 025

Tab 10 Bauteilliste mit Bestellnummer und Einzelpreisen der Bauelemente bei Reichelt electronic (Stand 23102010)

4222 Bestuumlckung der Platine

42

Abb 25 zeigt die fertig bestuumlckte Platine mit den Nummern aus Tab 10

Abb 25 Bestuumlckte Platine des TMC222-Moduls

mit nummerierten Bauelementen

Die Platine (35 mm x 30 mm) kann anhand des Layouts in Abb 26 hergestellt werden Der IC TMC222 wird auf der Loumltseite der Platine aufgeloumltet Das TMC222-Modul kann mit der Stiftleiste (larr Tab 10 Nr 7) in eine Buchsenleiste (larr Tab 10 Nr 8) auf die Platine des In-terface gesteckt werden

Abb 26 Platine des TMC222-Moduls von der Loumltseite (links) und Layout

4223 Quellcode des Mikrocontroller-Programms Im Folgenden ist ein mit Bascom (larr 12 Tab 1 Entwicklungsumgebungen) erstelltes Bei-spiel-Programm zur Ansteuerung des Schrittmotormoduls TMC222 durch den Mikrocontroller ATmega16 angegeben $regfile = m16DEFdat $crystal = 11059200 $baud = 9600 Definitionen Config Scl = Portc0 Taktleitung Config Sda = Portc1 Datenleitung Const Adress = ampB11000000 I2C Adresse des TMC222 Const GetFullstatus1 = ampB10000001 Kommando des TMC222 Const Resetpos = ampB10000110 Kommando des TMC222 Const Motorparameter = ampB10001001 Kommando des TMC222 Const Setposition = ampB10001011 Dim Puffer(10) As Byte

43

Programm I2csend Adress GetFullstatus1 GetFullstatus1 (Initialisierung des TMC222) I2creceive Adress 7 Ack Daten in Puffer auslesen Puffer(1) = Motorparameter puffer auffuumlllen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB11110011 1111irun 0011ihold Puffer(5) = ampB01110001 0111vmax 0001vmin Puffer(6) = ampB00010000 000securepos(bit10-8) 1shaft 0000acceleration Puffer(7) = 0 securepos(bit7-0) Puffer(8) = ampB00001100 000nicht belegt 0accshape 11stepmode 00nicht belegt I2csend Adress Puffer(1) 8 I2csend Adress Resetpos aktuelle Position auf 0 setzen Puffer(1) = Setposition Motor bewegen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB01111111 position(bit 15-8) Puffer(5) = ampB11111111 position(bit 7-0)acute I2csend Adress Puffer(1) 5 End

423 Geschaltete Spannungsquellen und Verbraucher Die Ausgaumlnge des Mikrocontrollers duumlrfen nur mit Stroumlmen kleiner als ungefaumlhr 20 mA belas-tet werden Verbraucher mit einer Stromlast groumlszliger als 20 mA koumlnnen daher nicht direkt an den Mikrocontroller angeschlossen werden Abb 27 zeigt links eine Schaltung zum Schalten eines Verbrauchers wie z B des Relais und rechts eine Schaltung mit dem IC ULN2803A zum Schalten mehrerer Verbraucher wie z B Gluumlhlampen

Abb 27 Erweiterungsschaltungen zum Schalten eines (links) oder

mehrerer Verbraucher (rechts)

Zu beachten ist dass der Transistor BC337 maximal 800 mA schalten kann und fuumlr groumlszligere Stroumlme andere Transistoren verwendet werden muumlssen

424 Steuerung von Gleichstrommotoren

44

Sollen Gleichstrommotoren zum Bewegen von Objekten mit dem Mikrocontroller gesteuert werden dann eignet sich dazu der in Abb 28 dargestellte beschaltete IC L293D

Abb 28 Beschaltung des L293D zum

Steuern zweier Gleichstrom-motoren

Mit Pin 1 = Pin 9 = 1 (High) koumlnnen zwei Gleichstrommotoren M1 und M2 (Versorgungs-spannung UM lt 36 V Spulendauerstrom IM lt 600 mA) unabhaumlngig voneinander ein- und ausgeschaltet sowie in der Drehrichtung uumlber die Ports PA0 und PA1 fuumlr M1 und PA2 und PA3 fuumlr M2 gesteuert werden Z B gilt mit PA0 = PA1 = 0 (M1 ausgeschaltet) PA0 = 1 und PA1 = 0 (M1 dreht sich) PA0 = 0 und PA1 = 1 (M1 dreht sich in Gegenrichtung)

45

43 Quellcodes zum RCL Elektronenbeugung 431 Mikrocontroller-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

46

47

48

49

432 PHP-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

50

51

433 Bedienfeld der Laborseite

Tab 11 erlaumlutert die Funktion der Bloumlcke im Quellcode

Zeilen Funktion 1 Datei defaultconf einbinden 2 Datei headtpl einbinden

5 - 11 Ausgabe der verbleibenden Experimentierzeit 18 - 21 Button zum Einschalten der Elektronenbeugungsroumlhre 28 - 30 Eingabefeld fuumlr die Beschleunigungsspannung

37 Ruumlckmeldung zur eingegebenen Beschleunigungsspannung 42 Datei foottpl einbinden

Tab 11 Funktion der Programmbloumlcke in der Datei experi-menttpl

52

434 Webcamfeld der Laborseite

In Tab 12 ist die Funktion der Programmbloumlcke und die Anpassungen der Vorlage an das RCL Elektronenbeugung beschrieben

Zeilen Funktion Anpassung RCL Elektronenbeugung

5 Titelangabe erscheint als Tabulatorbeschriftung in Browsern

Name des RCLs eintragen

11 - 15 16 - 20

Zwei Javascripts zum getrennten Aufrufen zweier Po-pup-Fenster mit dargestelltem Webcambildern 1 und 2

Javascript 1 die IP-Adresse eintragen Javascript 2 auskommentiert weil nicht benoumltigt

24 - 40 42 - 60

Zwei Javascripts zum Aktualisieren der Webcambilder 1 und 2

Javascript 2 auskommentiert weil nicht benoumltigt

67 - 71 79 - 83

Aufrufen des ersten Webcambilds der Webcams 1 und 2 beim Aufrufen der Datei

Webcambild 2 auskommentiert weil nicht benoumltigt

72 - 78 84 - 90

Buttons zum Aufrufen der Screenshots der Webcam-bilder 1 und 2

Button 2 auskommentiert weil nicht benoumltigt

91 - 95 Zeile der Tabelle zum Eintragen von Informationen die sich auf die Webcambilder oder den Versuch beziehen

Text in Zeile der Tabelle geschrieben

Tab 12 Funktionen der Codeabschnitte in der Datei videohtm und Anpassung der Vor-lage an das RCL Elektronenbeugung

53

44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung Im Folgenden wird die Installation und Konfiguration des AVR-Studios 418 und der Bascom 11198 Demoversion beschrieben Alle Anleitungen sind zeilenweise von links nach rechts zu lesen

441 AVR-Studio 418 4411 Installation Auf der Webseite von ATMEL Register AVR Studio 418 (build 684) anklicken und Registrie-rungsformular ausfuumlllen Danach die Datei AvrStudio418Setup herunterladen Durch Dop-pelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen Next waumlhlen

I accept hellip und Next waumlhlen Installationsordner und Next waumlhlen

54

Installupgrade hellip und Next waumlhlen Install waumlhlen Die Installation beginnt

Finish waumlhlen

4412 Konfiguration AVR Studio 418 in Windows XP Professional unter StartProgramme aufrufen

Startfenster mit Cancel schlieszligen Unter ToolsProgram AVR Auto Connect waumlhlen

55

Im eingeblendeten Fenster auf der Registerkarte Main als Device ATmega16 und als Programming Mode ISP mo-de waumlhlen

Optional kann Signatur gelesen werden

In der Registerkarte Fuses alle Haumlkchen und Auswahlfel-der wie angegeben waumlhlen

Dann Program waumlhlen

442 BASCOM 11198 Demoversion 4421 Installation Auf der Webseite von Bascom unter Bascom AVR Demo die Zip-Datei setupdemoexe her-untergeladen Durch Doppelklick auf den Dateinamen die Installation starten

Next waumlhlen I accept the agreement und Next waumlhlen

56

Next waumlhlen Installationsordner eingeben und Next waumlhlen

Eintrag im Start-Menuuml eingeben und Next waumlhlen Next waumlhlen

Yes restart the computer now und Finish waumlhlen

57

4422 Konfiguration Bascom AVR in Windows XP Professional unter StartProgramme zum Einstellen der Para-meter des Mikrocontrollers und des Terminals aufrufen

OptionsCompilerChip waumlhlen Einstellungen wie im Bild vornehmen und OK waumlhlen

Auf der Registerkarte Communications Einstellungen wie im Bild vornehmen und OK waumlhlen

Unter OptionsCommunication Einstellungen wie im Bild

vornehmen und OK waumlhlen FileNew waumlhlen Unter ToolsTerminal emulator das Terminal aufrufen und

eingeben Die Befehlsliste des RCLs Elektronenbeu-gung wird angezeigt

45 Installation und Konfiguration von Programmen auf dem RCL-Server Im Folgenden wird der Download die Installation und die Konfiguration von Programmen auf dem RCL-Server unter Windows XP Professional beschrieben Alle Anleitungen sind zeilen-weise von links nach rechts zu lesen Die Installation der Programme sollte in der angegebe-nen Reihenfolge erfolgen

58

451 Einrichten des Internet-Zugangs LAN-Verbindung unter StartSystemsteuerungNetzwerkverbindungen aufrufen

Internetprotokoll (TCPIP) und Eigenschaften waumlhlen Folgende IP-Adresse verwenden waumlhlen IP-Adressen ein-

geben und OK waumlhlen

452 Paket XAMPP 174 Unter apache friends - xampp fuumlr windows und XAMPP Windows 174 Installer anklicken und Datei xampp-win32-174-VC6-installerexe speichern Durch Doppelklick auf die Datei die Installation starten

Sprache und Ok waumlhlen Ok waumlhlen

59

Weiter waumlhlen Zielverzeichnis mit Durchsuchen waumlhlen oder eingeben

Apache nicht als Dienst installieren Fertig stellen waumlhlen

Ja waumlhlen Zum Starten des Apache Webservers das Control Panel

unter StartProgrammeXAMPP 173 for Windows mit Start starten Anstelle von Start erscheint Running

Zum Beenden des Apache Webservers Stop waumlhlen Zum Beenden des Control Panels Exit waumlhlen

60

453 Videoserver webcamXP 5 Private Auf der Webseite von Moonware Studios unter webcamXP 55xx die Datei wlite550 herun-terladen Durch Doppelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen I Agree waumlhlen

Next waumlhlen Auszliger webcamXP 5 brauchen keine weiteren Komponen-

ten installiert zu werden

Den vorgeschlagenen Ordner und Install waumlhlen Finish waumlhlen

61

WebcamXP unter StartProgramme aufrufen Zugesandte

Lizenz-Daten in das eingeblendete Fenster eingeben und Register waumlhlen

Beim Starten des Programms stellt webcamXP automa-tisch eine Verbindung zu den am Computer angeschlosse-nen Webcams her

Nach dem Start ist Uumlberwachen gewaumlhlt Durch Rechts-klick mit der Maus auf das Videofenster wird zu jeder Vi-deoquelle ein Kontextmenuuml angezeigt Wird kein Videobild dargestellt das Kontextmenuuml aufrufen Art der Videoquelle waumlhlen (hier USB) und unter den erkannten Videoquellen (hier USB-Videogeraumlt) die gewuumlnschte waumlhlen

Das Videoformat muss fuumlr eine passende Darstellung auf

der Laborseite auf 320 x 240 eingestellt sein Ist das nicht der Fall im Kontextmenuuml unter Video Format einstellen

In gleicher Weise kann eine zweite Videoquelle hinzugefuumlgt werden

In der Registerkarte Web Broadcast kann unter

Broadcast (HTTP) der Videoserver mit Ausschalten ge-stoppt und mit Aktivieren gestartet werden

Zur Zielwahl des Webservers (131246237167 - Internet D16W3X3J - Computer 127001 - Local Host) Videoser-ver stoppen und einstellen Videoserver wieder starten

62

454 Terminalprogramm Hyperterminal Hyperterminal in Windows XP Professional unter StartProgrammeZubehoumlrKommunikation aufrufen

Name der neuen Verbindung - z B Interface - eingeben

und OK waumlhlen Die Verbindung zwischen Computer und Interface wurde

uumlber einen USB-Seriell-Adapter hergestellt Dann erschei-nen zwei zusaumltzliche Eintraumlge (Motorola Comp Modem und COM5) in der Liste Prinzipiell muss eine COMx-Verbindung gewaumlhlt werden

Eigenschaften von COM 5 wie im Bild einstellen und OK

waumlhlen DateiEigenschaften aufrufen und ASCII-Konfiguration

waumlhlen

63

Haken bei Eingegebene Zeichen lokal ausgeben (lokales

Echo) setzen um eingegebenen Zeichen im Hyperterminal zu sehen

Bei funktionsfaumlhiger Verbindung erscheint nach Eingabe von Return die Befehlsliste des Interface

Durch Aufrufen von DateiSpeichern die erstellte Verbin-

dung z B auf dem Desktop speichern Dadurch braucht die Verbindung nicht immer wieder von neuem konfiguriert wer-den

Nach Aufrufen von DateiBeenden die bestehende Verbin-dung mit Ja beenden

64

Wurde ein falscher COM-Port gewaumlhlt reagiert das Inter-

face auf die Eingabe Return nicht Hyperterminal dann beenden

Der COM-Port kann dann nicht unter DateiEigenschaften im Hyperterminal aber unter Eigenschaften des Kontext-menuumls der Datei Interfaceht in der Registerkarte Verbin-den mit geaumlndert werden Dann OK waumlhlen und erneut Verbindung testen

65

455 Fernwartungssoftware TeamViewer 6 Host Auf der Webseite von Teamviewer GmbH unter Fuumlr unbeaufsichtigte Server TeamViewer Vollversion die Datei TeamViewer_Setup-wq herunterladen Das Programm muss auf dem RCL-Server und dem Computer der auf den RCL-Server zugreifen soll installiert werden Durch Doppelklick auf die Datei die Installation starten

Ausfuumlhren waumlhlen Weiter waumlhlen

Fuumlr die private nicht kommerzielle Nutzung ist Teamviewer kostenlos

privat nicht-kommerziell und Weiter waumlhlen

Beide Haumlkchen setzen und Weiter waumlhlen

66

Ja un Weiter waumlhlen Weiter

Computername und Kennwort fuumlr den Zugriff auf den RCL-Server oder den eigenen Computer vergeben Kenn wort notie-ren

Ein Teamviewerkonto ist nicht erforderlich Kann auch spaumlter noch eingerichtet werden

ID fuumlr den Computer auf dem das Programm installiert wird fuumlr Zugriff notieren

Das Programm wird gestartet Standardmaumlszligig vorein-gestellt ist der Start des Programms beim Start des Be-trienssystems

67

46 Selbstbau eines elementaren RCLs 461 Hard- und Software Auch ohne gleich ein vielleicht teures physikalisches Experiment zu steuern laumlsst sich mit wenigen Bauelementen ein elementares RCL realisieren Von einer Webseite im Internet sol-len eine Leuchtdiode (LED) ein- oder ausgeschaltet sowie der Zustand der Leuchtdiode und eines Tasters abgefragt werden An Hard- und Software werden benoumltigt

1 Low-Current-LED 5 mm 2 mA 1 Widerstand 18 kΩ 1 Taster und optional zwei 10-polige Wannenstecker mit ungefaumlhr 10 cm passendem Flachbandkabel und Buchsen

Interface in Basisschaltung Null-Modem-Kabel 12 V DC Steckernetzteil (larr 1)

Installierte Bascom-Demo-Version (larr 42)

AVR ISP-Programmer mit 10-poligem Programmierkabel

Installiertes und konfiguriertes AVR Studio 418 (larr 41)

Installiertes Paket XAMPP (larr 52)

Texteditor wie z B Notepad in Windows XP Professional

Konfigurierte Hyperterminalverbindung (larr 54)

462 Bestuumlckung der Platine Abb 29 zeigt zur Orientierung fuumlr das Einloumlten der Bauelemente die fertig bestuumlckte Platine des Interface

Abb 29 Mit elementarem RCL bestuumlckte Platine

des Interface

LED mit Vorwiderstand und der Taster sind rechts neben dem Mikrocontroller im Lochraster-bereich aufgebaut und uumlber Wannenstecker und Flachbandkabel mit dem Port A des Mikro-controllers verbunden (die drei Bauteile rechts neben dem ATmega16 werden nicht benouml-tigt) Tab 13 erlaumlutert die Schritte zur Bestuumlckung der Platine des Interface

68

Nr Schaltung Erlaumluterung

1

Die Leuchtdiode (LED) mit dem Pluspol (langes Beinchen) an PortA0 (PIN40 oben rechts) des Mikrocontrollers anloumlten

An das kurze Beinchen einen 18kΩ Widerstand loumlten dessen anderes Ende mit der Masse (GND) verbinden

2

Den Taster mit PortA1 (PIN39 = 2 Beinchen von oben rechts) und Masse (GND) verbinden

3

Draufsicht

Belegung des 10-poligen Wannensteckers 1 GND (Masse) im Foto oben links 2 +5 V 3 PortA0 4 PortA1 10 PortA7 im Foto unten rechts

Tab 13 Schritte zum Aufbau des elementaren RCLs

463 Lokal gesteuertes RCL Nachfolgend ist der Basic-Programmcode des Mikrocontrollers zur Steuerung und Abfrage der LED und des Tasters angegeben 01 $regfile = m16DEFdat Microcontroller ATmega16 02 $crystal = 11059200 110592MHz Quarz 03 $baud = 9600 Baudrate 04 05 ---[ Variables ]--------------------------------------------------------------- 06 Dim Rs232kommando As String 10 erst Befehlspuffer dann Kommando 07 Dim Parameter As String 10 Parameter 08 Dim Str_pos As Byte Position von Leerzeichen zur Trennung von Kommando und Pa-rameter 09 10 ---[ Initialisierung ]--------------------------------------------------------- 11 Ddra0 = 1 PortA0 als Ausgang fuumlr LED 12 Porta0 = 0 LED aus 13 Ddra1 = 0 PortA1 als Eingang fuumlr Taster 14 Porta1 = 1 Pull-Up aktivieren 15 16 ---[ Main program loop ]------------------------------------------------------- 17 Do Start der Endlos-Schleife 18 19 If Ischarwaiting() = 1 Then Zeichen uumlber RS232 empfangen 20 Input Rs232kommando neues Kommando lesen 21 Parameter = Parameter initialisieren 22 Str_pos = Instr(rs232kommando ) Leerzeichen im Kommando suchen 23 If Str_pos gt 0 Then falls Leerzeichen dann in Kommando+Parameter zerlegen 24 Incr Str_pos Str_pos soll jetzt auf 1Zeichen des Parameters zeigen 25 Parameter = Mid(rs232kommando Str_pos ) Parameter = Teilstring nach Leerzeichen 26 Parameter = Ucase(parameter) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 27 Str_pos = Str_pos - 2 Str_pos soll jetzt auf letztes Zeichen des Kommandos zeigen 28 Rs232kommando = Left(rs232kommando Str_pos)Kommando = Teilstring vor Leerzeichen 29 Rs232kommando = Ucase(rs232kommando) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 30 End If 31 32 Select Case Rs232kommando Eventhandler Interpretation der Kommandos 33 Case Print Hilfe Hilfeseite anzeigen 34 Print LED on - LED einschalten 35 Print LED off - LED ausschalten 36 Print LED - zeigt Status der LED an 37 Print SW - zeigt Status des Schalters an 38

1K8

LED rotmicroC PortA0(PIN40)

Taster

microC PortA1(PIN39)

1

3

2

69

39 Case LED If Parameter = ON Then LED schalten 40 Porta0 = 1 41 End If 42 If Parameter = OFF Then 43 Porta0 = 0 44 End If 45 46 Case LED If Porta0 = 0 Then Status der LED ausgeben 47 Print LED aus 48 Else 49 Print LED an 50 End If 51 52 Case SW If Pina1 = 1 Then Status des Schalters ausgeben 53 Print Taster offen 54 Else 55 Print Taster geschlossen 56 End If 57 58 Case Else Print gt Rs232kommando lt ungueltiger Befehl - weitere Infos mit Info bei unguumlltigen Eingaben 59 End Select 60 61 End If 62 63 Loop Endlos-Schleife Springe zu Do 64 65 End wird nie erreicht

Der erste Teil des Programms (Zeilen 1 - 15) enthaumllt die Systemparameter Variablen und Initialisierung der Ein- und Ausgaumlnge Der zweite Teil enthaumllt ab Zeile 17 das Hauptpro-gramm in dem Benutzereingaben uumlber die serielle Schnittstelle empfangen interpretiert und in entsprechende Anweisungen umgesetzt werden Tab 14 erlaumlutert den Programmcode de-taillierter

Zeilen Erlaumluterung

1 - 3 Diese Angaben teilen dem Compiler (Bascom) mit welcher Prozessor eingesetzt wird wie schnell dieser getaktet (Quarz) ist und mit welcher Uumlbertragungsgeschwindigkeit die Kommunikation uumlber die serielle Schnittstelle (RS232) mit dem PC erfolgen soll

6 - 8 Es werden drei Variablen genutzt Die Eingabe uumlber die serielle Schnittstelle wird in rs232kommando gespeichert Es wird ein Text der Form Kommando ltLeerzeichengt Parameter erwartet so dass die Variable Parameter den-selbigen aufnimmt Die Variable str_pos wird fuumlr die Trennung von Kommando und Parameter benoumltigt

11 - 14

Mit dem Befehl ddrPX (ddr = data direction) wird festgelegt ob ein Beinchen als Ausgang (=1) oder als Eingang (=0) arbeiten soll Der ATmega16 besitzt 32 Ein-Ausgaumlnge die in vier Ports (P=AD) zu je 8 Pins (X=07) unterteilt sind ddrA0 = 1 legt also das 1 Beinchen (Pin 0) von PortA als Ausgang (=1) fest Mit dem Befehl PortA0 =1 kann dieser Pin dann durch Zuweisen von 1 oder 0 an- bzw ausgeschaltet werden Im Datenblatt erfahren Sie welches der 40 Beinchen des Mikrocontrollers wie bezeichnet wird (Pin-Belegung) Wird ein Beinchen als Eingang verwendet (ddrA1 = 0) koumlnnen Sie optional einen so genannten Pull-Up-Widerstand aktivieren (PortA1=1) oder deaktivieren (PortA1=0) Auch hierzu sollten Sie sich unbedingt mit dem Datenblatt vertraut machen

17 63 Das Hauptprogramm besteht aus einer Endlosschleife d h der Mikrocontroller verrichtet ununterbrochen seinen Job so lange er mit Strom versorgt wird

19 - 30 Falls ein Zeichen uumlber die serielle Schnittstelle empfangen wurde wird dieses und alle folgenden gelesen Anschlie-szligend wird gepruumlft ob der empfangene Text von der Form Kommando ltLeerzeichengt Parameter ist so dass er ge-gebenenfalls in ein Kommando und einen Parameter zerlegt werden kann

32 - 59 Dieser Abschnitt wird mit Event-Handler bezeichnet Hier wird auf die Kommandos (Events) reagiert und die ent-sprechenden Schritte ausgefuumlhrt zB schalten LED je nach Wert der Variablen Parameter an- bzw ausschalten

46 52

In beiden Zeilen wird ein Wert eines Ports abgefragt Unterschiedlich ist dass in Zeile 46 der Status eines Ausgangs abgefragt wird (porta0) und in Zeile 52 der Zustand eines Eingangs (pina0) Die Anweisung IF porta0 = 0 THEN pruumlft (hier ist = ein Vergleich und KEINE Zuweisung) ob zuletzt die LED ausgeschaltet (Zuweisung porta0 = 0) wurde Die Anweisung IF pina1= 1 THEN liest den Status eines Eingangs Hier kann festgestellt werden ob der Eingang uumlber den internen Pull-UP-Widerstand auf +5V liegt (pina1 liefert 1) oder ob der Schalter den Eingang mit Masse (0V) verbindet (pina1 liefert 0)

Tab 14 Erlaumluterung des Mikrocontroller-Programmcodes fuumlr elementares RCL

70

In Bascom AVR eine neue Datei erzeugen (FileNew) den Programmcode ohne Kommenta-re eingeben und mit ProgramCompile (F7) eine Hexadezimaldatei erzeugen Die Hexadezi-maldatei mit dem AVR-Studio und dem AVR-ISP-Programmer in den Mikrocontroller schrei-ben (larr 222 Programmuumlbertragung) Nach dem Verbinden von Computer und Interface per Null-Modem-Kabel kann durch Eingabe von in das konfigurierte Hyperterminal die Befehls-liste in Abb 30 aufgerufen werden

Abb 30 Aufgerufene Befehlsliste im Hyperterminal

Durch Eingabe von LED on oder LED off kann die LED ein- und ausgeschaltet LED zeigt den Status der LED und sw den Status des Tasters an Alternativ zum Hyperterminal kann auch das Terminal in BASCOM unter ToolsTerminal Emulator verwendet werden (larr 422)

464 Ferngesteuertes RCL Zum Ansteuern des Interfaces und zum Bedienen des Versuchsaufbaus uumlber das Internet wird eine Webseite benoumltigt die dem Benutzer alle Bedienelemente des Experiments zur Verfuumlgung stellt

Der Benutzer benoumltigt anklickbare Buttons im Webbrowser

Der Webserver muss die Information welcher Button gedruumlckt wurde empfangen und ein entsprechendes Kommando uumlber die serielle Schnittstelle an das Interface senden

Beide Schritte sind im nachfolgenden PHPHTML-Quellcode zusammengefasst 01 ltDOCTYPE HTML PUBLIC -W3CDTD HTML 401 TransitionalEN httpwwww3orgTRhtml4loosedtdgt 02 lthtmlgt 03 ltheadgt 04 ltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1gt 05 lttitlegtelementares RCLlttitlegt 06 ltheadgt 07 08 ltbodygt 09 ltphp 10 if (isset($_POST[Kommando])) wurde bereits Kommando gesendet 11 if( ( $handle = fopen( COM1 w+ ) ) ) Schnittstelle oumlffnen 12

71

13 throw new Exception( Can not access serial port 2 ) ohne Erfolg 14 15 fwrite( $handle $_POST[Kommando] chr( 13 ) ) Befehl an Interface senden 16 switch ( $_POST[Kommando] ) Antwort von Interface auswerten 17 case LED $tmp = fgets( $handle ) Echo von Interface ignorieren 18 $antwort = fgets( $handle ) Antwort des Interfaces 19 echo Antwort $antwort Ausgabe auf Webseite 20 break switch verlassen 21 22 case SW $tmp = fgets( $handle ) Echo von Interface ignorieren 23 $antwort = fgets( $handle ) Antwort des Interfaces 24 echo Antwort $antwort Ausgabe auf Webseite 25 break switch verlassen 26 27 28 29 fclose( $handle ) Schnittstelle schlieszligen 30 31 else 32 `mode com1 BAUD=9600 PARITY=N data=8 stop=1 xon=off` Schnittstellenparameter setzen 33 34 35 gt 36 37 lth3gtBefehl sendenlth3gt 38 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 39 ltinput type=hidden name=Kommando value=LED ON gt 40 ltinput type=submit value=LED anschalten gt 41 ltformgt 42 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 43 ltinput type=hidden name=Kommando value=LED OFF gt 44 ltinput type=submit value=LED ausschalten gt 45 ltformgt 46 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 47 ltinput type=hidden name=Kommando value=LED gt 48 ltinput type=submit value=LED abfragen gt 49 ltformgt 50 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 51 ltinput type=hidden name=Kommando value=SW gt 52 ltinput type=submit value=Taster abfragen gt 53 ltformgt 54 ltbodygt 55 lthtmlgt Den Quellcode in den Texteditor kopieren und im Ordner htdocs von XAMPP z B unter rclphp speichern HTML-Dateien mit PHP-Code (Zeilen 9-35) muumlssen mit der Erweiterung php gespeichert werden damit der Apache Webserver zwischen HTML-Seiten mit und ohne PHP-Code unterscheiden kann Den installierten Apache Webserver starten (larr 452) und im Adressfeld des Webbrowsers die IP-Adresse http127001rclphp aufrufen Das Bedi-enfeld des elementaren RCLs in Abb 31 wird im Browserfenster angezeigt

72

Abb 31 Laborseite des elementaren RCLs

Im Bedienfeld kann die LED an- und ausgeschaltet sowie der Status von LED und Taster abgefragt werden

  • 0 Warum ein Tutorial zur RCL-Technik
  • 1 Technische Konzeption
    • 11 Einfuumlhrung
    • 12 Wahl der RCL-Technik
      • 2 Lokal gesteuertes RCL
        • 21 Interface
          • 211 Mikrocontroller
          • 212 Basisschaltung und Erweiterungsschaltungen
          • 213 Programmierung des Mikrocontrollers
            • 22 Hyperterminal
            • 23 Positionieren von Objekten
              • 231 Hybrid-Schrittmotoren
              • 232 Schrittmotorsteuerung und Positionierungsmechanik
                  • 3 Ferngesteuertes RCL
                    • 31 RCL-Server
                    • 32 Laborseite
                      • 321 Steuerung des RCLs uumlber das Bedienfeld
                      • 322 Videouumlbertragung im Webcamfeld
                        • 33 Standard-Lernumgebung
                          • 4 ANHANG
                            • 41 Interface in Basisschaltung
                              • 411 Schaltplan und Bauteilliste
                              • 412 Bestuumlckung der Platine
                                • 42 Erweiterungsschaltungen
                                  • 421 Uumlbersicht
                                  • 422 TMC222-Modul zur Schrittmotorsteuerung
                                    • 4221 Schaltplan und Bauteilliste
                                    • 4222 Bestuumlckung der Platine
                                    • 4223 Quellcode des Mikrocontroller-Programms
                                      • 423 Geschaltete Spannungsquellen und Verbraucher
                                      • 424 Steuerung von Gleichstrommotoren
                                        • 43 Quellcodes zum RCL Elektronenbeugung
                                          • 431 Mikrocontroller-Programmierung
                                          • 432 PHP-Programmierung
                                          • 433 Bedienfeld der Laborseite
                                          • 434 Webcamfeld der Laborseite
                                            • 44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung
                                              • 441 AVR-Studio 418
                                                • 4411 Installation
                                                • 4412 Konfiguration
                                                  • 442 BASCOM 11198 Demoversion
                                                    • 4421 Installation
                                                    • 4422 Konfiguration
                                                        • 45 Installation und Konfiguration von Programmen auf dem RCL-Server
                                                          • 451 Einrichten des Internet-Zugangs
                                                          • 452 Paket XAMPP 174
                                                          • 453 Videoserver webcamXP 5 Private
                                                          • 454 Terminalprogramm Hyperterminal
                                                          • 455 Fernwartungssoftware TeamViewer 6 Host
                                                            • 46 Selbstbau eines elementaren RCLs
                                                              • 461 Hard- und Software
                                                              • 462 Bestuumlckung der Platine
                                                              • 463 Lokal gesteuertes RCL
                                                              • 464 Ferngesteuertes RCL

41

Dehnungsmess-streifen (Wheat-stonesche Bruumlcke Messverstaumlrker Multimeter)

Geblaumlsemotor Geschaltete Spannungsversorgung

und Ansteuerung mit Pulsweiten-modulation

Anemometer Geschaltete Spannungsversorgung Multimeter Geschaltete Spannungsversorgung

Tab 9 Sensoren Aktoren und Erweiterungsschaltungen der RCLs des RCL-Portals

422 TMC222-Modul zur Schrittmotorsteuerung 4221 Schaltplan und Bauteilliste Abb 1 zeigt die Beschaltung des TMC222 von Trinamic auf dem TMC222-Modul

Abb 24 Beschaltung des TMC222 von Trinamic

Anhand der Bauteilliste in Tab 10 koumlnnen die elektronischen Bauelemente des TMC222-Moduls bei Reichelt electronic bestellt werden Ein TMC222-Modul kostet ungefaumlhr 10 euro

Nr Anzahl Kurzbeschreibung des Bauteils Best-Nr bei Reichelt electronic

Einzelpreis in euro

0 1 Epoxyd-Fotoplatine einseitig 75x100 mm 15 mm 35 microm BEL75X100-1 096 1 1 Integrierter TMC-Schrittmotor-Controller TMC 222 SI asymp 7 2 1 Elektrolytkondensator 8x11 mm Rm 35 mm 100 microF35 V RAD 10035 004 3 1 Tantal-Kondensator Rm 25 10 microF35 V Tantal 1035 014 4 2 Vielschicht-Keramikkondensator 220 nF 20 Z5U-25 220N 011 5 3 Vielschicht-Keramikkondensator 100 nF 20 Z5U-25 100N 004 6 2 Metallschichtwiderstand 100 kΩ Metall 100K 0082 7 1 1x36pol Stiftleiste gewinkelt Rm 254 SL 1X36W 027 8 1 1x36pol Buchsenleiste gerade Rm 254 BL 1X36G 025

Tab 10 Bauteilliste mit Bestellnummer und Einzelpreisen der Bauelemente bei Reichelt electronic (Stand 23102010)

4222 Bestuumlckung der Platine

42

Abb 25 zeigt die fertig bestuumlckte Platine mit den Nummern aus Tab 10

Abb 25 Bestuumlckte Platine des TMC222-Moduls

mit nummerierten Bauelementen

Die Platine (35 mm x 30 mm) kann anhand des Layouts in Abb 26 hergestellt werden Der IC TMC222 wird auf der Loumltseite der Platine aufgeloumltet Das TMC222-Modul kann mit der Stiftleiste (larr Tab 10 Nr 7) in eine Buchsenleiste (larr Tab 10 Nr 8) auf die Platine des In-terface gesteckt werden

Abb 26 Platine des TMC222-Moduls von der Loumltseite (links) und Layout

4223 Quellcode des Mikrocontroller-Programms Im Folgenden ist ein mit Bascom (larr 12 Tab 1 Entwicklungsumgebungen) erstelltes Bei-spiel-Programm zur Ansteuerung des Schrittmotormoduls TMC222 durch den Mikrocontroller ATmega16 angegeben $regfile = m16DEFdat $crystal = 11059200 $baud = 9600 Definitionen Config Scl = Portc0 Taktleitung Config Sda = Portc1 Datenleitung Const Adress = ampB11000000 I2C Adresse des TMC222 Const GetFullstatus1 = ampB10000001 Kommando des TMC222 Const Resetpos = ampB10000110 Kommando des TMC222 Const Motorparameter = ampB10001001 Kommando des TMC222 Const Setposition = ampB10001011 Dim Puffer(10) As Byte

43

Programm I2csend Adress GetFullstatus1 GetFullstatus1 (Initialisierung des TMC222) I2creceive Adress 7 Ack Daten in Puffer auslesen Puffer(1) = Motorparameter puffer auffuumlllen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB11110011 1111irun 0011ihold Puffer(5) = ampB01110001 0111vmax 0001vmin Puffer(6) = ampB00010000 000securepos(bit10-8) 1shaft 0000acceleration Puffer(7) = 0 securepos(bit7-0) Puffer(8) = ampB00001100 000nicht belegt 0accshape 11stepmode 00nicht belegt I2csend Adress Puffer(1) 8 I2csend Adress Resetpos aktuelle Position auf 0 setzen Puffer(1) = Setposition Motor bewegen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB01111111 position(bit 15-8) Puffer(5) = ampB11111111 position(bit 7-0)acute I2csend Adress Puffer(1) 5 End

423 Geschaltete Spannungsquellen und Verbraucher Die Ausgaumlnge des Mikrocontrollers duumlrfen nur mit Stroumlmen kleiner als ungefaumlhr 20 mA belas-tet werden Verbraucher mit einer Stromlast groumlszliger als 20 mA koumlnnen daher nicht direkt an den Mikrocontroller angeschlossen werden Abb 27 zeigt links eine Schaltung zum Schalten eines Verbrauchers wie z B des Relais und rechts eine Schaltung mit dem IC ULN2803A zum Schalten mehrerer Verbraucher wie z B Gluumlhlampen

Abb 27 Erweiterungsschaltungen zum Schalten eines (links) oder

mehrerer Verbraucher (rechts)

Zu beachten ist dass der Transistor BC337 maximal 800 mA schalten kann und fuumlr groumlszligere Stroumlme andere Transistoren verwendet werden muumlssen

424 Steuerung von Gleichstrommotoren

44

Sollen Gleichstrommotoren zum Bewegen von Objekten mit dem Mikrocontroller gesteuert werden dann eignet sich dazu der in Abb 28 dargestellte beschaltete IC L293D

Abb 28 Beschaltung des L293D zum

Steuern zweier Gleichstrom-motoren

Mit Pin 1 = Pin 9 = 1 (High) koumlnnen zwei Gleichstrommotoren M1 und M2 (Versorgungs-spannung UM lt 36 V Spulendauerstrom IM lt 600 mA) unabhaumlngig voneinander ein- und ausgeschaltet sowie in der Drehrichtung uumlber die Ports PA0 und PA1 fuumlr M1 und PA2 und PA3 fuumlr M2 gesteuert werden Z B gilt mit PA0 = PA1 = 0 (M1 ausgeschaltet) PA0 = 1 und PA1 = 0 (M1 dreht sich) PA0 = 0 und PA1 = 1 (M1 dreht sich in Gegenrichtung)

45

43 Quellcodes zum RCL Elektronenbeugung 431 Mikrocontroller-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

46

47

48

49

432 PHP-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

50

51

433 Bedienfeld der Laborseite

Tab 11 erlaumlutert die Funktion der Bloumlcke im Quellcode

Zeilen Funktion 1 Datei defaultconf einbinden 2 Datei headtpl einbinden

5 - 11 Ausgabe der verbleibenden Experimentierzeit 18 - 21 Button zum Einschalten der Elektronenbeugungsroumlhre 28 - 30 Eingabefeld fuumlr die Beschleunigungsspannung

37 Ruumlckmeldung zur eingegebenen Beschleunigungsspannung 42 Datei foottpl einbinden

Tab 11 Funktion der Programmbloumlcke in der Datei experi-menttpl

52

434 Webcamfeld der Laborseite

In Tab 12 ist die Funktion der Programmbloumlcke und die Anpassungen der Vorlage an das RCL Elektronenbeugung beschrieben

Zeilen Funktion Anpassung RCL Elektronenbeugung

5 Titelangabe erscheint als Tabulatorbeschriftung in Browsern

Name des RCLs eintragen

11 - 15 16 - 20

Zwei Javascripts zum getrennten Aufrufen zweier Po-pup-Fenster mit dargestelltem Webcambildern 1 und 2

Javascript 1 die IP-Adresse eintragen Javascript 2 auskommentiert weil nicht benoumltigt

24 - 40 42 - 60

Zwei Javascripts zum Aktualisieren der Webcambilder 1 und 2

Javascript 2 auskommentiert weil nicht benoumltigt

67 - 71 79 - 83

Aufrufen des ersten Webcambilds der Webcams 1 und 2 beim Aufrufen der Datei

Webcambild 2 auskommentiert weil nicht benoumltigt

72 - 78 84 - 90

Buttons zum Aufrufen der Screenshots der Webcam-bilder 1 und 2

Button 2 auskommentiert weil nicht benoumltigt

91 - 95 Zeile der Tabelle zum Eintragen von Informationen die sich auf die Webcambilder oder den Versuch beziehen

Text in Zeile der Tabelle geschrieben

Tab 12 Funktionen der Codeabschnitte in der Datei videohtm und Anpassung der Vor-lage an das RCL Elektronenbeugung

53

44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung Im Folgenden wird die Installation und Konfiguration des AVR-Studios 418 und der Bascom 11198 Demoversion beschrieben Alle Anleitungen sind zeilenweise von links nach rechts zu lesen

441 AVR-Studio 418 4411 Installation Auf der Webseite von ATMEL Register AVR Studio 418 (build 684) anklicken und Registrie-rungsformular ausfuumlllen Danach die Datei AvrStudio418Setup herunterladen Durch Dop-pelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen Next waumlhlen

I accept hellip und Next waumlhlen Installationsordner und Next waumlhlen

54

Installupgrade hellip und Next waumlhlen Install waumlhlen Die Installation beginnt

Finish waumlhlen

4412 Konfiguration AVR Studio 418 in Windows XP Professional unter StartProgramme aufrufen

Startfenster mit Cancel schlieszligen Unter ToolsProgram AVR Auto Connect waumlhlen

55

Im eingeblendeten Fenster auf der Registerkarte Main als Device ATmega16 und als Programming Mode ISP mo-de waumlhlen

Optional kann Signatur gelesen werden

In der Registerkarte Fuses alle Haumlkchen und Auswahlfel-der wie angegeben waumlhlen

Dann Program waumlhlen

442 BASCOM 11198 Demoversion 4421 Installation Auf der Webseite von Bascom unter Bascom AVR Demo die Zip-Datei setupdemoexe her-untergeladen Durch Doppelklick auf den Dateinamen die Installation starten

Next waumlhlen I accept the agreement und Next waumlhlen

56

Next waumlhlen Installationsordner eingeben und Next waumlhlen

Eintrag im Start-Menuuml eingeben und Next waumlhlen Next waumlhlen

Yes restart the computer now und Finish waumlhlen

57

4422 Konfiguration Bascom AVR in Windows XP Professional unter StartProgramme zum Einstellen der Para-meter des Mikrocontrollers und des Terminals aufrufen

OptionsCompilerChip waumlhlen Einstellungen wie im Bild vornehmen und OK waumlhlen

Auf der Registerkarte Communications Einstellungen wie im Bild vornehmen und OK waumlhlen

Unter OptionsCommunication Einstellungen wie im Bild

vornehmen und OK waumlhlen FileNew waumlhlen Unter ToolsTerminal emulator das Terminal aufrufen und

eingeben Die Befehlsliste des RCLs Elektronenbeu-gung wird angezeigt

45 Installation und Konfiguration von Programmen auf dem RCL-Server Im Folgenden wird der Download die Installation und die Konfiguration von Programmen auf dem RCL-Server unter Windows XP Professional beschrieben Alle Anleitungen sind zeilen-weise von links nach rechts zu lesen Die Installation der Programme sollte in der angegebe-nen Reihenfolge erfolgen

58

451 Einrichten des Internet-Zugangs LAN-Verbindung unter StartSystemsteuerungNetzwerkverbindungen aufrufen

Internetprotokoll (TCPIP) und Eigenschaften waumlhlen Folgende IP-Adresse verwenden waumlhlen IP-Adressen ein-

geben und OK waumlhlen

452 Paket XAMPP 174 Unter apache friends - xampp fuumlr windows und XAMPP Windows 174 Installer anklicken und Datei xampp-win32-174-VC6-installerexe speichern Durch Doppelklick auf die Datei die Installation starten

Sprache und Ok waumlhlen Ok waumlhlen

59

Weiter waumlhlen Zielverzeichnis mit Durchsuchen waumlhlen oder eingeben

Apache nicht als Dienst installieren Fertig stellen waumlhlen

Ja waumlhlen Zum Starten des Apache Webservers das Control Panel

unter StartProgrammeXAMPP 173 for Windows mit Start starten Anstelle von Start erscheint Running

Zum Beenden des Apache Webservers Stop waumlhlen Zum Beenden des Control Panels Exit waumlhlen

60

453 Videoserver webcamXP 5 Private Auf der Webseite von Moonware Studios unter webcamXP 55xx die Datei wlite550 herun-terladen Durch Doppelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen I Agree waumlhlen

Next waumlhlen Auszliger webcamXP 5 brauchen keine weiteren Komponen-

ten installiert zu werden

Den vorgeschlagenen Ordner und Install waumlhlen Finish waumlhlen

61

WebcamXP unter StartProgramme aufrufen Zugesandte

Lizenz-Daten in das eingeblendete Fenster eingeben und Register waumlhlen

Beim Starten des Programms stellt webcamXP automa-tisch eine Verbindung zu den am Computer angeschlosse-nen Webcams her

Nach dem Start ist Uumlberwachen gewaumlhlt Durch Rechts-klick mit der Maus auf das Videofenster wird zu jeder Vi-deoquelle ein Kontextmenuuml angezeigt Wird kein Videobild dargestellt das Kontextmenuuml aufrufen Art der Videoquelle waumlhlen (hier USB) und unter den erkannten Videoquellen (hier USB-Videogeraumlt) die gewuumlnschte waumlhlen

Das Videoformat muss fuumlr eine passende Darstellung auf

der Laborseite auf 320 x 240 eingestellt sein Ist das nicht der Fall im Kontextmenuuml unter Video Format einstellen

In gleicher Weise kann eine zweite Videoquelle hinzugefuumlgt werden

In der Registerkarte Web Broadcast kann unter

Broadcast (HTTP) der Videoserver mit Ausschalten ge-stoppt und mit Aktivieren gestartet werden

Zur Zielwahl des Webservers (131246237167 - Internet D16W3X3J - Computer 127001 - Local Host) Videoser-ver stoppen und einstellen Videoserver wieder starten

62

454 Terminalprogramm Hyperterminal Hyperterminal in Windows XP Professional unter StartProgrammeZubehoumlrKommunikation aufrufen

Name der neuen Verbindung - z B Interface - eingeben

und OK waumlhlen Die Verbindung zwischen Computer und Interface wurde

uumlber einen USB-Seriell-Adapter hergestellt Dann erschei-nen zwei zusaumltzliche Eintraumlge (Motorola Comp Modem und COM5) in der Liste Prinzipiell muss eine COMx-Verbindung gewaumlhlt werden

Eigenschaften von COM 5 wie im Bild einstellen und OK

waumlhlen DateiEigenschaften aufrufen und ASCII-Konfiguration

waumlhlen

63

Haken bei Eingegebene Zeichen lokal ausgeben (lokales

Echo) setzen um eingegebenen Zeichen im Hyperterminal zu sehen

Bei funktionsfaumlhiger Verbindung erscheint nach Eingabe von Return die Befehlsliste des Interface

Durch Aufrufen von DateiSpeichern die erstellte Verbin-

dung z B auf dem Desktop speichern Dadurch braucht die Verbindung nicht immer wieder von neuem konfiguriert wer-den

Nach Aufrufen von DateiBeenden die bestehende Verbin-dung mit Ja beenden

64

Wurde ein falscher COM-Port gewaumlhlt reagiert das Inter-

face auf die Eingabe Return nicht Hyperterminal dann beenden

Der COM-Port kann dann nicht unter DateiEigenschaften im Hyperterminal aber unter Eigenschaften des Kontext-menuumls der Datei Interfaceht in der Registerkarte Verbin-den mit geaumlndert werden Dann OK waumlhlen und erneut Verbindung testen

65

455 Fernwartungssoftware TeamViewer 6 Host Auf der Webseite von Teamviewer GmbH unter Fuumlr unbeaufsichtigte Server TeamViewer Vollversion die Datei TeamViewer_Setup-wq herunterladen Das Programm muss auf dem RCL-Server und dem Computer der auf den RCL-Server zugreifen soll installiert werden Durch Doppelklick auf die Datei die Installation starten

Ausfuumlhren waumlhlen Weiter waumlhlen

Fuumlr die private nicht kommerzielle Nutzung ist Teamviewer kostenlos

privat nicht-kommerziell und Weiter waumlhlen

Beide Haumlkchen setzen und Weiter waumlhlen

66

Ja un Weiter waumlhlen Weiter

Computername und Kennwort fuumlr den Zugriff auf den RCL-Server oder den eigenen Computer vergeben Kenn wort notie-ren

Ein Teamviewerkonto ist nicht erforderlich Kann auch spaumlter noch eingerichtet werden

ID fuumlr den Computer auf dem das Programm installiert wird fuumlr Zugriff notieren

Das Programm wird gestartet Standardmaumlszligig vorein-gestellt ist der Start des Programms beim Start des Be-trienssystems

67

46 Selbstbau eines elementaren RCLs 461 Hard- und Software Auch ohne gleich ein vielleicht teures physikalisches Experiment zu steuern laumlsst sich mit wenigen Bauelementen ein elementares RCL realisieren Von einer Webseite im Internet sol-len eine Leuchtdiode (LED) ein- oder ausgeschaltet sowie der Zustand der Leuchtdiode und eines Tasters abgefragt werden An Hard- und Software werden benoumltigt

1 Low-Current-LED 5 mm 2 mA 1 Widerstand 18 kΩ 1 Taster und optional zwei 10-polige Wannenstecker mit ungefaumlhr 10 cm passendem Flachbandkabel und Buchsen

Interface in Basisschaltung Null-Modem-Kabel 12 V DC Steckernetzteil (larr 1)

Installierte Bascom-Demo-Version (larr 42)

AVR ISP-Programmer mit 10-poligem Programmierkabel

Installiertes und konfiguriertes AVR Studio 418 (larr 41)

Installiertes Paket XAMPP (larr 52)

Texteditor wie z B Notepad in Windows XP Professional

Konfigurierte Hyperterminalverbindung (larr 54)

462 Bestuumlckung der Platine Abb 29 zeigt zur Orientierung fuumlr das Einloumlten der Bauelemente die fertig bestuumlckte Platine des Interface

Abb 29 Mit elementarem RCL bestuumlckte Platine

des Interface

LED mit Vorwiderstand und der Taster sind rechts neben dem Mikrocontroller im Lochraster-bereich aufgebaut und uumlber Wannenstecker und Flachbandkabel mit dem Port A des Mikro-controllers verbunden (die drei Bauteile rechts neben dem ATmega16 werden nicht benouml-tigt) Tab 13 erlaumlutert die Schritte zur Bestuumlckung der Platine des Interface

68

Nr Schaltung Erlaumluterung

1

Die Leuchtdiode (LED) mit dem Pluspol (langes Beinchen) an PortA0 (PIN40 oben rechts) des Mikrocontrollers anloumlten

An das kurze Beinchen einen 18kΩ Widerstand loumlten dessen anderes Ende mit der Masse (GND) verbinden

2

Den Taster mit PortA1 (PIN39 = 2 Beinchen von oben rechts) und Masse (GND) verbinden

3

Draufsicht

Belegung des 10-poligen Wannensteckers 1 GND (Masse) im Foto oben links 2 +5 V 3 PortA0 4 PortA1 10 PortA7 im Foto unten rechts

Tab 13 Schritte zum Aufbau des elementaren RCLs

463 Lokal gesteuertes RCL Nachfolgend ist der Basic-Programmcode des Mikrocontrollers zur Steuerung und Abfrage der LED und des Tasters angegeben 01 $regfile = m16DEFdat Microcontroller ATmega16 02 $crystal = 11059200 110592MHz Quarz 03 $baud = 9600 Baudrate 04 05 ---[ Variables ]--------------------------------------------------------------- 06 Dim Rs232kommando As String 10 erst Befehlspuffer dann Kommando 07 Dim Parameter As String 10 Parameter 08 Dim Str_pos As Byte Position von Leerzeichen zur Trennung von Kommando und Pa-rameter 09 10 ---[ Initialisierung ]--------------------------------------------------------- 11 Ddra0 = 1 PortA0 als Ausgang fuumlr LED 12 Porta0 = 0 LED aus 13 Ddra1 = 0 PortA1 als Eingang fuumlr Taster 14 Porta1 = 1 Pull-Up aktivieren 15 16 ---[ Main program loop ]------------------------------------------------------- 17 Do Start der Endlos-Schleife 18 19 If Ischarwaiting() = 1 Then Zeichen uumlber RS232 empfangen 20 Input Rs232kommando neues Kommando lesen 21 Parameter = Parameter initialisieren 22 Str_pos = Instr(rs232kommando ) Leerzeichen im Kommando suchen 23 If Str_pos gt 0 Then falls Leerzeichen dann in Kommando+Parameter zerlegen 24 Incr Str_pos Str_pos soll jetzt auf 1Zeichen des Parameters zeigen 25 Parameter = Mid(rs232kommando Str_pos ) Parameter = Teilstring nach Leerzeichen 26 Parameter = Ucase(parameter) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 27 Str_pos = Str_pos - 2 Str_pos soll jetzt auf letztes Zeichen des Kommandos zeigen 28 Rs232kommando = Left(rs232kommando Str_pos)Kommando = Teilstring vor Leerzeichen 29 Rs232kommando = Ucase(rs232kommando) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 30 End If 31 32 Select Case Rs232kommando Eventhandler Interpretation der Kommandos 33 Case Print Hilfe Hilfeseite anzeigen 34 Print LED on - LED einschalten 35 Print LED off - LED ausschalten 36 Print LED - zeigt Status der LED an 37 Print SW - zeigt Status des Schalters an 38

1K8

LED rotmicroC PortA0(PIN40)

Taster

microC PortA1(PIN39)

1

3

2

69

39 Case LED If Parameter = ON Then LED schalten 40 Porta0 = 1 41 End If 42 If Parameter = OFF Then 43 Porta0 = 0 44 End If 45 46 Case LED If Porta0 = 0 Then Status der LED ausgeben 47 Print LED aus 48 Else 49 Print LED an 50 End If 51 52 Case SW If Pina1 = 1 Then Status des Schalters ausgeben 53 Print Taster offen 54 Else 55 Print Taster geschlossen 56 End If 57 58 Case Else Print gt Rs232kommando lt ungueltiger Befehl - weitere Infos mit Info bei unguumlltigen Eingaben 59 End Select 60 61 End If 62 63 Loop Endlos-Schleife Springe zu Do 64 65 End wird nie erreicht

Der erste Teil des Programms (Zeilen 1 - 15) enthaumllt die Systemparameter Variablen und Initialisierung der Ein- und Ausgaumlnge Der zweite Teil enthaumllt ab Zeile 17 das Hauptpro-gramm in dem Benutzereingaben uumlber die serielle Schnittstelle empfangen interpretiert und in entsprechende Anweisungen umgesetzt werden Tab 14 erlaumlutert den Programmcode de-taillierter

Zeilen Erlaumluterung

1 - 3 Diese Angaben teilen dem Compiler (Bascom) mit welcher Prozessor eingesetzt wird wie schnell dieser getaktet (Quarz) ist und mit welcher Uumlbertragungsgeschwindigkeit die Kommunikation uumlber die serielle Schnittstelle (RS232) mit dem PC erfolgen soll

6 - 8 Es werden drei Variablen genutzt Die Eingabe uumlber die serielle Schnittstelle wird in rs232kommando gespeichert Es wird ein Text der Form Kommando ltLeerzeichengt Parameter erwartet so dass die Variable Parameter den-selbigen aufnimmt Die Variable str_pos wird fuumlr die Trennung von Kommando und Parameter benoumltigt

11 - 14

Mit dem Befehl ddrPX (ddr = data direction) wird festgelegt ob ein Beinchen als Ausgang (=1) oder als Eingang (=0) arbeiten soll Der ATmega16 besitzt 32 Ein-Ausgaumlnge die in vier Ports (P=AD) zu je 8 Pins (X=07) unterteilt sind ddrA0 = 1 legt also das 1 Beinchen (Pin 0) von PortA als Ausgang (=1) fest Mit dem Befehl PortA0 =1 kann dieser Pin dann durch Zuweisen von 1 oder 0 an- bzw ausgeschaltet werden Im Datenblatt erfahren Sie welches der 40 Beinchen des Mikrocontrollers wie bezeichnet wird (Pin-Belegung) Wird ein Beinchen als Eingang verwendet (ddrA1 = 0) koumlnnen Sie optional einen so genannten Pull-Up-Widerstand aktivieren (PortA1=1) oder deaktivieren (PortA1=0) Auch hierzu sollten Sie sich unbedingt mit dem Datenblatt vertraut machen

17 63 Das Hauptprogramm besteht aus einer Endlosschleife d h der Mikrocontroller verrichtet ununterbrochen seinen Job so lange er mit Strom versorgt wird

19 - 30 Falls ein Zeichen uumlber die serielle Schnittstelle empfangen wurde wird dieses und alle folgenden gelesen Anschlie-szligend wird gepruumlft ob der empfangene Text von der Form Kommando ltLeerzeichengt Parameter ist so dass er ge-gebenenfalls in ein Kommando und einen Parameter zerlegt werden kann

32 - 59 Dieser Abschnitt wird mit Event-Handler bezeichnet Hier wird auf die Kommandos (Events) reagiert und die ent-sprechenden Schritte ausgefuumlhrt zB schalten LED je nach Wert der Variablen Parameter an- bzw ausschalten

46 52

In beiden Zeilen wird ein Wert eines Ports abgefragt Unterschiedlich ist dass in Zeile 46 der Status eines Ausgangs abgefragt wird (porta0) und in Zeile 52 der Zustand eines Eingangs (pina0) Die Anweisung IF porta0 = 0 THEN pruumlft (hier ist = ein Vergleich und KEINE Zuweisung) ob zuletzt die LED ausgeschaltet (Zuweisung porta0 = 0) wurde Die Anweisung IF pina1= 1 THEN liest den Status eines Eingangs Hier kann festgestellt werden ob der Eingang uumlber den internen Pull-UP-Widerstand auf +5V liegt (pina1 liefert 1) oder ob der Schalter den Eingang mit Masse (0V) verbindet (pina1 liefert 0)

Tab 14 Erlaumluterung des Mikrocontroller-Programmcodes fuumlr elementares RCL

70

In Bascom AVR eine neue Datei erzeugen (FileNew) den Programmcode ohne Kommenta-re eingeben und mit ProgramCompile (F7) eine Hexadezimaldatei erzeugen Die Hexadezi-maldatei mit dem AVR-Studio und dem AVR-ISP-Programmer in den Mikrocontroller schrei-ben (larr 222 Programmuumlbertragung) Nach dem Verbinden von Computer und Interface per Null-Modem-Kabel kann durch Eingabe von in das konfigurierte Hyperterminal die Befehls-liste in Abb 30 aufgerufen werden

Abb 30 Aufgerufene Befehlsliste im Hyperterminal

Durch Eingabe von LED on oder LED off kann die LED ein- und ausgeschaltet LED zeigt den Status der LED und sw den Status des Tasters an Alternativ zum Hyperterminal kann auch das Terminal in BASCOM unter ToolsTerminal Emulator verwendet werden (larr 422)

464 Ferngesteuertes RCL Zum Ansteuern des Interfaces und zum Bedienen des Versuchsaufbaus uumlber das Internet wird eine Webseite benoumltigt die dem Benutzer alle Bedienelemente des Experiments zur Verfuumlgung stellt

Der Benutzer benoumltigt anklickbare Buttons im Webbrowser

Der Webserver muss die Information welcher Button gedruumlckt wurde empfangen und ein entsprechendes Kommando uumlber die serielle Schnittstelle an das Interface senden

Beide Schritte sind im nachfolgenden PHPHTML-Quellcode zusammengefasst 01 ltDOCTYPE HTML PUBLIC -W3CDTD HTML 401 TransitionalEN httpwwww3orgTRhtml4loosedtdgt 02 lthtmlgt 03 ltheadgt 04 ltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1gt 05 lttitlegtelementares RCLlttitlegt 06 ltheadgt 07 08 ltbodygt 09 ltphp 10 if (isset($_POST[Kommando])) wurde bereits Kommando gesendet 11 if( ( $handle = fopen( COM1 w+ ) ) ) Schnittstelle oumlffnen 12

71

13 throw new Exception( Can not access serial port 2 ) ohne Erfolg 14 15 fwrite( $handle $_POST[Kommando] chr( 13 ) ) Befehl an Interface senden 16 switch ( $_POST[Kommando] ) Antwort von Interface auswerten 17 case LED $tmp = fgets( $handle ) Echo von Interface ignorieren 18 $antwort = fgets( $handle ) Antwort des Interfaces 19 echo Antwort $antwort Ausgabe auf Webseite 20 break switch verlassen 21 22 case SW $tmp = fgets( $handle ) Echo von Interface ignorieren 23 $antwort = fgets( $handle ) Antwort des Interfaces 24 echo Antwort $antwort Ausgabe auf Webseite 25 break switch verlassen 26 27 28 29 fclose( $handle ) Schnittstelle schlieszligen 30 31 else 32 `mode com1 BAUD=9600 PARITY=N data=8 stop=1 xon=off` Schnittstellenparameter setzen 33 34 35 gt 36 37 lth3gtBefehl sendenlth3gt 38 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 39 ltinput type=hidden name=Kommando value=LED ON gt 40 ltinput type=submit value=LED anschalten gt 41 ltformgt 42 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 43 ltinput type=hidden name=Kommando value=LED OFF gt 44 ltinput type=submit value=LED ausschalten gt 45 ltformgt 46 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 47 ltinput type=hidden name=Kommando value=LED gt 48 ltinput type=submit value=LED abfragen gt 49 ltformgt 50 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 51 ltinput type=hidden name=Kommando value=SW gt 52 ltinput type=submit value=Taster abfragen gt 53 ltformgt 54 ltbodygt 55 lthtmlgt Den Quellcode in den Texteditor kopieren und im Ordner htdocs von XAMPP z B unter rclphp speichern HTML-Dateien mit PHP-Code (Zeilen 9-35) muumlssen mit der Erweiterung php gespeichert werden damit der Apache Webserver zwischen HTML-Seiten mit und ohne PHP-Code unterscheiden kann Den installierten Apache Webserver starten (larr 452) und im Adressfeld des Webbrowsers die IP-Adresse http127001rclphp aufrufen Das Bedi-enfeld des elementaren RCLs in Abb 31 wird im Browserfenster angezeigt

72

Abb 31 Laborseite des elementaren RCLs

Im Bedienfeld kann die LED an- und ausgeschaltet sowie der Status von LED und Taster abgefragt werden

  • 0 Warum ein Tutorial zur RCL-Technik
  • 1 Technische Konzeption
    • 11 Einfuumlhrung
    • 12 Wahl der RCL-Technik
      • 2 Lokal gesteuertes RCL
        • 21 Interface
          • 211 Mikrocontroller
          • 212 Basisschaltung und Erweiterungsschaltungen
          • 213 Programmierung des Mikrocontrollers
            • 22 Hyperterminal
            • 23 Positionieren von Objekten
              • 231 Hybrid-Schrittmotoren
              • 232 Schrittmotorsteuerung und Positionierungsmechanik
                  • 3 Ferngesteuertes RCL
                    • 31 RCL-Server
                    • 32 Laborseite
                      • 321 Steuerung des RCLs uumlber das Bedienfeld
                      • 322 Videouumlbertragung im Webcamfeld
                        • 33 Standard-Lernumgebung
                          • 4 ANHANG
                            • 41 Interface in Basisschaltung
                              • 411 Schaltplan und Bauteilliste
                              • 412 Bestuumlckung der Platine
                                • 42 Erweiterungsschaltungen
                                  • 421 Uumlbersicht
                                  • 422 TMC222-Modul zur Schrittmotorsteuerung
                                    • 4221 Schaltplan und Bauteilliste
                                    • 4222 Bestuumlckung der Platine
                                    • 4223 Quellcode des Mikrocontroller-Programms
                                      • 423 Geschaltete Spannungsquellen und Verbraucher
                                      • 424 Steuerung von Gleichstrommotoren
                                        • 43 Quellcodes zum RCL Elektronenbeugung
                                          • 431 Mikrocontroller-Programmierung
                                          • 432 PHP-Programmierung
                                          • 433 Bedienfeld der Laborseite
                                          • 434 Webcamfeld der Laborseite
                                            • 44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung
                                              • 441 AVR-Studio 418
                                                • 4411 Installation
                                                • 4412 Konfiguration
                                                  • 442 BASCOM 11198 Demoversion
                                                    • 4421 Installation
                                                    • 4422 Konfiguration
                                                        • 45 Installation und Konfiguration von Programmen auf dem RCL-Server
                                                          • 451 Einrichten des Internet-Zugangs
                                                          • 452 Paket XAMPP 174
                                                          • 453 Videoserver webcamXP 5 Private
                                                          • 454 Terminalprogramm Hyperterminal
                                                          • 455 Fernwartungssoftware TeamViewer 6 Host
                                                            • 46 Selbstbau eines elementaren RCLs
                                                              • 461 Hard- und Software
                                                              • 462 Bestuumlckung der Platine
                                                              • 463 Lokal gesteuertes RCL
                                                              • 464 Ferngesteuertes RCL

42

Abb 25 zeigt die fertig bestuumlckte Platine mit den Nummern aus Tab 10

Abb 25 Bestuumlckte Platine des TMC222-Moduls

mit nummerierten Bauelementen

Die Platine (35 mm x 30 mm) kann anhand des Layouts in Abb 26 hergestellt werden Der IC TMC222 wird auf der Loumltseite der Platine aufgeloumltet Das TMC222-Modul kann mit der Stiftleiste (larr Tab 10 Nr 7) in eine Buchsenleiste (larr Tab 10 Nr 8) auf die Platine des In-terface gesteckt werden

Abb 26 Platine des TMC222-Moduls von der Loumltseite (links) und Layout

4223 Quellcode des Mikrocontroller-Programms Im Folgenden ist ein mit Bascom (larr 12 Tab 1 Entwicklungsumgebungen) erstelltes Bei-spiel-Programm zur Ansteuerung des Schrittmotormoduls TMC222 durch den Mikrocontroller ATmega16 angegeben $regfile = m16DEFdat $crystal = 11059200 $baud = 9600 Definitionen Config Scl = Portc0 Taktleitung Config Sda = Portc1 Datenleitung Const Adress = ampB11000000 I2C Adresse des TMC222 Const GetFullstatus1 = ampB10000001 Kommando des TMC222 Const Resetpos = ampB10000110 Kommando des TMC222 Const Motorparameter = ampB10001001 Kommando des TMC222 Const Setposition = ampB10001011 Dim Puffer(10) As Byte

43

Programm I2csend Adress GetFullstatus1 GetFullstatus1 (Initialisierung des TMC222) I2creceive Adress 7 Ack Daten in Puffer auslesen Puffer(1) = Motorparameter puffer auffuumlllen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB11110011 1111irun 0011ihold Puffer(5) = ampB01110001 0111vmax 0001vmin Puffer(6) = ampB00010000 000securepos(bit10-8) 1shaft 0000acceleration Puffer(7) = 0 securepos(bit7-0) Puffer(8) = ampB00001100 000nicht belegt 0accshape 11stepmode 00nicht belegt I2csend Adress Puffer(1) 8 I2csend Adress Resetpos aktuelle Position auf 0 setzen Puffer(1) = Setposition Motor bewegen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB01111111 position(bit 15-8) Puffer(5) = ampB11111111 position(bit 7-0)acute I2csend Adress Puffer(1) 5 End

423 Geschaltete Spannungsquellen und Verbraucher Die Ausgaumlnge des Mikrocontrollers duumlrfen nur mit Stroumlmen kleiner als ungefaumlhr 20 mA belas-tet werden Verbraucher mit einer Stromlast groumlszliger als 20 mA koumlnnen daher nicht direkt an den Mikrocontroller angeschlossen werden Abb 27 zeigt links eine Schaltung zum Schalten eines Verbrauchers wie z B des Relais und rechts eine Schaltung mit dem IC ULN2803A zum Schalten mehrerer Verbraucher wie z B Gluumlhlampen

Abb 27 Erweiterungsschaltungen zum Schalten eines (links) oder

mehrerer Verbraucher (rechts)

Zu beachten ist dass der Transistor BC337 maximal 800 mA schalten kann und fuumlr groumlszligere Stroumlme andere Transistoren verwendet werden muumlssen

424 Steuerung von Gleichstrommotoren

44

Sollen Gleichstrommotoren zum Bewegen von Objekten mit dem Mikrocontroller gesteuert werden dann eignet sich dazu der in Abb 28 dargestellte beschaltete IC L293D

Abb 28 Beschaltung des L293D zum

Steuern zweier Gleichstrom-motoren

Mit Pin 1 = Pin 9 = 1 (High) koumlnnen zwei Gleichstrommotoren M1 und M2 (Versorgungs-spannung UM lt 36 V Spulendauerstrom IM lt 600 mA) unabhaumlngig voneinander ein- und ausgeschaltet sowie in der Drehrichtung uumlber die Ports PA0 und PA1 fuumlr M1 und PA2 und PA3 fuumlr M2 gesteuert werden Z B gilt mit PA0 = PA1 = 0 (M1 ausgeschaltet) PA0 = 1 und PA1 = 0 (M1 dreht sich) PA0 = 0 und PA1 = 1 (M1 dreht sich in Gegenrichtung)

45

43 Quellcodes zum RCL Elektronenbeugung 431 Mikrocontroller-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

46

47

48

49

432 PHP-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

50

51

433 Bedienfeld der Laborseite

Tab 11 erlaumlutert die Funktion der Bloumlcke im Quellcode

Zeilen Funktion 1 Datei defaultconf einbinden 2 Datei headtpl einbinden

5 - 11 Ausgabe der verbleibenden Experimentierzeit 18 - 21 Button zum Einschalten der Elektronenbeugungsroumlhre 28 - 30 Eingabefeld fuumlr die Beschleunigungsspannung

37 Ruumlckmeldung zur eingegebenen Beschleunigungsspannung 42 Datei foottpl einbinden

Tab 11 Funktion der Programmbloumlcke in der Datei experi-menttpl

52

434 Webcamfeld der Laborseite

In Tab 12 ist die Funktion der Programmbloumlcke und die Anpassungen der Vorlage an das RCL Elektronenbeugung beschrieben

Zeilen Funktion Anpassung RCL Elektronenbeugung

5 Titelangabe erscheint als Tabulatorbeschriftung in Browsern

Name des RCLs eintragen

11 - 15 16 - 20

Zwei Javascripts zum getrennten Aufrufen zweier Po-pup-Fenster mit dargestelltem Webcambildern 1 und 2

Javascript 1 die IP-Adresse eintragen Javascript 2 auskommentiert weil nicht benoumltigt

24 - 40 42 - 60

Zwei Javascripts zum Aktualisieren der Webcambilder 1 und 2

Javascript 2 auskommentiert weil nicht benoumltigt

67 - 71 79 - 83

Aufrufen des ersten Webcambilds der Webcams 1 und 2 beim Aufrufen der Datei

Webcambild 2 auskommentiert weil nicht benoumltigt

72 - 78 84 - 90

Buttons zum Aufrufen der Screenshots der Webcam-bilder 1 und 2

Button 2 auskommentiert weil nicht benoumltigt

91 - 95 Zeile der Tabelle zum Eintragen von Informationen die sich auf die Webcambilder oder den Versuch beziehen

Text in Zeile der Tabelle geschrieben

Tab 12 Funktionen der Codeabschnitte in der Datei videohtm und Anpassung der Vor-lage an das RCL Elektronenbeugung

53

44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung Im Folgenden wird die Installation und Konfiguration des AVR-Studios 418 und der Bascom 11198 Demoversion beschrieben Alle Anleitungen sind zeilenweise von links nach rechts zu lesen

441 AVR-Studio 418 4411 Installation Auf der Webseite von ATMEL Register AVR Studio 418 (build 684) anklicken und Registrie-rungsformular ausfuumlllen Danach die Datei AvrStudio418Setup herunterladen Durch Dop-pelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen Next waumlhlen

I accept hellip und Next waumlhlen Installationsordner und Next waumlhlen

54

Installupgrade hellip und Next waumlhlen Install waumlhlen Die Installation beginnt

Finish waumlhlen

4412 Konfiguration AVR Studio 418 in Windows XP Professional unter StartProgramme aufrufen

Startfenster mit Cancel schlieszligen Unter ToolsProgram AVR Auto Connect waumlhlen

55

Im eingeblendeten Fenster auf der Registerkarte Main als Device ATmega16 und als Programming Mode ISP mo-de waumlhlen

Optional kann Signatur gelesen werden

In der Registerkarte Fuses alle Haumlkchen und Auswahlfel-der wie angegeben waumlhlen

Dann Program waumlhlen

442 BASCOM 11198 Demoversion 4421 Installation Auf der Webseite von Bascom unter Bascom AVR Demo die Zip-Datei setupdemoexe her-untergeladen Durch Doppelklick auf den Dateinamen die Installation starten

Next waumlhlen I accept the agreement und Next waumlhlen

56

Next waumlhlen Installationsordner eingeben und Next waumlhlen

Eintrag im Start-Menuuml eingeben und Next waumlhlen Next waumlhlen

Yes restart the computer now und Finish waumlhlen

57

4422 Konfiguration Bascom AVR in Windows XP Professional unter StartProgramme zum Einstellen der Para-meter des Mikrocontrollers und des Terminals aufrufen

OptionsCompilerChip waumlhlen Einstellungen wie im Bild vornehmen und OK waumlhlen

Auf der Registerkarte Communications Einstellungen wie im Bild vornehmen und OK waumlhlen

Unter OptionsCommunication Einstellungen wie im Bild

vornehmen und OK waumlhlen FileNew waumlhlen Unter ToolsTerminal emulator das Terminal aufrufen und

eingeben Die Befehlsliste des RCLs Elektronenbeu-gung wird angezeigt

45 Installation und Konfiguration von Programmen auf dem RCL-Server Im Folgenden wird der Download die Installation und die Konfiguration von Programmen auf dem RCL-Server unter Windows XP Professional beschrieben Alle Anleitungen sind zeilen-weise von links nach rechts zu lesen Die Installation der Programme sollte in der angegebe-nen Reihenfolge erfolgen

58

451 Einrichten des Internet-Zugangs LAN-Verbindung unter StartSystemsteuerungNetzwerkverbindungen aufrufen

Internetprotokoll (TCPIP) und Eigenschaften waumlhlen Folgende IP-Adresse verwenden waumlhlen IP-Adressen ein-

geben und OK waumlhlen

452 Paket XAMPP 174 Unter apache friends - xampp fuumlr windows und XAMPP Windows 174 Installer anklicken und Datei xampp-win32-174-VC6-installerexe speichern Durch Doppelklick auf die Datei die Installation starten

Sprache und Ok waumlhlen Ok waumlhlen

59

Weiter waumlhlen Zielverzeichnis mit Durchsuchen waumlhlen oder eingeben

Apache nicht als Dienst installieren Fertig stellen waumlhlen

Ja waumlhlen Zum Starten des Apache Webservers das Control Panel

unter StartProgrammeXAMPP 173 for Windows mit Start starten Anstelle von Start erscheint Running

Zum Beenden des Apache Webservers Stop waumlhlen Zum Beenden des Control Panels Exit waumlhlen

60

453 Videoserver webcamXP 5 Private Auf der Webseite von Moonware Studios unter webcamXP 55xx die Datei wlite550 herun-terladen Durch Doppelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen I Agree waumlhlen

Next waumlhlen Auszliger webcamXP 5 brauchen keine weiteren Komponen-

ten installiert zu werden

Den vorgeschlagenen Ordner und Install waumlhlen Finish waumlhlen

61

WebcamXP unter StartProgramme aufrufen Zugesandte

Lizenz-Daten in das eingeblendete Fenster eingeben und Register waumlhlen

Beim Starten des Programms stellt webcamXP automa-tisch eine Verbindung zu den am Computer angeschlosse-nen Webcams her

Nach dem Start ist Uumlberwachen gewaumlhlt Durch Rechts-klick mit der Maus auf das Videofenster wird zu jeder Vi-deoquelle ein Kontextmenuuml angezeigt Wird kein Videobild dargestellt das Kontextmenuuml aufrufen Art der Videoquelle waumlhlen (hier USB) und unter den erkannten Videoquellen (hier USB-Videogeraumlt) die gewuumlnschte waumlhlen

Das Videoformat muss fuumlr eine passende Darstellung auf

der Laborseite auf 320 x 240 eingestellt sein Ist das nicht der Fall im Kontextmenuuml unter Video Format einstellen

In gleicher Weise kann eine zweite Videoquelle hinzugefuumlgt werden

In der Registerkarte Web Broadcast kann unter

Broadcast (HTTP) der Videoserver mit Ausschalten ge-stoppt und mit Aktivieren gestartet werden

Zur Zielwahl des Webservers (131246237167 - Internet D16W3X3J - Computer 127001 - Local Host) Videoser-ver stoppen und einstellen Videoserver wieder starten

62

454 Terminalprogramm Hyperterminal Hyperterminal in Windows XP Professional unter StartProgrammeZubehoumlrKommunikation aufrufen

Name der neuen Verbindung - z B Interface - eingeben

und OK waumlhlen Die Verbindung zwischen Computer und Interface wurde

uumlber einen USB-Seriell-Adapter hergestellt Dann erschei-nen zwei zusaumltzliche Eintraumlge (Motorola Comp Modem und COM5) in der Liste Prinzipiell muss eine COMx-Verbindung gewaumlhlt werden

Eigenschaften von COM 5 wie im Bild einstellen und OK

waumlhlen DateiEigenschaften aufrufen und ASCII-Konfiguration

waumlhlen

63

Haken bei Eingegebene Zeichen lokal ausgeben (lokales

Echo) setzen um eingegebenen Zeichen im Hyperterminal zu sehen

Bei funktionsfaumlhiger Verbindung erscheint nach Eingabe von Return die Befehlsliste des Interface

Durch Aufrufen von DateiSpeichern die erstellte Verbin-

dung z B auf dem Desktop speichern Dadurch braucht die Verbindung nicht immer wieder von neuem konfiguriert wer-den

Nach Aufrufen von DateiBeenden die bestehende Verbin-dung mit Ja beenden

64

Wurde ein falscher COM-Port gewaumlhlt reagiert das Inter-

face auf die Eingabe Return nicht Hyperterminal dann beenden

Der COM-Port kann dann nicht unter DateiEigenschaften im Hyperterminal aber unter Eigenschaften des Kontext-menuumls der Datei Interfaceht in der Registerkarte Verbin-den mit geaumlndert werden Dann OK waumlhlen und erneut Verbindung testen

65

455 Fernwartungssoftware TeamViewer 6 Host Auf der Webseite von Teamviewer GmbH unter Fuumlr unbeaufsichtigte Server TeamViewer Vollversion die Datei TeamViewer_Setup-wq herunterladen Das Programm muss auf dem RCL-Server und dem Computer der auf den RCL-Server zugreifen soll installiert werden Durch Doppelklick auf die Datei die Installation starten

Ausfuumlhren waumlhlen Weiter waumlhlen

Fuumlr die private nicht kommerzielle Nutzung ist Teamviewer kostenlos

privat nicht-kommerziell und Weiter waumlhlen

Beide Haumlkchen setzen und Weiter waumlhlen

66

Ja un Weiter waumlhlen Weiter

Computername und Kennwort fuumlr den Zugriff auf den RCL-Server oder den eigenen Computer vergeben Kenn wort notie-ren

Ein Teamviewerkonto ist nicht erforderlich Kann auch spaumlter noch eingerichtet werden

ID fuumlr den Computer auf dem das Programm installiert wird fuumlr Zugriff notieren

Das Programm wird gestartet Standardmaumlszligig vorein-gestellt ist der Start des Programms beim Start des Be-trienssystems

67

46 Selbstbau eines elementaren RCLs 461 Hard- und Software Auch ohne gleich ein vielleicht teures physikalisches Experiment zu steuern laumlsst sich mit wenigen Bauelementen ein elementares RCL realisieren Von einer Webseite im Internet sol-len eine Leuchtdiode (LED) ein- oder ausgeschaltet sowie der Zustand der Leuchtdiode und eines Tasters abgefragt werden An Hard- und Software werden benoumltigt

1 Low-Current-LED 5 mm 2 mA 1 Widerstand 18 kΩ 1 Taster und optional zwei 10-polige Wannenstecker mit ungefaumlhr 10 cm passendem Flachbandkabel und Buchsen

Interface in Basisschaltung Null-Modem-Kabel 12 V DC Steckernetzteil (larr 1)

Installierte Bascom-Demo-Version (larr 42)

AVR ISP-Programmer mit 10-poligem Programmierkabel

Installiertes und konfiguriertes AVR Studio 418 (larr 41)

Installiertes Paket XAMPP (larr 52)

Texteditor wie z B Notepad in Windows XP Professional

Konfigurierte Hyperterminalverbindung (larr 54)

462 Bestuumlckung der Platine Abb 29 zeigt zur Orientierung fuumlr das Einloumlten der Bauelemente die fertig bestuumlckte Platine des Interface

Abb 29 Mit elementarem RCL bestuumlckte Platine

des Interface

LED mit Vorwiderstand und der Taster sind rechts neben dem Mikrocontroller im Lochraster-bereich aufgebaut und uumlber Wannenstecker und Flachbandkabel mit dem Port A des Mikro-controllers verbunden (die drei Bauteile rechts neben dem ATmega16 werden nicht benouml-tigt) Tab 13 erlaumlutert die Schritte zur Bestuumlckung der Platine des Interface

68

Nr Schaltung Erlaumluterung

1

Die Leuchtdiode (LED) mit dem Pluspol (langes Beinchen) an PortA0 (PIN40 oben rechts) des Mikrocontrollers anloumlten

An das kurze Beinchen einen 18kΩ Widerstand loumlten dessen anderes Ende mit der Masse (GND) verbinden

2

Den Taster mit PortA1 (PIN39 = 2 Beinchen von oben rechts) und Masse (GND) verbinden

3

Draufsicht

Belegung des 10-poligen Wannensteckers 1 GND (Masse) im Foto oben links 2 +5 V 3 PortA0 4 PortA1 10 PortA7 im Foto unten rechts

Tab 13 Schritte zum Aufbau des elementaren RCLs

463 Lokal gesteuertes RCL Nachfolgend ist der Basic-Programmcode des Mikrocontrollers zur Steuerung und Abfrage der LED und des Tasters angegeben 01 $regfile = m16DEFdat Microcontroller ATmega16 02 $crystal = 11059200 110592MHz Quarz 03 $baud = 9600 Baudrate 04 05 ---[ Variables ]--------------------------------------------------------------- 06 Dim Rs232kommando As String 10 erst Befehlspuffer dann Kommando 07 Dim Parameter As String 10 Parameter 08 Dim Str_pos As Byte Position von Leerzeichen zur Trennung von Kommando und Pa-rameter 09 10 ---[ Initialisierung ]--------------------------------------------------------- 11 Ddra0 = 1 PortA0 als Ausgang fuumlr LED 12 Porta0 = 0 LED aus 13 Ddra1 = 0 PortA1 als Eingang fuumlr Taster 14 Porta1 = 1 Pull-Up aktivieren 15 16 ---[ Main program loop ]------------------------------------------------------- 17 Do Start der Endlos-Schleife 18 19 If Ischarwaiting() = 1 Then Zeichen uumlber RS232 empfangen 20 Input Rs232kommando neues Kommando lesen 21 Parameter = Parameter initialisieren 22 Str_pos = Instr(rs232kommando ) Leerzeichen im Kommando suchen 23 If Str_pos gt 0 Then falls Leerzeichen dann in Kommando+Parameter zerlegen 24 Incr Str_pos Str_pos soll jetzt auf 1Zeichen des Parameters zeigen 25 Parameter = Mid(rs232kommando Str_pos ) Parameter = Teilstring nach Leerzeichen 26 Parameter = Ucase(parameter) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 27 Str_pos = Str_pos - 2 Str_pos soll jetzt auf letztes Zeichen des Kommandos zeigen 28 Rs232kommando = Left(rs232kommando Str_pos)Kommando = Teilstring vor Leerzeichen 29 Rs232kommando = Ucase(rs232kommando) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 30 End If 31 32 Select Case Rs232kommando Eventhandler Interpretation der Kommandos 33 Case Print Hilfe Hilfeseite anzeigen 34 Print LED on - LED einschalten 35 Print LED off - LED ausschalten 36 Print LED - zeigt Status der LED an 37 Print SW - zeigt Status des Schalters an 38

1K8

LED rotmicroC PortA0(PIN40)

Taster

microC PortA1(PIN39)

1

3

2

69

39 Case LED If Parameter = ON Then LED schalten 40 Porta0 = 1 41 End If 42 If Parameter = OFF Then 43 Porta0 = 0 44 End If 45 46 Case LED If Porta0 = 0 Then Status der LED ausgeben 47 Print LED aus 48 Else 49 Print LED an 50 End If 51 52 Case SW If Pina1 = 1 Then Status des Schalters ausgeben 53 Print Taster offen 54 Else 55 Print Taster geschlossen 56 End If 57 58 Case Else Print gt Rs232kommando lt ungueltiger Befehl - weitere Infos mit Info bei unguumlltigen Eingaben 59 End Select 60 61 End If 62 63 Loop Endlos-Schleife Springe zu Do 64 65 End wird nie erreicht

Der erste Teil des Programms (Zeilen 1 - 15) enthaumllt die Systemparameter Variablen und Initialisierung der Ein- und Ausgaumlnge Der zweite Teil enthaumllt ab Zeile 17 das Hauptpro-gramm in dem Benutzereingaben uumlber die serielle Schnittstelle empfangen interpretiert und in entsprechende Anweisungen umgesetzt werden Tab 14 erlaumlutert den Programmcode de-taillierter

Zeilen Erlaumluterung

1 - 3 Diese Angaben teilen dem Compiler (Bascom) mit welcher Prozessor eingesetzt wird wie schnell dieser getaktet (Quarz) ist und mit welcher Uumlbertragungsgeschwindigkeit die Kommunikation uumlber die serielle Schnittstelle (RS232) mit dem PC erfolgen soll

6 - 8 Es werden drei Variablen genutzt Die Eingabe uumlber die serielle Schnittstelle wird in rs232kommando gespeichert Es wird ein Text der Form Kommando ltLeerzeichengt Parameter erwartet so dass die Variable Parameter den-selbigen aufnimmt Die Variable str_pos wird fuumlr die Trennung von Kommando und Parameter benoumltigt

11 - 14

Mit dem Befehl ddrPX (ddr = data direction) wird festgelegt ob ein Beinchen als Ausgang (=1) oder als Eingang (=0) arbeiten soll Der ATmega16 besitzt 32 Ein-Ausgaumlnge die in vier Ports (P=AD) zu je 8 Pins (X=07) unterteilt sind ddrA0 = 1 legt also das 1 Beinchen (Pin 0) von PortA als Ausgang (=1) fest Mit dem Befehl PortA0 =1 kann dieser Pin dann durch Zuweisen von 1 oder 0 an- bzw ausgeschaltet werden Im Datenblatt erfahren Sie welches der 40 Beinchen des Mikrocontrollers wie bezeichnet wird (Pin-Belegung) Wird ein Beinchen als Eingang verwendet (ddrA1 = 0) koumlnnen Sie optional einen so genannten Pull-Up-Widerstand aktivieren (PortA1=1) oder deaktivieren (PortA1=0) Auch hierzu sollten Sie sich unbedingt mit dem Datenblatt vertraut machen

17 63 Das Hauptprogramm besteht aus einer Endlosschleife d h der Mikrocontroller verrichtet ununterbrochen seinen Job so lange er mit Strom versorgt wird

19 - 30 Falls ein Zeichen uumlber die serielle Schnittstelle empfangen wurde wird dieses und alle folgenden gelesen Anschlie-szligend wird gepruumlft ob der empfangene Text von der Form Kommando ltLeerzeichengt Parameter ist so dass er ge-gebenenfalls in ein Kommando und einen Parameter zerlegt werden kann

32 - 59 Dieser Abschnitt wird mit Event-Handler bezeichnet Hier wird auf die Kommandos (Events) reagiert und die ent-sprechenden Schritte ausgefuumlhrt zB schalten LED je nach Wert der Variablen Parameter an- bzw ausschalten

46 52

In beiden Zeilen wird ein Wert eines Ports abgefragt Unterschiedlich ist dass in Zeile 46 der Status eines Ausgangs abgefragt wird (porta0) und in Zeile 52 der Zustand eines Eingangs (pina0) Die Anweisung IF porta0 = 0 THEN pruumlft (hier ist = ein Vergleich und KEINE Zuweisung) ob zuletzt die LED ausgeschaltet (Zuweisung porta0 = 0) wurde Die Anweisung IF pina1= 1 THEN liest den Status eines Eingangs Hier kann festgestellt werden ob der Eingang uumlber den internen Pull-UP-Widerstand auf +5V liegt (pina1 liefert 1) oder ob der Schalter den Eingang mit Masse (0V) verbindet (pina1 liefert 0)

Tab 14 Erlaumluterung des Mikrocontroller-Programmcodes fuumlr elementares RCL

70

In Bascom AVR eine neue Datei erzeugen (FileNew) den Programmcode ohne Kommenta-re eingeben und mit ProgramCompile (F7) eine Hexadezimaldatei erzeugen Die Hexadezi-maldatei mit dem AVR-Studio und dem AVR-ISP-Programmer in den Mikrocontroller schrei-ben (larr 222 Programmuumlbertragung) Nach dem Verbinden von Computer und Interface per Null-Modem-Kabel kann durch Eingabe von in das konfigurierte Hyperterminal die Befehls-liste in Abb 30 aufgerufen werden

Abb 30 Aufgerufene Befehlsliste im Hyperterminal

Durch Eingabe von LED on oder LED off kann die LED ein- und ausgeschaltet LED zeigt den Status der LED und sw den Status des Tasters an Alternativ zum Hyperterminal kann auch das Terminal in BASCOM unter ToolsTerminal Emulator verwendet werden (larr 422)

464 Ferngesteuertes RCL Zum Ansteuern des Interfaces und zum Bedienen des Versuchsaufbaus uumlber das Internet wird eine Webseite benoumltigt die dem Benutzer alle Bedienelemente des Experiments zur Verfuumlgung stellt

Der Benutzer benoumltigt anklickbare Buttons im Webbrowser

Der Webserver muss die Information welcher Button gedruumlckt wurde empfangen und ein entsprechendes Kommando uumlber die serielle Schnittstelle an das Interface senden

Beide Schritte sind im nachfolgenden PHPHTML-Quellcode zusammengefasst 01 ltDOCTYPE HTML PUBLIC -W3CDTD HTML 401 TransitionalEN httpwwww3orgTRhtml4loosedtdgt 02 lthtmlgt 03 ltheadgt 04 ltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1gt 05 lttitlegtelementares RCLlttitlegt 06 ltheadgt 07 08 ltbodygt 09 ltphp 10 if (isset($_POST[Kommando])) wurde bereits Kommando gesendet 11 if( ( $handle = fopen( COM1 w+ ) ) ) Schnittstelle oumlffnen 12

71

13 throw new Exception( Can not access serial port 2 ) ohne Erfolg 14 15 fwrite( $handle $_POST[Kommando] chr( 13 ) ) Befehl an Interface senden 16 switch ( $_POST[Kommando] ) Antwort von Interface auswerten 17 case LED $tmp = fgets( $handle ) Echo von Interface ignorieren 18 $antwort = fgets( $handle ) Antwort des Interfaces 19 echo Antwort $antwort Ausgabe auf Webseite 20 break switch verlassen 21 22 case SW $tmp = fgets( $handle ) Echo von Interface ignorieren 23 $antwort = fgets( $handle ) Antwort des Interfaces 24 echo Antwort $antwort Ausgabe auf Webseite 25 break switch verlassen 26 27 28 29 fclose( $handle ) Schnittstelle schlieszligen 30 31 else 32 `mode com1 BAUD=9600 PARITY=N data=8 stop=1 xon=off` Schnittstellenparameter setzen 33 34 35 gt 36 37 lth3gtBefehl sendenlth3gt 38 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 39 ltinput type=hidden name=Kommando value=LED ON gt 40 ltinput type=submit value=LED anschalten gt 41 ltformgt 42 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 43 ltinput type=hidden name=Kommando value=LED OFF gt 44 ltinput type=submit value=LED ausschalten gt 45 ltformgt 46 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 47 ltinput type=hidden name=Kommando value=LED gt 48 ltinput type=submit value=LED abfragen gt 49 ltformgt 50 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 51 ltinput type=hidden name=Kommando value=SW gt 52 ltinput type=submit value=Taster abfragen gt 53 ltformgt 54 ltbodygt 55 lthtmlgt Den Quellcode in den Texteditor kopieren und im Ordner htdocs von XAMPP z B unter rclphp speichern HTML-Dateien mit PHP-Code (Zeilen 9-35) muumlssen mit der Erweiterung php gespeichert werden damit der Apache Webserver zwischen HTML-Seiten mit und ohne PHP-Code unterscheiden kann Den installierten Apache Webserver starten (larr 452) und im Adressfeld des Webbrowsers die IP-Adresse http127001rclphp aufrufen Das Bedi-enfeld des elementaren RCLs in Abb 31 wird im Browserfenster angezeigt

72

Abb 31 Laborseite des elementaren RCLs

Im Bedienfeld kann die LED an- und ausgeschaltet sowie der Status von LED und Taster abgefragt werden

  • 0 Warum ein Tutorial zur RCL-Technik
  • 1 Technische Konzeption
    • 11 Einfuumlhrung
    • 12 Wahl der RCL-Technik
      • 2 Lokal gesteuertes RCL
        • 21 Interface
          • 211 Mikrocontroller
          • 212 Basisschaltung und Erweiterungsschaltungen
          • 213 Programmierung des Mikrocontrollers
            • 22 Hyperterminal
            • 23 Positionieren von Objekten
              • 231 Hybrid-Schrittmotoren
              • 232 Schrittmotorsteuerung und Positionierungsmechanik
                  • 3 Ferngesteuertes RCL
                    • 31 RCL-Server
                    • 32 Laborseite
                      • 321 Steuerung des RCLs uumlber das Bedienfeld
                      • 322 Videouumlbertragung im Webcamfeld
                        • 33 Standard-Lernumgebung
                          • 4 ANHANG
                            • 41 Interface in Basisschaltung
                              • 411 Schaltplan und Bauteilliste
                              • 412 Bestuumlckung der Platine
                                • 42 Erweiterungsschaltungen
                                  • 421 Uumlbersicht
                                  • 422 TMC222-Modul zur Schrittmotorsteuerung
                                    • 4221 Schaltplan und Bauteilliste
                                    • 4222 Bestuumlckung der Platine
                                    • 4223 Quellcode des Mikrocontroller-Programms
                                      • 423 Geschaltete Spannungsquellen und Verbraucher
                                      • 424 Steuerung von Gleichstrommotoren
                                        • 43 Quellcodes zum RCL Elektronenbeugung
                                          • 431 Mikrocontroller-Programmierung
                                          • 432 PHP-Programmierung
                                          • 433 Bedienfeld der Laborseite
                                          • 434 Webcamfeld der Laborseite
                                            • 44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung
                                              • 441 AVR-Studio 418
                                                • 4411 Installation
                                                • 4412 Konfiguration
                                                  • 442 BASCOM 11198 Demoversion
                                                    • 4421 Installation
                                                    • 4422 Konfiguration
                                                        • 45 Installation und Konfiguration von Programmen auf dem RCL-Server
                                                          • 451 Einrichten des Internet-Zugangs
                                                          • 452 Paket XAMPP 174
                                                          • 453 Videoserver webcamXP 5 Private
                                                          • 454 Terminalprogramm Hyperterminal
                                                          • 455 Fernwartungssoftware TeamViewer 6 Host
                                                            • 46 Selbstbau eines elementaren RCLs
                                                              • 461 Hard- und Software
                                                              • 462 Bestuumlckung der Platine
                                                              • 463 Lokal gesteuertes RCL
                                                              • 464 Ferngesteuertes RCL

43

Programm I2csend Adress GetFullstatus1 GetFullstatus1 (Initialisierung des TMC222) I2creceive Adress 7 Ack Daten in Puffer auslesen Puffer(1) = Motorparameter puffer auffuumlllen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB11110011 1111irun 0011ihold Puffer(5) = ampB01110001 0111vmax 0001vmin Puffer(6) = ampB00010000 000securepos(bit10-8) 1shaft 0000acceleration Puffer(7) = 0 securepos(bit7-0) Puffer(8) = ampB00001100 000nicht belegt 0accshape 11stepmode 00nicht belegt I2csend Adress Puffer(1) 8 I2csend Adress Resetpos aktuelle Position auf 0 setzen Puffer(1) = Setposition Motor bewegen Puffer(2) = 255 nicht belegt Puffer(3) = 255 nicht belegt Puffer(4) = ampB01111111 position(bit 15-8) Puffer(5) = ampB11111111 position(bit 7-0)acute I2csend Adress Puffer(1) 5 End

423 Geschaltete Spannungsquellen und Verbraucher Die Ausgaumlnge des Mikrocontrollers duumlrfen nur mit Stroumlmen kleiner als ungefaumlhr 20 mA belas-tet werden Verbraucher mit einer Stromlast groumlszliger als 20 mA koumlnnen daher nicht direkt an den Mikrocontroller angeschlossen werden Abb 27 zeigt links eine Schaltung zum Schalten eines Verbrauchers wie z B des Relais und rechts eine Schaltung mit dem IC ULN2803A zum Schalten mehrerer Verbraucher wie z B Gluumlhlampen

Abb 27 Erweiterungsschaltungen zum Schalten eines (links) oder

mehrerer Verbraucher (rechts)

Zu beachten ist dass der Transistor BC337 maximal 800 mA schalten kann und fuumlr groumlszligere Stroumlme andere Transistoren verwendet werden muumlssen

424 Steuerung von Gleichstrommotoren

44

Sollen Gleichstrommotoren zum Bewegen von Objekten mit dem Mikrocontroller gesteuert werden dann eignet sich dazu der in Abb 28 dargestellte beschaltete IC L293D

Abb 28 Beschaltung des L293D zum

Steuern zweier Gleichstrom-motoren

Mit Pin 1 = Pin 9 = 1 (High) koumlnnen zwei Gleichstrommotoren M1 und M2 (Versorgungs-spannung UM lt 36 V Spulendauerstrom IM lt 600 mA) unabhaumlngig voneinander ein- und ausgeschaltet sowie in der Drehrichtung uumlber die Ports PA0 und PA1 fuumlr M1 und PA2 und PA3 fuumlr M2 gesteuert werden Z B gilt mit PA0 = PA1 = 0 (M1 ausgeschaltet) PA0 = 1 und PA1 = 0 (M1 dreht sich) PA0 = 0 und PA1 = 1 (M1 dreht sich in Gegenrichtung)

45

43 Quellcodes zum RCL Elektronenbeugung 431 Mikrocontroller-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

46

47

48

49

432 PHP-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

50

51

433 Bedienfeld der Laborseite

Tab 11 erlaumlutert die Funktion der Bloumlcke im Quellcode

Zeilen Funktion 1 Datei defaultconf einbinden 2 Datei headtpl einbinden

5 - 11 Ausgabe der verbleibenden Experimentierzeit 18 - 21 Button zum Einschalten der Elektronenbeugungsroumlhre 28 - 30 Eingabefeld fuumlr die Beschleunigungsspannung

37 Ruumlckmeldung zur eingegebenen Beschleunigungsspannung 42 Datei foottpl einbinden

Tab 11 Funktion der Programmbloumlcke in der Datei experi-menttpl

52

434 Webcamfeld der Laborseite

In Tab 12 ist die Funktion der Programmbloumlcke und die Anpassungen der Vorlage an das RCL Elektronenbeugung beschrieben

Zeilen Funktion Anpassung RCL Elektronenbeugung

5 Titelangabe erscheint als Tabulatorbeschriftung in Browsern

Name des RCLs eintragen

11 - 15 16 - 20

Zwei Javascripts zum getrennten Aufrufen zweier Po-pup-Fenster mit dargestelltem Webcambildern 1 und 2

Javascript 1 die IP-Adresse eintragen Javascript 2 auskommentiert weil nicht benoumltigt

24 - 40 42 - 60

Zwei Javascripts zum Aktualisieren der Webcambilder 1 und 2

Javascript 2 auskommentiert weil nicht benoumltigt

67 - 71 79 - 83

Aufrufen des ersten Webcambilds der Webcams 1 und 2 beim Aufrufen der Datei

Webcambild 2 auskommentiert weil nicht benoumltigt

72 - 78 84 - 90

Buttons zum Aufrufen der Screenshots der Webcam-bilder 1 und 2

Button 2 auskommentiert weil nicht benoumltigt

91 - 95 Zeile der Tabelle zum Eintragen von Informationen die sich auf die Webcambilder oder den Versuch beziehen

Text in Zeile der Tabelle geschrieben

Tab 12 Funktionen der Codeabschnitte in der Datei videohtm und Anpassung der Vor-lage an das RCL Elektronenbeugung

53

44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung Im Folgenden wird die Installation und Konfiguration des AVR-Studios 418 und der Bascom 11198 Demoversion beschrieben Alle Anleitungen sind zeilenweise von links nach rechts zu lesen

441 AVR-Studio 418 4411 Installation Auf der Webseite von ATMEL Register AVR Studio 418 (build 684) anklicken und Registrie-rungsformular ausfuumlllen Danach die Datei AvrStudio418Setup herunterladen Durch Dop-pelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen Next waumlhlen

I accept hellip und Next waumlhlen Installationsordner und Next waumlhlen

54

Installupgrade hellip und Next waumlhlen Install waumlhlen Die Installation beginnt

Finish waumlhlen

4412 Konfiguration AVR Studio 418 in Windows XP Professional unter StartProgramme aufrufen

Startfenster mit Cancel schlieszligen Unter ToolsProgram AVR Auto Connect waumlhlen

55

Im eingeblendeten Fenster auf der Registerkarte Main als Device ATmega16 und als Programming Mode ISP mo-de waumlhlen

Optional kann Signatur gelesen werden

In der Registerkarte Fuses alle Haumlkchen und Auswahlfel-der wie angegeben waumlhlen

Dann Program waumlhlen

442 BASCOM 11198 Demoversion 4421 Installation Auf der Webseite von Bascom unter Bascom AVR Demo die Zip-Datei setupdemoexe her-untergeladen Durch Doppelklick auf den Dateinamen die Installation starten

Next waumlhlen I accept the agreement und Next waumlhlen

56

Next waumlhlen Installationsordner eingeben und Next waumlhlen

Eintrag im Start-Menuuml eingeben und Next waumlhlen Next waumlhlen

Yes restart the computer now und Finish waumlhlen

57

4422 Konfiguration Bascom AVR in Windows XP Professional unter StartProgramme zum Einstellen der Para-meter des Mikrocontrollers und des Terminals aufrufen

OptionsCompilerChip waumlhlen Einstellungen wie im Bild vornehmen und OK waumlhlen

Auf der Registerkarte Communications Einstellungen wie im Bild vornehmen und OK waumlhlen

Unter OptionsCommunication Einstellungen wie im Bild

vornehmen und OK waumlhlen FileNew waumlhlen Unter ToolsTerminal emulator das Terminal aufrufen und

eingeben Die Befehlsliste des RCLs Elektronenbeu-gung wird angezeigt

45 Installation und Konfiguration von Programmen auf dem RCL-Server Im Folgenden wird der Download die Installation und die Konfiguration von Programmen auf dem RCL-Server unter Windows XP Professional beschrieben Alle Anleitungen sind zeilen-weise von links nach rechts zu lesen Die Installation der Programme sollte in der angegebe-nen Reihenfolge erfolgen

58

451 Einrichten des Internet-Zugangs LAN-Verbindung unter StartSystemsteuerungNetzwerkverbindungen aufrufen

Internetprotokoll (TCPIP) und Eigenschaften waumlhlen Folgende IP-Adresse verwenden waumlhlen IP-Adressen ein-

geben und OK waumlhlen

452 Paket XAMPP 174 Unter apache friends - xampp fuumlr windows und XAMPP Windows 174 Installer anklicken und Datei xampp-win32-174-VC6-installerexe speichern Durch Doppelklick auf die Datei die Installation starten

Sprache und Ok waumlhlen Ok waumlhlen

59

Weiter waumlhlen Zielverzeichnis mit Durchsuchen waumlhlen oder eingeben

Apache nicht als Dienst installieren Fertig stellen waumlhlen

Ja waumlhlen Zum Starten des Apache Webservers das Control Panel

unter StartProgrammeXAMPP 173 for Windows mit Start starten Anstelle von Start erscheint Running

Zum Beenden des Apache Webservers Stop waumlhlen Zum Beenden des Control Panels Exit waumlhlen

60

453 Videoserver webcamXP 5 Private Auf der Webseite von Moonware Studios unter webcamXP 55xx die Datei wlite550 herun-terladen Durch Doppelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen I Agree waumlhlen

Next waumlhlen Auszliger webcamXP 5 brauchen keine weiteren Komponen-

ten installiert zu werden

Den vorgeschlagenen Ordner und Install waumlhlen Finish waumlhlen

61

WebcamXP unter StartProgramme aufrufen Zugesandte

Lizenz-Daten in das eingeblendete Fenster eingeben und Register waumlhlen

Beim Starten des Programms stellt webcamXP automa-tisch eine Verbindung zu den am Computer angeschlosse-nen Webcams her

Nach dem Start ist Uumlberwachen gewaumlhlt Durch Rechts-klick mit der Maus auf das Videofenster wird zu jeder Vi-deoquelle ein Kontextmenuuml angezeigt Wird kein Videobild dargestellt das Kontextmenuuml aufrufen Art der Videoquelle waumlhlen (hier USB) und unter den erkannten Videoquellen (hier USB-Videogeraumlt) die gewuumlnschte waumlhlen

Das Videoformat muss fuumlr eine passende Darstellung auf

der Laborseite auf 320 x 240 eingestellt sein Ist das nicht der Fall im Kontextmenuuml unter Video Format einstellen

In gleicher Weise kann eine zweite Videoquelle hinzugefuumlgt werden

In der Registerkarte Web Broadcast kann unter

Broadcast (HTTP) der Videoserver mit Ausschalten ge-stoppt und mit Aktivieren gestartet werden

Zur Zielwahl des Webservers (131246237167 - Internet D16W3X3J - Computer 127001 - Local Host) Videoser-ver stoppen und einstellen Videoserver wieder starten

62

454 Terminalprogramm Hyperterminal Hyperterminal in Windows XP Professional unter StartProgrammeZubehoumlrKommunikation aufrufen

Name der neuen Verbindung - z B Interface - eingeben

und OK waumlhlen Die Verbindung zwischen Computer und Interface wurde

uumlber einen USB-Seriell-Adapter hergestellt Dann erschei-nen zwei zusaumltzliche Eintraumlge (Motorola Comp Modem und COM5) in der Liste Prinzipiell muss eine COMx-Verbindung gewaumlhlt werden

Eigenschaften von COM 5 wie im Bild einstellen und OK

waumlhlen DateiEigenschaften aufrufen und ASCII-Konfiguration

waumlhlen

63

Haken bei Eingegebene Zeichen lokal ausgeben (lokales

Echo) setzen um eingegebenen Zeichen im Hyperterminal zu sehen

Bei funktionsfaumlhiger Verbindung erscheint nach Eingabe von Return die Befehlsliste des Interface

Durch Aufrufen von DateiSpeichern die erstellte Verbin-

dung z B auf dem Desktop speichern Dadurch braucht die Verbindung nicht immer wieder von neuem konfiguriert wer-den

Nach Aufrufen von DateiBeenden die bestehende Verbin-dung mit Ja beenden

64

Wurde ein falscher COM-Port gewaumlhlt reagiert das Inter-

face auf die Eingabe Return nicht Hyperterminal dann beenden

Der COM-Port kann dann nicht unter DateiEigenschaften im Hyperterminal aber unter Eigenschaften des Kontext-menuumls der Datei Interfaceht in der Registerkarte Verbin-den mit geaumlndert werden Dann OK waumlhlen und erneut Verbindung testen

65

455 Fernwartungssoftware TeamViewer 6 Host Auf der Webseite von Teamviewer GmbH unter Fuumlr unbeaufsichtigte Server TeamViewer Vollversion die Datei TeamViewer_Setup-wq herunterladen Das Programm muss auf dem RCL-Server und dem Computer der auf den RCL-Server zugreifen soll installiert werden Durch Doppelklick auf die Datei die Installation starten

Ausfuumlhren waumlhlen Weiter waumlhlen

Fuumlr die private nicht kommerzielle Nutzung ist Teamviewer kostenlos

privat nicht-kommerziell und Weiter waumlhlen

Beide Haumlkchen setzen und Weiter waumlhlen

66

Ja un Weiter waumlhlen Weiter

Computername und Kennwort fuumlr den Zugriff auf den RCL-Server oder den eigenen Computer vergeben Kenn wort notie-ren

Ein Teamviewerkonto ist nicht erforderlich Kann auch spaumlter noch eingerichtet werden

ID fuumlr den Computer auf dem das Programm installiert wird fuumlr Zugriff notieren

Das Programm wird gestartet Standardmaumlszligig vorein-gestellt ist der Start des Programms beim Start des Be-trienssystems

67

46 Selbstbau eines elementaren RCLs 461 Hard- und Software Auch ohne gleich ein vielleicht teures physikalisches Experiment zu steuern laumlsst sich mit wenigen Bauelementen ein elementares RCL realisieren Von einer Webseite im Internet sol-len eine Leuchtdiode (LED) ein- oder ausgeschaltet sowie der Zustand der Leuchtdiode und eines Tasters abgefragt werden An Hard- und Software werden benoumltigt

1 Low-Current-LED 5 mm 2 mA 1 Widerstand 18 kΩ 1 Taster und optional zwei 10-polige Wannenstecker mit ungefaumlhr 10 cm passendem Flachbandkabel und Buchsen

Interface in Basisschaltung Null-Modem-Kabel 12 V DC Steckernetzteil (larr 1)

Installierte Bascom-Demo-Version (larr 42)

AVR ISP-Programmer mit 10-poligem Programmierkabel

Installiertes und konfiguriertes AVR Studio 418 (larr 41)

Installiertes Paket XAMPP (larr 52)

Texteditor wie z B Notepad in Windows XP Professional

Konfigurierte Hyperterminalverbindung (larr 54)

462 Bestuumlckung der Platine Abb 29 zeigt zur Orientierung fuumlr das Einloumlten der Bauelemente die fertig bestuumlckte Platine des Interface

Abb 29 Mit elementarem RCL bestuumlckte Platine

des Interface

LED mit Vorwiderstand und der Taster sind rechts neben dem Mikrocontroller im Lochraster-bereich aufgebaut und uumlber Wannenstecker und Flachbandkabel mit dem Port A des Mikro-controllers verbunden (die drei Bauteile rechts neben dem ATmega16 werden nicht benouml-tigt) Tab 13 erlaumlutert die Schritte zur Bestuumlckung der Platine des Interface

68

Nr Schaltung Erlaumluterung

1

Die Leuchtdiode (LED) mit dem Pluspol (langes Beinchen) an PortA0 (PIN40 oben rechts) des Mikrocontrollers anloumlten

An das kurze Beinchen einen 18kΩ Widerstand loumlten dessen anderes Ende mit der Masse (GND) verbinden

2

Den Taster mit PortA1 (PIN39 = 2 Beinchen von oben rechts) und Masse (GND) verbinden

3

Draufsicht

Belegung des 10-poligen Wannensteckers 1 GND (Masse) im Foto oben links 2 +5 V 3 PortA0 4 PortA1 10 PortA7 im Foto unten rechts

Tab 13 Schritte zum Aufbau des elementaren RCLs

463 Lokal gesteuertes RCL Nachfolgend ist der Basic-Programmcode des Mikrocontrollers zur Steuerung und Abfrage der LED und des Tasters angegeben 01 $regfile = m16DEFdat Microcontroller ATmega16 02 $crystal = 11059200 110592MHz Quarz 03 $baud = 9600 Baudrate 04 05 ---[ Variables ]--------------------------------------------------------------- 06 Dim Rs232kommando As String 10 erst Befehlspuffer dann Kommando 07 Dim Parameter As String 10 Parameter 08 Dim Str_pos As Byte Position von Leerzeichen zur Trennung von Kommando und Pa-rameter 09 10 ---[ Initialisierung ]--------------------------------------------------------- 11 Ddra0 = 1 PortA0 als Ausgang fuumlr LED 12 Porta0 = 0 LED aus 13 Ddra1 = 0 PortA1 als Eingang fuumlr Taster 14 Porta1 = 1 Pull-Up aktivieren 15 16 ---[ Main program loop ]------------------------------------------------------- 17 Do Start der Endlos-Schleife 18 19 If Ischarwaiting() = 1 Then Zeichen uumlber RS232 empfangen 20 Input Rs232kommando neues Kommando lesen 21 Parameter = Parameter initialisieren 22 Str_pos = Instr(rs232kommando ) Leerzeichen im Kommando suchen 23 If Str_pos gt 0 Then falls Leerzeichen dann in Kommando+Parameter zerlegen 24 Incr Str_pos Str_pos soll jetzt auf 1Zeichen des Parameters zeigen 25 Parameter = Mid(rs232kommando Str_pos ) Parameter = Teilstring nach Leerzeichen 26 Parameter = Ucase(parameter) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 27 Str_pos = Str_pos - 2 Str_pos soll jetzt auf letztes Zeichen des Kommandos zeigen 28 Rs232kommando = Left(rs232kommando Str_pos)Kommando = Teilstring vor Leerzeichen 29 Rs232kommando = Ucase(rs232kommando) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 30 End If 31 32 Select Case Rs232kommando Eventhandler Interpretation der Kommandos 33 Case Print Hilfe Hilfeseite anzeigen 34 Print LED on - LED einschalten 35 Print LED off - LED ausschalten 36 Print LED - zeigt Status der LED an 37 Print SW - zeigt Status des Schalters an 38

1K8

LED rotmicroC PortA0(PIN40)

Taster

microC PortA1(PIN39)

1

3

2

69

39 Case LED If Parameter = ON Then LED schalten 40 Porta0 = 1 41 End If 42 If Parameter = OFF Then 43 Porta0 = 0 44 End If 45 46 Case LED If Porta0 = 0 Then Status der LED ausgeben 47 Print LED aus 48 Else 49 Print LED an 50 End If 51 52 Case SW If Pina1 = 1 Then Status des Schalters ausgeben 53 Print Taster offen 54 Else 55 Print Taster geschlossen 56 End If 57 58 Case Else Print gt Rs232kommando lt ungueltiger Befehl - weitere Infos mit Info bei unguumlltigen Eingaben 59 End Select 60 61 End If 62 63 Loop Endlos-Schleife Springe zu Do 64 65 End wird nie erreicht

Der erste Teil des Programms (Zeilen 1 - 15) enthaumllt die Systemparameter Variablen und Initialisierung der Ein- und Ausgaumlnge Der zweite Teil enthaumllt ab Zeile 17 das Hauptpro-gramm in dem Benutzereingaben uumlber die serielle Schnittstelle empfangen interpretiert und in entsprechende Anweisungen umgesetzt werden Tab 14 erlaumlutert den Programmcode de-taillierter

Zeilen Erlaumluterung

1 - 3 Diese Angaben teilen dem Compiler (Bascom) mit welcher Prozessor eingesetzt wird wie schnell dieser getaktet (Quarz) ist und mit welcher Uumlbertragungsgeschwindigkeit die Kommunikation uumlber die serielle Schnittstelle (RS232) mit dem PC erfolgen soll

6 - 8 Es werden drei Variablen genutzt Die Eingabe uumlber die serielle Schnittstelle wird in rs232kommando gespeichert Es wird ein Text der Form Kommando ltLeerzeichengt Parameter erwartet so dass die Variable Parameter den-selbigen aufnimmt Die Variable str_pos wird fuumlr die Trennung von Kommando und Parameter benoumltigt

11 - 14

Mit dem Befehl ddrPX (ddr = data direction) wird festgelegt ob ein Beinchen als Ausgang (=1) oder als Eingang (=0) arbeiten soll Der ATmega16 besitzt 32 Ein-Ausgaumlnge die in vier Ports (P=AD) zu je 8 Pins (X=07) unterteilt sind ddrA0 = 1 legt also das 1 Beinchen (Pin 0) von PortA als Ausgang (=1) fest Mit dem Befehl PortA0 =1 kann dieser Pin dann durch Zuweisen von 1 oder 0 an- bzw ausgeschaltet werden Im Datenblatt erfahren Sie welches der 40 Beinchen des Mikrocontrollers wie bezeichnet wird (Pin-Belegung) Wird ein Beinchen als Eingang verwendet (ddrA1 = 0) koumlnnen Sie optional einen so genannten Pull-Up-Widerstand aktivieren (PortA1=1) oder deaktivieren (PortA1=0) Auch hierzu sollten Sie sich unbedingt mit dem Datenblatt vertraut machen

17 63 Das Hauptprogramm besteht aus einer Endlosschleife d h der Mikrocontroller verrichtet ununterbrochen seinen Job so lange er mit Strom versorgt wird

19 - 30 Falls ein Zeichen uumlber die serielle Schnittstelle empfangen wurde wird dieses und alle folgenden gelesen Anschlie-szligend wird gepruumlft ob der empfangene Text von der Form Kommando ltLeerzeichengt Parameter ist so dass er ge-gebenenfalls in ein Kommando und einen Parameter zerlegt werden kann

32 - 59 Dieser Abschnitt wird mit Event-Handler bezeichnet Hier wird auf die Kommandos (Events) reagiert und die ent-sprechenden Schritte ausgefuumlhrt zB schalten LED je nach Wert der Variablen Parameter an- bzw ausschalten

46 52

In beiden Zeilen wird ein Wert eines Ports abgefragt Unterschiedlich ist dass in Zeile 46 der Status eines Ausgangs abgefragt wird (porta0) und in Zeile 52 der Zustand eines Eingangs (pina0) Die Anweisung IF porta0 = 0 THEN pruumlft (hier ist = ein Vergleich und KEINE Zuweisung) ob zuletzt die LED ausgeschaltet (Zuweisung porta0 = 0) wurde Die Anweisung IF pina1= 1 THEN liest den Status eines Eingangs Hier kann festgestellt werden ob der Eingang uumlber den internen Pull-UP-Widerstand auf +5V liegt (pina1 liefert 1) oder ob der Schalter den Eingang mit Masse (0V) verbindet (pina1 liefert 0)

Tab 14 Erlaumluterung des Mikrocontroller-Programmcodes fuumlr elementares RCL

70

In Bascom AVR eine neue Datei erzeugen (FileNew) den Programmcode ohne Kommenta-re eingeben und mit ProgramCompile (F7) eine Hexadezimaldatei erzeugen Die Hexadezi-maldatei mit dem AVR-Studio und dem AVR-ISP-Programmer in den Mikrocontroller schrei-ben (larr 222 Programmuumlbertragung) Nach dem Verbinden von Computer und Interface per Null-Modem-Kabel kann durch Eingabe von in das konfigurierte Hyperterminal die Befehls-liste in Abb 30 aufgerufen werden

Abb 30 Aufgerufene Befehlsliste im Hyperterminal

Durch Eingabe von LED on oder LED off kann die LED ein- und ausgeschaltet LED zeigt den Status der LED und sw den Status des Tasters an Alternativ zum Hyperterminal kann auch das Terminal in BASCOM unter ToolsTerminal Emulator verwendet werden (larr 422)

464 Ferngesteuertes RCL Zum Ansteuern des Interfaces und zum Bedienen des Versuchsaufbaus uumlber das Internet wird eine Webseite benoumltigt die dem Benutzer alle Bedienelemente des Experiments zur Verfuumlgung stellt

Der Benutzer benoumltigt anklickbare Buttons im Webbrowser

Der Webserver muss die Information welcher Button gedruumlckt wurde empfangen und ein entsprechendes Kommando uumlber die serielle Schnittstelle an das Interface senden

Beide Schritte sind im nachfolgenden PHPHTML-Quellcode zusammengefasst 01 ltDOCTYPE HTML PUBLIC -W3CDTD HTML 401 TransitionalEN httpwwww3orgTRhtml4loosedtdgt 02 lthtmlgt 03 ltheadgt 04 ltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1gt 05 lttitlegtelementares RCLlttitlegt 06 ltheadgt 07 08 ltbodygt 09 ltphp 10 if (isset($_POST[Kommando])) wurde bereits Kommando gesendet 11 if( ( $handle = fopen( COM1 w+ ) ) ) Schnittstelle oumlffnen 12

71

13 throw new Exception( Can not access serial port 2 ) ohne Erfolg 14 15 fwrite( $handle $_POST[Kommando] chr( 13 ) ) Befehl an Interface senden 16 switch ( $_POST[Kommando] ) Antwort von Interface auswerten 17 case LED $tmp = fgets( $handle ) Echo von Interface ignorieren 18 $antwort = fgets( $handle ) Antwort des Interfaces 19 echo Antwort $antwort Ausgabe auf Webseite 20 break switch verlassen 21 22 case SW $tmp = fgets( $handle ) Echo von Interface ignorieren 23 $antwort = fgets( $handle ) Antwort des Interfaces 24 echo Antwort $antwort Ausgabe auf Webseite 25 break switch verlassen 26 27 28 29 fclose( $handle ) Schnittstelle schlieszligen 30 31 else 32 `mode com1 BAUD=9600 PARITY=N data=8 stop=1 xon=off` Schnittstellenparameter setzen 33 34 35 gt 36 37 lth3gtBefehl sendenlth3gt 38 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 39 ltinput type=hidden name=Kommando value=LED ON gt 40 ltinput type=submit value=LED anschalten gt 41 ltformgt 42 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 43 ltinput type=hidden name=Kommando value=LED OFF gt 44 ltinput type=submit value=LED ausschalten gt 45 ltformgt 46 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 47 ltinput type=hidden name=Kommando value=LED gt 48 ltinput type=submit value=LED abfragen gt 49 ltformgt 50 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 51 ltinput type=hidden name=Kommando value=SW gt 52 ltinput type=submit value=Taster abfragen gt 53 ltformgt 54 ltbodygt 55 lthtmlgt Den Quellcode in den Texteditor kopieren und im Ordner htdocs von XAMPP z B unter rclphp speichern HTML-Dateien mit PHP-Code (Zeilen 9-35) muumlssen mit der Erweiterung php gespeichert werden damit der Apache Webserver zwischen HTML-Seiten mit und ohne PHP-Code unterscheiden kann Den installierten Apache Webserver starten (larr 452) und im Adressfeld des Webbrowsers die IP-Adresse http127001rclphp aufrufen Das Bedi-enfeld des elementaren RCLs in Abb 31 wird im Browserfenster angezeigt

72

Abb 31 Laborseite des elementaren RCLs

Im Bedienfeld kann die LED an- und ausgeschaltet sowie der Status von LED und Taster abgefragt werden

  • 0 Warum ein Tutorial zur RCL-Technik
  • 1 Technische Konzeption
    • 11 Einfuumlhrung
    • 12 Wahl der RCL-Technik
      • 2 Lokal gesteuertes RCL
        • 21 Interface
          • 211 Mikrocontroller
          • 212 Basisschaltung und Erweiterungsschaltungen
          • 213 Programmierung des Mikrocontrollers
            • 22 Hyperterminal
            • 23 Positionieren von Objekten
              • 231 Hybrid-Schrittmotoren
              • 232 Schrittmotorsteuerung und Positionierungsmechanik
                  • 3 Ferngesteuertes RCL
                    • 31 RCL-Server
                    • 32 Laborseite
                      • 321 Steuerung des RCLs uumlber das Bedienfeld
                      • 322 Videouumlbertragung im Webcamfeld
                        • 33 Standard-Lernumgebung
                          • 4 ANHANG
                            • 41 Interface in Basisschaltung
                              • 411 Schaltplan und Bauteilliste
                              • 412 Bestuumlckung der Platine
                                • 42 Erweiterungsschaltungen
                                  • 421 Uumlbersicht
                                  • 422 TMC222-Modul zur Schrittmotorsteuerung
                                    • 4221 Schaltplan und Bauteilliste
                                    • 4222 Bestuumlckung der Platine
                                    • 4223 Quellcode des Mikrocontroller-Programms
                                      • 423 Geschaltete Spannungsquellen und Verbraucher
                                      • 424 Steuerung von Gleichstrommotoren
                                        • 43 Quellcodes zum RCL Elektronenbeugung
                                          • 431 Mikrocontroller-Programmierung
                                          • 432 PHP-Programmierung
                                          • 433 Bedienfeld der Laborseite
                                          • 434 Webcamfeld der Laborseite
                                            • 44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung
                                              • 441 AVR-Studio 418
                                                • 4411 Installation
                                                • 4412 Konfiguration
                                                  • 442 BASCOM 11198 Demoversion
                                                    • 4421 Installation
                                                    • 4422 Konfiguration
                                                        • 45 Installation und Konfiguration von Programmen auf dem RCL-Server
                                                          • 451 Einrichten des Internet-Zugangs
                                                          • 452 Paket XAMPP 174
                                                          • 453 Videoserver webcamXP 5 Private
                                                          • 454 Terminalprogramm Hyperterminal
                                                          • 455 Fernwartungssoftware TeamViewer 6 Host
                                                            • 46 Selbstbau eines elementaren RCLs
                                                              • 461 Hard- und Software
                                                              • 462 Bestuumlckung der Platine
                                                              • 463 Lokal gesteuertes RCL
                                                              • 464 Ferngesteuertes RCL

44

Sollen Gleichstrommotoren zum Bewegen von Objekten mit dem Mikrocontroller gesteuert werden dann eignet sich dazu der in Abb 28 dargestellte beschaltete IC L293D

Abb 28 Beschaltung des L293D zum

Steuern zweier Gleichstrom-motoren

Mit Pin 1 = Pin 9 = 1 (High) koumlnnen zwei Gleichstrommotoren M1 und M2 (Versorgungs-spannung UM lt 36 V Spulendauerstrom IM lt 600 mA) unabhaumlngig voneinander ein- und ausgeschaltet sowie in der Drehrichtung uumlber die Ports PA0 und PA1 fuumlr M1 und PA2 und PA3 fuumlr M2 gesteuert werden Z B gilt mit PA0 = PA1 = 0 (M1 ausgeschaltet) PA0 = 1 und PA1 = 0 (M1 dreht sich) PA0 = 0 und PA1 = 1 (M1 dreht sich in Gegenrichtung)

45

43 Quellcodes zum RCL Elektronenbeugung 431 Mikrocontroller-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

46

47

48

49

432 PHP-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

50

51

433 Bedienfeld der Laborseite

Tab 11 erlaumlutert die Funktion der Bloumlcke im Quellcode

Zeilen Funktion 1 Datei defaultconf einbinden 2 Datei headtpl einbinden

5 - 11 Ausgabe der verbleibenden Experimentierzeit 18 - 21 Button zum Einschalten der Elektronenbeugungsroumlhre 28 - 30 Eingabefeld fuumlr die Beschleunigungsspannung

37 Ruumlckmeldung zur eingegebenen Beschleunigungsspannung 42 Datei foottpl einbinden

Tab 11 Funktion der Programmbloumlcke in der Datei experi-menttpl

52

434 Webcamfeld der Laborseite

In Tab 12 ist die Funktion der Programmbloumlcke und die Anpassungen der Vorlage an das RCL Elektronenbeugung beschrieben

Zeilen Funktion Anpassung RCL Elektronenbeugung

5 Titelangabe erscheint als Tabulatorbeschriftung in Browsern

Name des RCLs eintragen

11 - 15 16 - 20

Zwei Javascripts zum getrennten Aufrufen zweier Po-pup-Fenster mit dargestelltem Webcambildern 1 und 2

Javascript 1 die IP-Adresse eintragen Javascript 2 auskommentiert weil nicht benoumltigt

24 - 40 42 - 60

Zwei Javascripts zum Aktualisieren der Webcambilder 1 und 2

Javascript 2 auskommentiert weil nicht benoumltigt

67 - 71 79 - 83

Aufrufen des ersten Webcambilds der Webcams 1 und 2 beim Aufrufen der Datei

Webcambild 2 auskommentiert weil nicht benoumltigt

72 - 78 84 - 90

Buttons zum Aufrufen der Screenshots der Webcam-bilder 1 und 2

Button 2 auskommentiert weil nicht benoumltigt

91 - 95 Zeile der Tabelle zum Eintragen von Informationen die sich auf die Webcambilder oder den Versuch beziehen

Text in Zeile der Tabelle geschrieben

Tab 12 Funktionen der Codeabschnitte in der Datei videohtm und Anpassung der Vor-lage an das RCL Elektronenbeugung

53

44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung Im Folgenden wird die Installation und Konfiguration des AVR-Studios 418 und der Bascom 11198 Demoversion beschrieben Alle Anleitungen sind zeilenweise von links nach rechts zu lesen

441 AVR-Studio 418 4411 Installation Auf der Webseite von ATMEL Register AVR Studio 418 (build 684) anklicken und Registrie-rungsformular ausfuumlllen Danach die Datei AvrStudio418Setup herunterladen Durch Dop-pelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen Next waumlhlen

I accept hellip und Next waumlhlen Installationsordner und Next waumlhlen

54

Installupgrade hellip und Next waumlhlen Install waumlhlen Die Installation beginnt

Finish waumlhlen

4412 Konfiguration AVR Studio 418 in Windows XP Professional unter StartProgramme aufrufen

Startfenster mit Cancel schlieszligen Unter ToolsProgram AVR Auto Connect waumlhlen

55

Im eingeblendeten Fenster auf der Registerkarte Main als Device ATmega16 und als Programming Mode ISP mo-de waumlhlen

Optional kann Signatur gelesen werden

In der Registerkarte Fuses alle Haumlkchen und Auswahlfel-der wie angegeben waumlhlen

Dann Program waumlhlen

442 BASCOM 11198 Demoversion 4421 Installation Auf der Webseite von Bascom unter Bascom AVR Demo die Zip-Datei setupdemoexe her-untergeladen Durch Doppelklick auf den Dateinamen die Installation starten

Next waumlhlen I accept the agreement und Next waumlhlen

56

Next waumlhlen Installationsordner eingeben und Next waumlhlen

Eintrag im Start-Menuuml eingeben und Next waumlhlen Next waumlhlen

Yes restart the computer now und Finish waumlhlen

57

4422 Konfiguration Bascom AVR in Windows XP Professional unter StartProgramme zum Einstellen der Para-meter des Mikrocontrollers und des Terminals aufrufen

OptionsCompilerChip waumlhlen Einstellungen wie im Bild vornehmen und OK waumlhlen

Auf der Registerkarte Communications Einstellungen wie im Bild vornehmen und OK waumlhlen

Unter OptionsCommunication Einstellungen wie im Bild

vornehmen und OK waumlhlen FileNew waumlhlen Unter ToolsTerminal emulator das Terminal aufrufen und

eingeben Die Befehlsliste des RCLs Elektronenbeu-gung wird angezeigt

45 Installation und Konfiguration von Programmen auf dem RCL-Server Im Folgenden wird der Download die Installation und die Konfiguration von Programmen auf dem RCL-Server unter Windows XP Professional beschrieben Alle Anleitungen sind zeilen-weise von links nach rechts zu lesen Die Installation der Programme sollte in der angegebe-nen Reihenfolge erfolgen

58

451 Einrichten des Internet-Zugangs LAN-Verbindung unter StartSystemsteuerungNetzwerkverbindungen aufrufen

Internetprotokoll (TCPIP) und Eigenschaften waumlhlen Folgende IP-Adresse verwenden waumlhlen IP-Adressen ein-

geben und OK waumlhlen

452 Paket XAMPP 174 Unter apache friends - xampp fuumlr windows und XAMPP Windows 174 Installer anklicken und Datei xampp-win32-174-VC6-installerexe speichern Durch Doppelklick auf die Datei die Installation starten

Sprache und Ok waumlhlen Ok waumlhlen

59

Weiter waumlhlen Zielverzeichnis mit Durchsuchen waumlhlen oder eingeben

Apache nicht als Dienst installieren Fertig stellen waumlhlen

Ja waumlhlen Zum Starten des Apache Webservers das Control Panel

unter StartProgrammeXAMPP 173 for Windows mit Start starten Anstelle von Start erscheint Running

Zum Beenden des Apache Webservers Stop waumlhlen Zum Beenden des Control Panels Exit waumlhlen

60

453 Videoserver webcamXP 5 Private Auf der Webseite von Moonware Studios unter webcamXP 55xx die Datei wlite550 herun-terladen Durch Doppelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen I Agree waumlhlen

Next waumlhlen Auszliger webcamXP 5 brauchen keine weiteren Komponen-

ten installiert zu werden

Den vorgeschlagenen Ordner und Install waumlhlen Finish waumlhlen

61

WebcamXP unter StartProgramme aufrufen Zugesandte

Lizenz-Daten in das eingeblendete Fenster eingeben und Register waumlhlen

Beim Starten des Programms stellt webcamXP automa-tisch eine Verbindung zu den am Computer angeschlosse-nen Webcams her

Nach dem Start ist Uumlberwachen gewaumlhlt Durch Rechts-klick mit der Maus auf das Videofenster wird zu jeder Vi-deoquelle ein Kontextmenuuml angezeigt Wird kein Videobild dargestellt das Kontextmenuuml aufrufen Art der Videoquelle waumlhlen (hier USB) und unter den erkannten Videoquellen (hier USB-Videogeraumlt) die gewuumlnschte waumlhlen

Das Videoformat muss fuumlr eine passende Darstellung auf

der Laborseite auf 320 x 240 eingestellt sein Ist das nicht der Fall im Kontextmenuuml unter Video Format einstellen

In gleicher Weise kann eine zweite Videoquelle hinzugefuumlgt werden

In der Registerkarte Web Broadcast kann unter

Broadcast (HTTP) der Videoserver mit Ausschalten ge-stoppt und mit Aktivieren gestartet werden

Zur Zielwahl des Webservers (131246237167 - Internet D16W3X3J - Computer 127001 - Local Host) Videoser-ver stoppen und einstellen Videoserver wieder starten

62

454 Terminalprogramm Hyperterminal Hyperterminal in Windows XP Professional unter StartProgrammeZubehoumlrKommunikation aufrufen

Name der neuen Verbindung - z B Interface - eingeben

und OK waumlhlen Die Verbindung zwischen Computer und Interface wurde

uumlber einen USB-Seriell-Adapter hergestellt Dann erschei-nen zwei zusaumltzliche Eintraumlge (Motorola Comp Modem und COM5) in der Liste Prinzipiell muss eine COMx-Verbindung gewaumlhlt werden

Eigenschaften von COM 5 wie im Bild einstellen und OK

waumlhlen DateiEigenschaften aufrufen und ASCII-Konfiguration

waumlhlen

63

Haken bei Eingegebene Zeichen lokal ausgeben (lokales

Echo) setzen um eingegebenen Zeichen im Hyperterminal zu sehen

Bei funktionsfaumlhiger Verbindung erscheint nach Eingabe von Return die Befehlsliste des Interface

Durch Aufrufen von DateiSpeichern die erstellte Verbin-

dung z B auf dem Desktop speichern Dadurch braucht die Verbindung nicht immer wieder von neuem konfiguriert wer-den

Nach Aufrufen von DateiBeenden die bestehende Verbin-dung mit Ja beenden

64

Wurde ein falscher COM-Port gewaumlhlt reagiert das Inter-

face auf die Eingabe Return nicht Hyperterminal dann beenden

Der COM-Port kann dann nicht unter DateiEigenschaften im Hyperterminal aber unter Eigenschaften des Kontext-menuumls der Datei Interfaceht in der Registerkarte Verbin-den mit geaumlndert werden Dann OK waumlhlen und erneut Verbindung testen

65

455 Fernwartungssoftware TeamViewer 6 Host Auf der Webseite von Teamviewer GmbH unter Fuumlr unbeaufsichtigte Server TeamViewer Vollversion die Datei TeamViewer_Setup-wq herunterladen Das Programm muss auf dem RCL-Server und dem Computer der auf den RCL-Server zugreifen soll installiert werden Durch Doppelklick auf die Datei die Installation starten

Ausfuumlhren waumlhlen Weiter waumlhlen

Fuumlr die private nicht kommerzielle Nutzung ist Teamviewer kostenlos

privat nicht-kommerziell und Weiter waumlhlen

Beide Haumlkchen setzen und Weiter waumlhlen

66

Ja un Weiter waumlhlen Weiter

Computername und Kennwort fuumlr den Zugriff auf den RCL-Server oder den eigenen Computer vergeben Kenn wort notie-ren

Ein Teamviewerkonto ist nicht erforderlich Kann auch spaumlter noch eingerichtet werden

ID fuumlr den Computer auf dem das Programm installiert wird fuumlr Zugriff notieren

Das Programm wird gestartet Standardmaumlszligig vorein-gestellt ist der Start des Programms beim Start des Be-trienssystems

67

46 Selbstbau eines elementaren RCLs 461 Hard- und Software Auch ohne gleich ein vielleicht teures physikalisches Experiment zu steuern laumlsst sich mit wenigen Bauelementen ein elementares RCL realisieren Von einer Webseite im Internet sol-len eine Leuchtdiode (LED) ein- oder ausgeschaltet sowie der Zustand der Leuchtdiode und eines Tasters abgefragt werden An Hard- und Software werden benoumltigt

1 Low-Current-LED 5 mm 2 mA 1 Widerstand 18 kΩ 1 Taster und optional zwei 10-polige Wannenstecker mit ungefaumlhr 10 cm passendem Flachbandkabel und Buchsen

Interface in Basisschaltung Null-Modem-Kabel 12 V DC Steckernetzteil (larr 1)

Installierte Bascom-Demo-Version (larr 42)

AVR ISP-Programmer mit 10-poligem Programmierkabel

Installiertes und konfiguriertes AVR Studio 418 (larr 41)

Installiertes Paket XAMPP (larr 52)

Texteditor wie z B Notepad in Windows XP Professional

Konfigurierte Hyperterminalverbindung (larr 54)

462 Bestuumlckung der Platine Abb 29 zeigt zur Orientierung fuumlr das Einloumlten der Bauelemente die fertig bestuumlckte Platine des Interface

Abb 29 Mit elementarem RCL bestuumlckte Platine

des Interface

LED mit Vorwiderstand und der Taster sind rechts neben dem Mikrocontroller im Lochraster-bereich aufgebaut und uumlber Wannenstecker und Flachbandkabel mit dem Port A des Mikro-controllers verbunden (die drei Bauteile rechts neben dem ATmega16 werden nicht benouml-tigt) Tab 13 erlaumlutert die Schritte zur Bestuumlckung der Platine des Interface

68

Nr Schaltung Erlaumluterung

1

Die Leuchtdiode (LED) mit dem Pluspol (langes Beinchen) an PortA0 (PIN40 oben rechts) des Mikrocontrollers anloumlten

An das kurze Beinchen einen 18kΩ Widerstand loumlten dessen anderes Ende mit der Masse (GND) verbinden

2

Den Taster mit PortA1 (PIN39 = 2 Beinchen von oben rechts) und Masse (GND) verbinden

3

Draufsicht

Belegung des 10-poligen Wannensteckers 1 GND (Masse) im Foto oben links 2 +5 V 3 PortA0 4 PortA1 10 PortA7 im Foto unten rechts

Tab 13 Schritte zum Aufbau des elementaren RCLs

463 Lokal gesteuertes RCL Nachfolgend ist der Basic-Programmcode des Mikrocontrollers zur Steuerung und Abfrage der LED und des Tasters angegeben 01 $regfile = m16DEFdat Microcontroller ATmega16 02 $crystal = 11059200 110592MHz Quarz 03 $baud = 9600 Baudrate 04 05 ---[ Variables ]--------------------------------------------------------------- 06 Dim Rs232kommando As String 10 erst Befehlspuffer dann Kommando 07 Dim Parameter As String 10 Parameter 08 Dim Str_pos As Byte Position von Leerzeichen zur Trennung von Kommando und Pa-rameter 09 10 ---[ Initialisierung ]--------------------------------------------------------- 11 Ddra0 = 1 PortA0 als Ausgang fuumlr LED 12 Porta0 = 0 LED aus 13 Ddra1 = 0 PortA1 als Eingang fuumlr Taster 14 Porta1 = 1 Pull-Up aktivieren 15 16 ---[ Main program loop ]------------------------------------------------------- 17 Do Start der Endlos-Schleife 18 19 If Ischarwaiting() = 1 Then Zeichen uumlber RS232 empfangen 20 Input Rs232kommando neues Kommando lesen 21 Parameter = Parameter initialisieren 22 Str_pos = Instr(rs232kommando ) Leerzeichen im Kommando suchen 23 If Str_pos gt 0 Then falls Leerzeichen dann in Kommando+Parameter zerlegen 24 Incr Str_pos Str_pos soll jetzt auf 1Zeichen des Parameters zeigen 25 Parameter = Mid(rs232kommando Str_pos ) Parameter = Teilstring nach Leerzeichen 26 Parameter = Ucase(parameter) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 27 Str_pos = Str_pos - 2 Str_pos soll jetzt auf letztes Zeichen des Kommandos zeigen 28 Rs232kommando = Left(rs232kommando Str_pos)Kommando = Teilstring vor Leerzeichen 29 Rs232kommando = Ucase(rs232kommando) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 30 End If 31 32 Select Case Rs232kommando Eventhandler Interpretation der Kommandos 33 Case Print Hilfe Hilfeseite anzeigen 34 Print LED on - LED einschalten 35 Print LED off - LED ausschalten 36 Print LED - zeigt Status der LED an 37 Print SW - zeigt Status des Schalters an 38

1K8

LED rotmicroC PortA0(PIN40)

Taster

microC PortA1(PIN39)

1

3

2

69

39 Case LED If Parameter = ON Then LED schalten 40 Porta0 = 1 41 End If 42 If Parameter = OFF Then 43 Porta0 = 0 44 End If 45 46 Case LED If Porta0 = 0 Then Status der LED ausgeben 47 Print LED aus 48 Else 49 Print LED an 50 End If 51 52 Case SW If Pina1 = 1 Then Status des Schalters ausgeben 53 Print Taster offen 54 Else 55 Print Taster geschlossen 56 End If 57 58 Case Else Print gt Rs232kommando lt ungueltiger Befehl - weitere Infos mit Info bei unguumlltigen Eingaben 59 End Select 60 61 End If 62 63 Loop Endlos-Schleife Springe zu Do 64 65 End wird nie erreicht

Der erste Teil des Programms (Zeilen 1 - 15) enthaumllt die Systemparameter Variablen und Initialisierung der Ein- und Ausgaumlnge Der zweite Teil enthaumllt ab Zeile 17 das Hauptpro-gramm in dem Benutzereingaben uumlber die serielle Schnittstelle empfangen interpretiert und in entsprechende Anweisungen umgesetzt werden Tab 14 erlaumlutert den Programmcode de-taillierter

Zeilen Erlaumluterung

1 - 3 Diese Angaben teilen dem Compiler (Bascom) mit welcher Prozessor eingesetzt wird wie schnell dieser getaktet (Quarz) ist und mit welcher Uumlbertragungsgeschwindigkeit die Kommunikation uumlber die serielle Schnittstelle (RS232) mit dem PC erfolgen soll

6 - 8 Es werden drei Variablen genutzt Die Eingabe uumlber die serielle Schnittstelle wird in rs232kommando gespeichert Es wird ein Text der Form Kommando ltLeerzeichengt Parameter erwartet so dass die Variable Parameter den-selbigen aufnimmt Die Variable str_pos wird fuumlr die Trennung von Kommando und Parameter benoumltigt

11 - 14

Mit dem Befehl ddrPX (ddr = data direction) wird festgelegt ob ein Beinchen als Ausgang (=1) oder als Eingang (=0) arbeiten soll Der ATmega16 besitzt 32 Ein-Ausgaumlnge die in vier Ports (P=AD) zu je 8 Pins (X=07) unterteilt sind ddrA0 = 1 legt also das 1 Beinchen (Pin 0) von PortA als Ausgang (=1) fest Mit dem Befehl PortA0 =1 kann dieser Pin dann durch Zuweisen von 1 oder 0 an- bzw ausgeschaltet werden Im Datenblatt erfahren Sie welches der 40 Beinchen des Mikrocontrollers wie bezeichnet wird (Pin-Belegung) Wird ein Beinchen als Eingang verwendet (ddrA1 = 0) koumlnnen Sie optional einen so genannten Pull-Up-Widerstand aktivieren (PortA1=1) oder deaktivieren (PortA1=0) Auch hierzu sollten Sie sich unbedingt mit dem Datenblatt vertraut machen

17 63 Das Hauptprogramm besteht aus einer Endlosschleife d h der Mikrocontroller verrichtet ununterbrochen seinen Job so lange er mit Strom versorgt wird

19 - 30 Falls ein Zeichen uumlber die serielle Schnittstelle empfangen wurde wird dieses und alle folgenden gelesen Anschlie-szligend wird gepruumlft ob der empfangene Text von der Form Kommando ltLeerzeichengt Parameter ist so dass er ge-gebenenfalls in ein Kommando und einen Parameter zerlegt werden kann

32 - 59 Dieser Abschnitt wird mit Event-Handler bezeichnet Hier wird auf die Kommandos (Events) reagiert und die ent-sprechenden Schritte ausgefuumlhrt zB schalten LED je nach Wert der Variablen Parameter an- bzw ausschalten

46 52

In beiden Zeilen wird ein Wert eines Ports abgefragt Unterschiedlich ist dass in Zeile 46 der Status eines Ausgangs abgefragt wird (porta0) und in Zeile 52 der Zustand eines Eingangs (pina0) Die Anweisung IF porta0 = 0 THEN pruumlft (hier ist = ein Vergleich und KEINE Zuweisung) ob zuletzt die LED ausgeschaltet (Zuweisung porta0 = 0) wurde Die Anweisung IF pina1= 1 THEN liest den Status eines Eingangs Hier kann festgestellt werden ob der Eingang uumlber den internen Pull-UP-Widerstand auf +5V liegt (pina1 liefert 1) oder ob der Schalter den Eingang mit Masse (0V) verbindet (pina1 liefert 0)

Tab 14 Erlaumluterung des Mikrocontroller-Programmcodes fuumlr elementares RCL

70

In Bascom AVR eine neue Datei erzeugen (FileNew) den Programmcode ohne Kommenta-re eingeben und mit ProgramCompile (F7) eine Hexadezimaldatei erzeugen Die Hexadezi-maldatei mit dem AVR-Studio und dem AVR-ISP-Programmer in den Mikrocontroller schrei-ben (larr 222 Programmuumlbertragung) Nach dem Verbinden von Computer und Interface per Null-Modem-Kabel kann durch Eingabe von in das konfigurierte Hyperterminal die Befehls-liste in Abb 30 aufgerufen werden

Abb 30 Aufgerufene Befehlsliste im Hyperterminal

Durch Eingabe von LED on oder LED off kann die LED ein- und ausgeschaltet LED zeigt den Status der LED und sw den Status des Tasters an Alternativ zum Hyperterminal kann auch das Terminal in BASCOM unter ToolsTerminal Emulator verwendet werden (larr 422)

464 Ferngesteuertes RCL Zum Ansteuern des Interfaces und zum Bedienen des Versuchsaufbaus uumlber das Internet wird eine Webseite benoumltigt die dem Benutzer alle Bedienelemente des Experiments zur Verfuumlgung stellt

Der Benutzer benoumltigt anklickbare Buttons im Webbrowser

Der Webserver muss die Information welcher Button gedruumlckt wurde empfangen und ein entsprechendes Kommando uumlber die serielle Schnittstelle an das Interface senden

Beide Schritte sind im nachfolgenden PHPHTML-Quellcode zusammengefasst 01 ltDOCTYPE HTML PUBLIC -W3CDTD HTML 401 TransitionalEN httpwwww3orgTRhtml4loosedtdgt 02 lthtmlgt 03 ltheadgt 04 ltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1gt 05 lttitlegtelementares RCLlttitlegt 06 ltheadgt 07 08 ltbodygt 09 ltphp 10 if (isset($_POST[Kommando])) wurde bereits Kommando gesendet 11 if( ( $handle = fopen( COM1 w+ ) ) ) Schnittstelle oumlffnen 12

71

13 throw new Exception( Can not access serial port 2 ) ohne Erfolg 14 15 fwrite( $handle $_POST[Kommando] chr( 13 ) ) Befehl an Interface senden 16 switch ( $_POST[Kommando] ) Antwort von Interface auswerten 17 case LED $tmp = fgets( $handle ) Echo von Interface ignorieren 18 $antwort = fgets( $handle ) Antwort des Interfaces 19 echo Antwort $antwort Ausgabe auf Webseite 20 break switch verlassen 21 22 case SW $tmp = fgets( $handle ) Echo von Interface ignorieren 23 $antwort = fgets( $handle ) Antwort des Interfaces 24 echo Antwort $antwort Ausgabe auf Webseite 25 break switch verlassen 26 27 28 29 fclose( $handle ) Schnittstelle schlieszligen 30 31 else 32 `mode com1 BAUD=9600 PARITY=N data=8 stop=1 xon=off` Schnittstellenparameter setzen 33 34 35 gt 36 37 lth3gtBefehl sendenlth3gt 38 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 39 ltinput type=hidden name=Kommando value=LED ON gt 40 ltinput type=submit value=LED anschalten gt 41 ltformgt 42 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 43 ltinput type=hidden name=Kommando value=LED OFF gt 44 ltinput type=submit value=LED ausschalten gt 45 ltformgt 46 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 47 ltinput type=hidden name=Kommando value=LED gt 48 ltinput type=submit value=LED abfragen gt 49 ltformgt 50 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 51 ltinput type=hidden name=Kommando value=SW gt 52 ltinput type=submit value=Taster abfragen gt 53 ltformgt 54 ltbodygt 55 lthtmlgt Den Quellcode in den Texteditor kopieren und im Ordner htdocs von XAMPP z B unter rclphp speichern HTML-Dateien mit PHP-Code (Zeilen 9-35) muumlssen mit der Erweiterung php gespeichert werden damit der Apache Webserver zwischen HTML-Seiten mit und ohne PHP-Code unterscheiden kann Den installierten Apache Webserver starten (larr 452) und im Adressfeld des Webbrowsers die IP-Adresse http127001rclphp aufrufen Das Bedi-enfeld des elementaren RCLs in Abb 31 wird im Browserfenster angezeigt

72

Abb 31 Laborseite des elementaren RCLs

Im Bedienfeld kann die LED an- und ausgeschaltet sowie der Status von LED und Taster abgefragt werden

  • 0 Warum ein Tutorial zur RCL-Technik
  • 1 Technische Konzeption
    • 11 Einfuumlhrung
    • 12 Wahl der RCL-Technik
      • 2 Lokal gesteuertes RCL
        • 21 Interface
          • 211 Mikrocontroller
          • 212 Basisschaltung und Erweiterungsschaltungen
          • 213 Programmierung des Mikrocontrollers
            • 22 Hyperterminal
            • 23 Positionieren von Objekten
              • 231 Hybrid-Schrittmotoren
              • 232 Schrittmotorsteuerung und Positionierungsmechanik
                  • 3 Ferngesteuertes RCL
                    • 31 RCL-Server
                    • 32 Laborseite
                      • 321 Steuerung des RCLs uumlber das Bedienfeld
                      • 322 Videouumlbertragung im Webcamfeld
                        • 33 Standard-Lernumgebung
                          • 4 ANHANG
                            • 41 Interface in Basisschaltung
                              • 411 Schaltplan und Bauteilliste
                              • 412 Bestuumlckung der Platine
                                • 42 Erweiterungsschaltungen
                                  • 421 Uumlbersicht
                                  • 422 TMC222-Modul zur Schrittmotorsteuerung
                                    • 4221 Schaltplan und Bauteilliste
                                    • 4222 Bestuumlckung der Platine
                                    • 4223 Quellcode des Mikrocontroller-Programms
                                      • 423 Geschaltete Spannungsquellen und Verbraucher
                                      • 424 Steuerung von Gleichstrommotoren
                                        • 43 Quellcodes zum RCL Elektronenbeugung
                                          • 431 Mikrocontroller-Programmierung
                                          • 432 PHP-Programmierung
                                          • 433 Bedienfeld der Laborseite
                                          • 434 Webcamfeld der Laborseite
                                            • 44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung
                                              • 441 AVR-Studio 418
                                                • 4411 Installation
                                                • 4412 Konfiguration
                                                  • 442 BASCOM 11198 Demoversion
                                                    • 4421 Installation
                                                    • 4422 Konfiguration
                                                        • 45 Installation und Konfiguration von Programmen auf dem RCL-Server
                                                          • 451 Einrichten des Internet-Zugangs
                                                          • 452 Paket XAMPP 174
                                                          • 453 Videoserver webcamXP 5 Private
                                                          • 454 Terminalprogramm Hyperterminal
                                                          • 455 Fernwartungssoftware TeamViewer 6 Host
                                                            • 46 Selbstbau eines elementaren RCLs
                                                              • 461 Hard- und Software
                                                              • 462 Bestuumlckung der Platine
                                                              • 463 Lokal gesteuertes RCL
                                                              • 464 Ferngesteuertes RCL

45

43 Quellcodes zum RCL Elektronenbeugung 431 Mikrocontroller-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

46

47

48

49

432 PHP-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

50

51

433 Bedienfeld der Laborseite

Tab 11 erlaumlutert die Funktion der Bloumlcke im Quellcode

Zeilen Funktion 1 Datei defaultconf einbinden 2 Datei headtpl einbinden

5 - 11 Ausgabe der verbleibenden Experimentierzeit 18 - 21 Button zum Einschalten der Elektronenbeugungsroumlhre 28 - 30 Eingabefeld fuumlr die Beschleunigungsspannung

37 Ruumlckmeldung zur eingegebenen Beschleunigungsspannung 42 Datei foottpl einbinden

Tab 11 Funktion der Programmbloumlcke in der Datei experi-menttpl

52

434 Webcamfeld der Laborseite

In Tab 12 ist die Funktion der Programmbloumlcke und die Anpassungen der Vorlage an das RCL Elektronenbeugung beschrieben

Zeilen Funktion Anpassung RCL Elektronenbeugung

5 Titelangabe erscheint als Tabulatorbeschriftung in Browsern

Name des RCLs eintragen

11 - 15 16 - 20

Zwei Javascripts zum getrennten Aufrufen zweier Po-pup-Fenster mit dargestelltem Webcambildern 1 und 2

Javascript 1 die IP-Adresse eintragen Javascript 2 auskommentiert weil nicht benoumltigt

24 - 40 42 - 60

Zwei Javascripts zum Aktualisieren der Webcambilder 1 und 2

Javascript 2 auskommentiert weil nicht benoumltigt

67 - 71 79 - 83

Aufrufen des ersten Webcambilds der Webcams 1 und 2 beim Aufrufen der Datei

Webcambild 2 auskommentiert weil nicht benoumltigt

72 - 78 84 - 90

Buttons zum Aufrufen der Screenshots der Webcam-bilder 1 und 2

Button 2 auskommentiert weil nicht benoumltigt

91 - 95 Zeile der Tabelle zum Eintragen von Informationen die sich auf die Webcambilder oder den Versuch beziehen

Text in Zeile der Tabelle geschrieben

Tab 12 Funktionen der Codeabschnitte in der Datei videohtm und Anpassung der Vor-lage an das RCL Elektronenbeugung

53

44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung Im Folgenden wird die Installation und Konfiguration des AVR-Studios 418 und der Bascom 11198 Demoversion beschrieben Alle Anleitungen sind zeilenweise von links nach rechts zu lesen

441 AVR-Studio 418 4411 Installation Auf der Webseite von ATMEL Register AVR Studio 418 (build 684) anklicken und Registrie-rungsformular ausfuumlllen Danach die Datei AvrStudio418Setup herunterladen Durch Dop-pelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen Next waumlhlen

I accept hellip und Next waumlhlen Installationsordner und Next waumlhlen

54

Installupgrade hellip und Next waumlhlen Install waumlhlen Die Installation beginnt

Finish waumlhlen

4412 Konfiguration AVR Studio 418 in Windows XP Professional unter StartProgramme aufrufen

Startfenster mit Cancel schlieszligen Unter ToolsProgram AVR Auto Connect waumlhlen

55

Im eingeblendeten Fenster auf der Registerkarte Main als Device ATmega16 und als Programming Mode ISP mo-de waumlhlen

Optional kann Signatur gelesen werden

In der Registerkarte Fuses alle Haumlkchen und Auswahlfel-der wie angegeben waumlhlen

Dann Program waumlhlen

442 BASCOM 11198 Demoversion 4421 Installation Auf der Webseite von Bascom unter Bascom AVR Demo die Zip-Datei setupdemoexe her-untergeladen Durch Doppelklick auf den Dateinamen die Installation starten

Next waumlhlen I accept the agreement und Next waumlhlen

56

Next waumlhlen Installationsordner eingeben und Next waumlhlen

Eintrag im Start-Menuuml eingeben und Next waumlhlen Next waumlhlen

Yes restart the computer now und Finish waumlhlen

57

4422 Konfiguration Bascom AVR in Windows XP Professional unter StartProgramme zum Einstellen der Para-meter des Mikrocontrollers und des Terminals aufrufen

OptionsCompilerChip waumlhlen Einstellungen wie im Bild vornehmen und OK waumlhlen

Auf der Registerkarte Communications Einstellungen wie im Bild vornehmen und OK waumlhlen

Unter OptionsCommunication Einstellungen wie im Bild

vornehmen und OK waumlhlen FileNew waumlhlen Unter ToolsTerminal emulator das Terminal aufrufen und

eingeben Die Befehlsliste des RCLs Elektronenbeu-gung wird angezeigt

45 Installation und Konfiguration von Programmen auf dem RCL-Server Im Folgenden wird der Download die Installation und die Konfiguration von Programmen auf dem RCL-Server unter Windows XP Professional beschrieben Alle Anleitungen sind zeilen-weise von links nach rechts zu lesen Die Installation der Programme sollte in der angegebe-nen Reihenfolge erfolgen

58

451 Einrichten des Internet-Zugangs LAN-Verbindung unter StartSystemsteuerungNetzwerkverbindungen aufrufen

Internetprotokoll (TCPIP) und Eigenschaften waumlhlen Folgende IP-Adresse verwenden waumlhlen IP-Adressen ein-

geben und OK waumlhlen

452 Paket XAMPP 174 Unter apache friends - xampp fuumlr windows und XAMPP Windows 174 Installer anklicken und Datei xampp-win32-174-VC6-installerexe speichern Durch Doppelklick auf die Datei die Installation starten

Sprache und Ok waumlhlen Ok waumlhlen

59

Weiter waumlhlen Zielverzeichnis mit Durchsuchen waumlhlen oder eingeben

Apache nicht als Dienst installieren Fertig stellen waumlhlen

Ja waumlhlen Zum Starten des Apache Webservers das Control Panel

unter StartProgrammeXAMPP 173 for Windows mit Start starten Anstelle von Start erscheint Running

Zum Beenden des Apache Webservers Stop waumlhlen Zum Beenden des Control Panels Exit waumlhlen

60

453 Videoserver webcamXP 5 Private Auf der Webseite von Moonware Studios unter webcamXP 55xx die Datei wlite550 herun-terladen Durch Doppelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen I Agree waumlhlen

Next waumlhlen Auszliger webcamXP 5 brauchen keine weiteren Komponen-

ten installiert zu werden

Den vorgeschlagenen Ordner und Install waumlhlen Finish waumlhlen

61

WebcamXP unter StartProgramme aufrufen Zugesandte

Lizenz-Daten in das eingeblendete Fenster eingeben und Register waumlhlen

Beim Starten des Programms stellt webcamXP automa-tisch eine Verbindung zu den am Computer angeschlosse-nen Webcams her

Nach dem Start ist Uumlberwachen gewaumlhlt Durch Rechts-klick mit der Maus auf das Videofenster wird zu jeder Vi-deoquelle ein Kontextmenuuml angezeigt Wird kein Videobild dargestellt das Kontextmenuuml aufrufen Art der Videoquelle waumlhlen (hier USB) und unter den erkannten Videoquellen (hier USB-Videogeraumlt) die gewuumlnschte waumlhlen

Das Videoformat muss fuumlr eine passende Darstellung auf

der Laborseite auf 320 x 240 eingestellt sein Ist das nicht der Fall im Kontextmenuuml unter Video Format einstellen

In gleicher Weise kann eine zweite Videoquelle hinzugefuumlgt werden

In der Registerkarte Web Broadcast kann unter

Broadcast (HTTP) der Videoserver mit Ausschalten ge-stoppt und mit Aktivieren gestartet werden

Zur Zielwahl des Webservers (131246237167 - Internet D16W3X3J - Computer 127001 - Local Host) Videoser-ver stoppen und einstellen Videoserver wieder starten

62

454 Terminalprogramm Hyperterminal Hyperterminal in Windows XP Professional unter StartProgrammeZubehoumlrKommunikation aufrufen

Name der neuen Verbindung - z B Interface - eingeben

und OK waumlhlen Die Verbindung zwischen Computer und Interface wurde

uumlber einen USB-Seriell-Adapter hergestellt Dann erschei-nen zwei zusaumltzliche Eintraumlge (Motorola Comp Modem und COM5) in der Liste Prinzipiell muss eine COMx-Verbindung gewaumlhlt werden

Eigenschaften von COM 5 wie im Bild einstellen und OK

waumlhlen DateiEigenschaften aufrufen und ASCII-Konfiguration

waumlhlen

63

Haken bei Eingegebene Zeichen lokal ausgeben (lokales

Echo) setzen um eingegebenen Zeichen im Hyperterminal zu sehen

Bei funktionsfaumlhiger Verbindung erscheint nach Eingabe von Return die Befehlsliste des Interface

Durch Aufrufen von DateiSpeichern die erstellte Verbin-

dung z B auf dem Desktop speichern Dadurch braucht die Verbindung nicht immer wieder von neuem konfiguriert wer-den

Nach Aufrufen von DateiBeenden die bestehende Verbin-dung mit Ja beenden

64

Wurde ein falscher COM-Port gewaumlhlt reagiert das Inter-

face auf die Eingabe Return nicht Hyperterminal dann beenden

Der COM-Port kann dann nicht unter DateiEigenschaften im Hyperterminal aber unter Eigenschaften des Kontext-menuumls der Datei Interfaceht in der Registerkarte Verbin-den mit geaumlndert werden Dann OK waumlhlen und erneut Verbindung testen

65

455 Fernwartungssoftware TeamViewer 6 Host Auf der Webseite von Teamviewer GmbH unter Fuumlr unbeaufsichtigte Server TeamViewer Vollversion die Datei TeamViewer_Setup-wq herunterladen Das Programm muss auf dem RCL-Server und dem Computer der auf den RCL-Server zugreifen soll installiert werden Durch Doppelklick auf die Datei die Installation starten

Ausfuumlhren waumlhlen Weiter waumlhlen

Fuumlr die private nicht kommerzielle Nutzung ist Teamviewer kostenlos

privat nicht-kommerziell und Weiter waumlhlen

Beide Haumlkchen setzen und Weiter waumlhlen

66

Ja un Weiter waumlhlen Weiter

Computername und Kennwort fuumlr den Zugriff auf den RCL-Server oder den eigenen Computer vergeben Kenn wort notie-ren

Ein Teamviewerkonto ist nicht erforderlich Kann auch spaumlter noch eingerichtet werden

ID fuumlr den Computer auf dem das Programm installiert wird fuumlr Zugriff notieren

Das Programm wird gestartet Standardmaumlszligig vorein-gestellt ist der Start des Programms beim Start des Be-trienssystems

67

46 Selbstbau eines elementaren RCLs 461 Hard- und Software Auch ohne gleich ein vielleicht teures physikalisches Experiment zu steuern laumlsst sich mit wenigen Bauelementen ein elementares RCL realisieren Von einer Webseite im Internet sol-len eine Leuchtdiode (LED) ein- oder ausgeschaltet sowie der Zustand der Leuchtdiode und eines Tasters abgefragt werden An Hard- und Software werden benoumltigt

1 Low-Current-LED 5 mm 2 mA 1 Widerstand 18 kΩ 1 Taster und optional zwei 10-polige Wannenstecker mit ungefaumlhr 10 cm passendem Flachbandkabel und Buchsen

Interface in Basisschaltung Null-Modem-Kabel 12 V DC Steckernetzteil (larr 1)

Installierte Bascom-Demo-Version (larr 42)

AVR ISP-Programmer mit 10-poligem Programmierkabel

Installiertes und konfiguriertes AVR Studio 418 (larr 41)

Installiertes Paket XAMPP (larr 52)

Texteditor wie z B Notepad in Windows XP Professional

Konfigurierte Hyperterminalverbindung (larr 54)

462 Bestuumlckung der Platine Abb 29 zeigt zur Orientierung fuumlr das Einloumlten der Bauelemente die fertig bestuumlckte Platine des Interface

Abb 29 Mit elementarem RCL bestuumlckte Platine

des Interface

LED mit Vorwiderstand und der Taster sind rechts neben dem Mikrocontroller im Lochraster-bereich aufgebaut und uumlber Wannenstecker und Flachbandkabel mit dem Port A des Mikro-controllers verbunden (die drei Bauteile rechts neben dem ATmega16 werden nicht benouml-tigt) Tab 13 erlaumlutert die Schritte zur Bestuumlckung der Platine des Interface

68

Nr Schaltung Erlaumluterung

1

Die Leuchtdiode (LED) mit dem Pluspol (langes Beinchen) an PortA0 (PIN40 oben rechts) des Mikrocontrollers anloumlten

An das kurze Beinchen einen 18kΩ Widerstand loumlten dessen anderes Ende mit der Masse (GND) verbinden

2

Den Taster mit PortA1 (PIN39 = 2 Beinchen von oben rechts) und Masse (GND) verbinden

3

Draufsicht

Belegung des 10-poligen Wannensteckers 1 GND (Masse) im Foto oben links 2 +5 V 3 PortA0 4 PortA1 10 PortA7 im Foto unten rechts

Tab 13 Schritte zum Aufbau des elementaren RCLs

463 Lokal gesteuertes RCL Nachfolgend ist der Basic-Programmcode des Mikrocontrollers zur Steuerung und Abfrage der LED und des Tasters angegeben 01 $regfile = m16DEFdat Microcontroller ATmega16 02 $crystal = 11059200 110592MHz Quarz 03 $baud = 9600 Baudrate 04 05 ---[ Variables ]--------------------------------------------------------------- 06 Dim Rs232kommando As String 10 erst Befehlspuffer dann Kommando 07 Dim Parameter As String 10 Parameter 08 Dim Str_pos As Byte Position von Leerzeichen zur Trennung von Kommando und Pa-rameter 09 10 ---[ Initialisierung ]--------------------------------------------------------- 11 Ddra0 = 1 PortA0 als Ausgang fuumlr LED 12 Porta0 = 0 LED aus 13 Ddra1 = 0 PortA1 als Eingang fuumlr Taster 14 Porta1 = 1 Pull-Up aktivieren 15 16 ---[ Main program loop ]------------------------------------------------------- 17 Do Start der Endlos-Schleife 18 19 If Ischarwaiting() = 1 Then Zeichen uumlber RS232 empfangen 20 Input Rs232kommando neues Kommando lesen 21 Parameter = Parameter initialisieren 22 Str_pos = Instr(rs232kommando ) Leerzeichen im Kommando suchen 23 If Str_pos gt 0 Then falls Leerzeichen dann in Kommando+Parameter zerlegen 24 Incr Str_pos Str_pos soll jetzt auf 1Zeichen des Parameters zeigen 25 Parameter = Mid(rs232kommando Str_pos ) Parameter = Teilstring nach Leerzeichen 26 Parameter = Ucase(parameter) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 27 Str_pos = Str_pos - 2 Str_pos soll jetzt auf letztes Zeichen des Kommandos zeigen 28 Rs232kommando = Left(rs232kommando Str_pos)Kommando = Teilstring vor Leerzeichen 29 Rs232kommando = Ucase(rs232kommando) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 30 End If 31 32 Select Case Rs232kommando Eventhandler Interpretation der Kommandos 33 Case Print Hilfe Hilfeseite anzeigen 34 Print LED on - LED einschalten 35 Print LED off - LED ausschalten 36 Print LED - zeigt Status der LED an 37 Print SW - zeigt Status des Schalters an 38

1K8

LED rotmicroC PortA0(PIN40)

Taster

microC PortA1(PIN39)

1

3

2

69

39 Case LED If Parameter = ON Then LED schalten 40 Porta0 = 1 41 End If 42 If Parameter = OFF Then 43 Porta0 = 0 44 End If 45 46 Case LED If Porta0 = 0 Then Status der LED ausgeben 47 Print LED aus 48 Else 49 Print LED an 50 End If 51 52 Case SW If Pina1 = 1 Then Status des Schalters ausgeben 53 Print Taster offen 54 Else 55 Print Taster geschlossen 56 End If 57 58 Case Else Print gt Rs232kommando lt ungueltiger Befehl - weitere Infos mit Info bei unguumlltigen Eingaben 59 End Select 60 61 End If 62 63 Loop Endlos-Schleife Springe zu Do 64 65 End wird nie erreicht

Der erste Teil des Programms (Zeilen 1 - 15) enthaumllt die Systemparameter Variablen und Initialisierung der Ein- und Ausgaumlnge Der zweite Teil enthaumllt ab Zeile 17 das Hauptpro-gramm in dem Benutzereingaben uumlber die serielle Schnittstelle empfangen interpretiert und in entsprechende Anweisungen umgesetzt werden Tab 14 erlaumlutert den Programmcode de-taillierter

Zeilen Erlaumluterung

1 - 3 Diese Angaben teilen dem Compiler (Bascom) mit welcher Prozessor eingesetzt wird wie schnell dieser getaktet (Quarz) ist und mit welcher Uumlbertragungsgeschwindigkeit die Kommunikation uumlber die serielle Schnittstelle (RS232) mit dem PC erfolgen soll

6 - 8 Es werden drei Variablen genutzt Die Eingabe uumlber die serielle Schnittstelle wird in rs232kommando gespeichert Es wird ein Text der Form Kommando ltLeerzeichengt Parameter erwartet so dass die Variable Parameter den-selbigen aufnimmt Die Variable str_pos wird fuumlr die Trennung von Kommando und Parameter benoumltigt

11 - 14

Mit dem Befehl ddrPX (ddr = data direction) wird festgelegt ob ein Beinchen als Ausgang (=1) oder als Eingang (=0) arbeiten soll Der ATmega16 besitzt 32 Ein-Ausgaumlnge die in vier Ports (P=AD) zu je 8 Pins (X=07) unterteilt sind ddrA0 = 1 legt also das 1 Beinchen (Pin 0) von PortA als Ausgang (=1) fest Mit dem Befehl PortA0 =1 kann dieser Pin dann durch Zuweisen von 1 oder 0 an- bzw ausgeschaltet werden Im Datenblatt erfahren Sie welches der 40 Beinchen des Mikrocontrollers wie bezeichnet wird (Pin-Belegung) Wird ein Beinchen als Eingang verwendet (ddrA1 = 0) koumlnnen Sie optional einen so genannten Pull-Up-Widerstand aktivieren (PortA1=1) oder deaktivieren (PortA1=0) Auch hierzu sollten Sie sich unbedingt mit dem Datenblatt vertraut machen

17 63 Das Hauptprogramm besteht aus einer Endlosschleife d h der Mikrocontroller verrichtet ununterbrochen seinen Job so lange er mit Strom versorgt wird

19 - 30 Falls ein Zeichen uumlber die serielle Schnittstelle empfangen wurde wird dieses und alle folgenden gelesen Anschlie-szligend wird gepruumlft ob der empfangene Text von der Form Kommando ltLeerzeichengt Parameter ist so dass er ge-gebenenfalls in ein Kommando und einen Parameter zerlegt werden kann

32 - 59 Dieser Abschnitt wird mit Event-Handler bezeichnet Hier wird auf die Kommandos (Events) reagiert und die ent-sprechenden Schritte ausgefuumlhrt zB schalten LED je nach Wert der Variablen Parameter an- bzw ausschalten

46 52

In beiden Zeilen wird ein Wert eines Ports abgefragt Unterschiedlich ist dass in Zeile 46 der Status eines Ausgangs abgefragt wird (porta0) und in Zeile 52 der Zustand eines Eingangs (pina0) Die Anweisung IF porta0 = 0 THEN pruumlft (hier ist = ein Vergleich und KEINE Zuweisung) ob zuletzt die LED ausgeschaltet (Zuweisung porta0 = 0) wurde Die Anweisung IF pina1= 1 THEN liest den Status eines Eingangs Hier kann festgestellt werden ob der Eingang uumlber den internen Pull-UP-Widerstand auf +5V liegt (pina1 liefert 1) oder ob der Schalter den Eingang mit Masse (0V) verbindet (pina1 liefert 0)

Tab 14 Erlaumluterung des Mikrocontroller-Programmcodes fuumlr elementares RCL

70

In Bascom AVR eine neue Datei erzeugen (FileNew) den Programmcode ohne Kommenta-re eingeben und mit ProgramCompile (F7) eine Hexadezimaldatei erzeugen Die Hexadezi-maldatei mit dem AVR-Studio und dem AVR-ISP-Programmer in den Mikrocontroller schrei-ben (larr 222 Programmuumlbertragung) Nach dem Verbinden von Computer und Interface per Null-Modem-Kabel kann durch Eingabe von in das konfigurierte Hyperterminal die Befehls-liste in Abb 30 aufgerufen werden

Abb 30 Aufgerufene Befehlsliste im Hyperterminal

Durch Eingabe von LED on oder LED off kann die LED ein- und ausgeschaltet LED zeigt den Status der LED und sw den Status des Tasters an Alternativ zum Hyperterminal kann auch das Terminal in BASCOM unter ToolsTerminal Emulator verwendet werden (larr 422)

464 Ferngesteuertes RCL Zum Ansteuern des Interfaces und zum Bedienen des Versuchsaufbaus uumlber das Internet wird eine Webseite benoumltigt die dem Benutzer alle Bedienelemente des Experiments zur Verfuumlgung stellt

Der Benutzer benoumltigt anklickbare Buttons im Webbrowser

Der Webserver muss die Information welcher Button gedruumlckt wurde empfangen und ein entsprechendes Kommando uumlber die serielle Schnittstelle an das Interface senden

Beide Schritte sind im nachfolgenden PHPHTML-Quellcode zusammengefasst 01 ltDOCTYPE HTML PUBLIC -W3CDTD HTML 401 TransitionalEN httpwwww3orgTRhtml4loosedtdgt 02 lthtmlgt 03 ltheadgt 04 ltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1gt 05 lttitlegtelementares RCLlttitlegt 06 ltheadgt 07 08 ltbodygt 09 ltphp 10 if (isset($_POST[Kommando])) wurde bereits Kommando gesendet 11 if( ( $handle = fopen( COM1 w+ ) ) ) Schnittstelle oumlffnen 12

71

13 throw new Exception( Can not access serial port 2 ) ohne Erfolg 14 15 fwrite( $handle $_POST[Kommando] chr( 13 ) ) Befehl an Interface senden 16 switch ( $_POST[Kommando] ) Antwort von Interface auswerten 17 case LED $tmp = fgets( $handle ) Echo von Interface ignorieren 18 $antwort = fgets( $handle ) Antwort des Interfaces 19 echo Antwort $antwort Ausgabe auf Webseite 20 break switch verlassen 21 22 case SW $tmp = fgets( $handle ) Echo von Interface ignorieren 23 $antwort = fgets( $handle ) Antwort des Interfaces 24 echo Antwort $antwort Ausgabe auf Webseite 25 break switch verlassen 26 27 28 29 fclose( $handle ) Schnittstelle schlieszligen 30 31 else 32 `mode com1 BAUD=9600 PARITY=N data=8 stop=1 xon=off` Schnittstellenparameter setzen 33 34 35 gt 36 37 lth3gtBefehl sendenlth3gt 38 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 39 ltinput type=hidden name=Kommando value=LED ON gt 40 ltinput type=submit value=LED anschalten gt 41 ltformgt 42 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 43 ltinput type=hidden name=Kommando value=LED OFF gt 44 ltinput type=submit value=LED ausschalten gt 45 ltformgt 46 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 47 ltinput type=hidden name=Kommando value=LED gt 48 ltinput type=submit value=LED abfragen gt 49 ltformgt 50 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 51 ltinput type=hidden name=Kommando value=SW gt 52 ltinput type=submit value=Taster abfragen gt 53 ltformgt 54 ltbodygt 55 lthtmlgt Den Quellcode in den Texteditor kopieren und im Ordner htdocs von XAMPP z B unter rclphp speichern HTML-Dateien mit PHP-Code (Zeilen 9-35) muumlssen mit der Erweiterung php gespeichert werden damit der Apache Webserver zwischen HTML-Seiten mit und ohne PHP-Code unterscheiden kann Den installierten Apache Webserver starten (larr 452) und im Adressfeld des Webbrowsers die IP-Adresse http127001rclphp aufrufen Das Bedi-enfeld des elementaren RCLs in Abb 31 wird im Browserfenster angezeigt

72

Abb 31 Laborseite des elementaren RCLs

Im Bedienfeld kann die LED an- und ausgeschaltet sowie der Status von LED und Taster abgefragt werden

  • 0 Warum ein Tutorial zur RCL-Technik
  • 1 Technische Konzeption
    • 11 Einfuumlhrung
    • 12 Wahl der RCL-Technik
      • 2 Lokal gesteuertes RCL
        • 21 Interface
          • 211 Mikrocontroller
          • 212 Basisschaltung und Erweiterungsschaltungen
          • 213 Programmierung des Mikrocontrollers
            • 22 Hyperterminal
            • 23 Positionieren von Objekten
              • 231 Hybrid-Schrittmotoren
              • 232 Schrittmotorsteuerung und Positionierungsmechanik
                  • 3 Ferngesteuertes RCL
                    • 31 RCL-Server
                    • 32 Laborseite
                      • 321 Steuerung des RCLs uumlber das Bedienfeld
                      • 322 Videouumlbertragung im Webcamfeld
                        • 33 Standard-Lernumgebung
                          • 4 ANHANG
                            • 41 Interface in Basisschaltung
                              • 411 Schaltplan und Bauteilliste
                              • 412 Bestuumlckung der Platine
                                • 42 Erweiterungsschaltungen
                                  • 421 Uumlbersicht
                                  • 422 TMC222-Modul zur Schrittmotorsteuerung
                                    • 4221 Schaltplan und Bauteilliste
                                    • 4222 Bestuumlckung der Platine
                                    • 4223 Quellcode des Mikrocontroller-Programms
                                      • 423 Geschaltete Spannungsquellen und Verbraucher
                                      • 424 Steuerung von Gleichstrommotoren
                                        • 43 Quellcodes zum RCL Elektronenbeugung
                                          • 431 Mikrocontroller-Programmierung
                                          • 432 PHP-Programmierung
                                          • 433 Bedienfeld der Laborseite
                                          • 434 Webcamfeld der Laborseite
                                            • 44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung
                                              • 441 AVR-Studio 418
                                                • 4411 Installation
                                                • 4412 Konfiguration
                                                  • 442 BASCOM 11198 Demoversion
                                                    • 4421 Installation
                                                    • 4422 Konfiguration
                                                        • 45 Installation und Konfiguration von Programmen auf dem RCL-Server
                                                          • 451 Einrichten des Internet-Zugangs
                                                          • 452 Paket XAMPP 174
                                                          • 453 Videoserver webcamXP 5 Private
                                                          • 454 Terminalprogramm Hyperterminal
                                                          • 455 Fernwartungssoftware TeamViewer 6 Host
                                                            • 46 Selbstbau eines elementaren RCLs
                                                              • 461 Hard- und Software
                                                              • 462 Bestuumlckung der Platine
                                                              • 463 Lokal gesteuertes RCL
                                                              • 464 Ferngesteuertes RCL

46

47

48

49

432 PHP-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

50

51

433 Bedienfeld der Laborseite

Tab 11 erlaumlutert die Funktion der Bloumlcke im Quellcode

Zeilen Funktion 1 Datei defaultconf einbinden 2 Datei headtpl einbinden

5 - 11 Ausgabe der verbleibenden Experimentierzeit 18 - 21 Button zum Einschalten der Elektronenbeugungsroumlhre 28 - 30 Eingabefeld fuumlr die Beschleunigungsspannung

37 Ruumlckmeldung zur eingegebenen Beschleunigungsspannung 42 Datei foottpl einbinden

Tab 11 Funktion der Programmbloumlcke in der Datei experi-menttpl

52

434 Webcamfeld der Laborseite

In Tab 12 ist die Funktion der Programmbloumlcke und die Anpassungen der Vorlage an das RCL Elektronenbeugung beschrieben

Zeilen Funktion Anpassung RCL Elektronenbeugung

5 Titelangabe erscheint als Tabulatorbeschriftung in Browsern

Name des RCLs eintragen

11 - 15 16 - 20

Zwei Javascripts zum getrennten Aufrufen zweier Po-pup-Fenster mit dargestelltem Webcambildern 1 und 2

Javascript 1 die IP-Adresse eintragen Javascript 2 auskommentiert weil nicht benoumltigt

24 - 40 42 - 60

Zwei Javascripts zum Aktualisieren der Webcambilder 1 und 2

Javascript 2 auskommentiert weil nicht benoumltigt

67 - 71 79 - 83

Aufrufen des ersten Webcambilds der Webcams 1 und 2 beim Aufrufen der Datei

Webcambild 2 auskommentiert weil nicht benoumltigt

72 - 78 84 - 90

Buttons zum Aufrufen der Screenshots der Webcam-bilder 1 und 2

Button 2 auskommentiert weil nicht benoumltigt

91 - 95 Zeile der Tabelle zum Eintragen von Informationen die sich auf die Webcambilder oder den Versuch beziehen

Text in Zeile der Tabelle geschrieben

Tab 12 Funktionen der Codeabschnitte in der Datei videohtm und Anpassung der Vor-lage an das RCL Elektronenbeugung

53

44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung Im Folgenden wird die Installation und Konfiguration des AVR-Studios 418 und der Bascom 11198 Demoversion beschrieben Alle Anleitungen sind zeilenweise von links nach rechts zu lesen

441 AVR-Studio 418 4411 Installation Auf der Webseite von ATMEL Register AVR Studio 418 (build 684) anklicken und Registrie-rungsformular ausfuumlllen Danach die Datei AvrStudio418Setup herunterladen Durch Dop-pelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen Next waumlhlen

I accept hellip und Next waumlhlen Installationsordner und Next waumlhlen

54

Installupgrade hellip und Next waumlhlen Install waumlhlen Die Installation beginnt

Finish waumlhlen

4412 Konfiguration AVR Studio 418 in Windows XP Professional unter StartProgramme aufrufen

Startfenster mit Cancel schlieszligen Unter ToolsProgram AVR Auto Connect waumlhlen

55

Im eingeblendeten Fenster auf der Registerkarte Main als Device ATmega16 und als Programming Mode ISP mo-de waumlhlen

Optional kann Signatur gelesen werden

In der Registerkarte Fuses alle Haumlkchen und Auswahlfel-der wie angegeben waumlhlen

Dann Program waumlhlen

442 BASCOM 11198 Demoversion 4421 Installation Auf der Webseite von Bascom unter Bascom AVR Demo die Zip-Datei setupdemoexe her-untergeladen Durch Doppelklick auf den Dateinamen die Installation starten

Next waumlhlen I accept the agreement und Next waumlhlen

56

Next waumlhlen Installationsordner eingeben und Next waumlhlen

Eintrag im Start-Menuuml eingeben und Next waumlhlen Next waumlhlen

Yes restart the computer now und Finish waumlhlen

57

4422 Konfiguration Bascom AVR in Windows XP Professional unter StartProgramme zum Einstellen der Para-meter des Mikrocontrollers und des Terminals aufrufen

OptionsCompilerChip waumlhlen Einstellungen wie im Bild vornehmen und OK waumlhlen

Auf der Registerkarte Communications Einstellungen wie im Bild vornehmen und OK waumlhlen

Unter OptionsCommunication Einstellungen wie im Bild

vornehmen und OK waumlhlen FileNew waumlhlen Unter ToolsTerminal emulator das Terminal aufrufen und

eingeben Die Befehlsliste des RCLs Elektronenbeu-gung wird angezeigt

45 Installation und Konfiguration von Programmen auf dem RCL-Server Im Folgenden wird der Download die Installation und die Konfiguration von Programmen auf dem RCL-Server unter Windows XP Professional beschrieben Alle Anleitungen sind zeilen-weise von links nach rechts zu lesen Die Installation der Programme sollte in der angegebe-nen Reihenfolge erfolgen

58

451 Einrichten des Internet-Zugangs LAN-Verbindung unter StartSystemsteuerungNetzwerkverbindungen aufrufen

Internetprotokoll (TCPIP) und Eigenschaften waumlhlen Folgende IP-Adresse verwenden waumlhlen IP-Adressen ein-

geben und OK waumlhlen

452 Paket XAMPP 174 Unter apache friends - xampp fuumlr windows und XAMPP Windows 174 Installer anklicken und Datei xampp-win32-174-VC6-installerexe speichern Durch Doppelklick auf die Datei die Installation starten

Sprache und Ok waumlhlen Ok waumlhlen

59

Weiter waumlhlen Zielverzeichnis mit Durchsuchen waumlhlen oder eingeben

Apache nicht als Dienst installieren Fertig stellen waumlhlen

Ja waumlhlen Zum Starten des Apache Webservers das Control Panel

unter StartProgrammeXAMPP 173 for Windows mit Start starten Anstelle von Start erscheint Running

Zum Beenden des Apache Webservers Stop waumlhlen Zum Beenden des Control Panels Exit waumlhlen

60

453 Videoserver webcamXP 5 Private Auf der Webseite von Moonware Studios unter webcamXP 55xx die Datei wlite550 herun-terladen Durch Doppelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen I Agree waumlhlen

Next waumlhlen Auszliger webcamXP 5 brauchen keine weiteren Komponen-

ten installiert zu werden

Den vorgeschlagenen Ordner und Install waumlhlen Finish waumlhlen

61

WebcamXP unter StartProgramme aufrufen Zugesandte

Lizenz-Daten in das eingeblendete Fenster eingeben und Register waumlhlen

Beim Starten des Programms stellt webcamXP automa-tisch eine Verbindung zu den am Computer angeschlosse-nen Webcams her

Nach dem Start ist Uumlberwachen gewaumlhlt Durch Rechts-klick mit der Maus auf das Videofenster wird zu jeder Vi-deoquelle ein Kontextmenuuml angezeigt Wird kein Videobild dargestellt das Kontextmenuuml aufrufen Art der Videoquelle waumlhlen (hier USB) und unter den erkannten Videoquellen (hier USB-Videogeraumlt) die gewuumlnschte waumlhlen

Das Videoformat muss fuumlr eine passende Darstellung auf

der Laborseite auf 320 x 240 eingestellt sein Ist das nicht der Fall im Kontextmenuuml unter Video Format einstellen

In gleicher Weise kann eine zweite Videoquelle hinzugefuumlgt werden

In der Registerkarte Web Broadcast kann unter

Broadcast (HTTP) der Videoserver mit Ausschalten ge-stoppt und mit Aktivieren gestartet werden

Zur Zielwahl des Webservers (131246237167 - Internet D16W3X3J - Computer 127001 - Local Host) Videoser-ver stoppen und einstellen Videoserver wieder starten

62

454 Terminalprogramm Hyperterminal Hyperterminal in Windows XP Professional unter StartProgrammeZubehoumlrKommunikation aufrufen

Name der neuen Verbindung - z B Interface - eingeben

und OK waumlhlen Die Verbindung zwischen Computer und Interface wurde

uumlber einen USB-Seriell-Adapter hergestellt Dann erschei-nen zwei zusaumltzliche Eintraumlge (Motorola Comp Modem und COM5) in der Liste Prinzipiell muss eine COMx-Verbindung gewaumlhlt werden

Eigenschaften von COM 5 wie im Bild einstellen und OK

waumlhlen DateiEigenschaften aufrufen und ASCII-Konfiguration

waumlhlen

63

Haken bei Eingegebene Zeichen lokal ausgeben (lokales

Echo) setzen um eingegebenen Zeichen im Hyperterminal zu sehen

Bei funktionsfaumlhiger Verbindung erscheint nach Eingabe von Return die Befehlsliste des Interface

Durch Aufrufen von DateiSpeichern die erstellte Verbin-

dung z B auf dem Desktop speichern Dadurch braucht die Verbindung nicht immer wieder von neuem konfiguriert wer-den

Nach Aufrufen von DateiBeenden die bestehende Verbin-dung mit Ja beenden

64

Wurde ein falscher COM-Port gewaumlhlt reagiert das Inter-

face auf die Eingabe Return nicht Hyperterminal dann beenden

Der COM-Port kann dann nicht unter DateiEigenschaften im Hyperterminal aber unter Eigenschaften des Kontext-menuumls der Datei Interfaceht in der Registerkarte Verbin-den mit geaumlndert werden Dann OK waumlhlen und erneut Verbindung testen

65

455 Fernwartungssoftware TeamViewer 6 Host Auf der Webseite von Teamviewer GmbH unter Fuumlr unbeaufsichtigte Server TeamViewer Vollversion die Datei TeamViewer_Setup-wq herunterladen Das Programm muss auf dem RCL-Server und dem Computer der auf den RCL-Server zugreifen soll installiert werden Durch Doppelklick auf die Datei die Installation starten

Ausfuumlhren waumlhlen Weiter waumlhlen

Fuumlr die private nicht kommerzielle Nutzung ist Teamviewer kostenlos

privat nicht-kommerziell und Weiter waumlhlen

Beide Haumlkchen setzen und Weiter waumlhlen

66

Ja un Weiter waumlhlen Weiter

Computername und Kennwort fuumlr den Zugriff auf den RCL-Server oder den eigenen Computer vergeben Kenn wort notie-ren

Ein Teamviewerkonto ist nicht erforderlich Kann auch spaumlter noch eingerichtet werden

ID fuumlr den Computer auf dem das Programm installiert wird fuumlr Zugriff notieren

Das Programm wird gestartet Standardmaumlszligig vorein-gestellt ist der Start des Programms beim Start des Be-trienssystems

67

46 Selbstbau eines elementaren RCLs 461 Hard- und Software Auch ohne gleich ein vielleicht teures physikalisches Experiment zu steuern laumlsst sich mit wenigen Bauelementen ein elementares RCL realisieren Von einer Webseite im Internet sol-len eine Leuchtdiode (LED) ein- oder ausgeschaltet sowie der Zustand der Leuchtdiode und eines Tasters abgefragt werden An Hard- und Software werden benoumltigt

1 Low-Current-LED 5 mm 2 mA 1 Widerstand 18 kΩ 1 Taster und optional zwei 10-polige Wannenstecker mit ungefaumlhr 10 cm passendem Flachbandkabel und Buchsen

Interface in Basisschaltung Null-Modem-Kabel 12 V DC Steckernetzteil (larr 1)

Installierte Bascom-Demo-Version (larr 42)

AVR ISP-Programmer mit 10-poligem Programmierkabel

Installiertes und konfiguriertes AVR Studio 418 (larr 41)

Installiertes Paket XAMPP (larr 52)

Texteditor wie z B Notepad in Windows XP Professional

Konfigurierte Hyperterminalverbindung (larr 54)

462 Bestuumlckung der Platine Abb 29 zeigt zur Orientierung fuumlr das Einloumlten der Bauelemente die fertig bestuumlckte Platine des Interface

Abb 29 Mit elementarem RCL bestuumlckte Platine

des Interface

LED mit Vorwiderstand und der Taster sind rechts neben dem Mikrocontroller im Lochraster-bereich aufgebaut und uumlber Wannenstecker und Flachbandkabel mit dem Port A des Mikro-controllers verbunden (die drei Bauteile rechts neben dem ATmega16 werden nicht benouml-tigt) Tab 13 erlaumlutert die Schritte zur Bestuumlckung der Platine des Interface

68

Nr Schaltung Erlaumluterung

1

Die Leuchtdiode (LED) mit dem Pluspol (langes Beinchen) an PortA0 (PIN40 oben rechts) des Mikrocontrollers anloumlten

An das kurze Beinchen einen 18kΩ Widerstand loumlten dessen anderes Ende mit der Masse (GND) verbinden

2

Den Taster mit PortA1 (PIN39 = 2 Beinchen von oben rechts) und Masse (GND) verbinden

3

Draufsicht

Belegung des 10-poligen Wannensteckers 1 GND (Masse) im Foto oben links 2 +5 V 3 PortA0 4 PortA1 10 PortA7 im Foto unten rechts

Tab 13 Schritte zum Aufbau des elementaren RCLs

463 Lokal gesteuertes RCL Nachfolgend ist der Basic-Programmcode des Mikrocontrollers zur Steuerung und Abfrage der LED und des Tasters angegeben 01 $regfile = m16DEFdat Microcontroller ATmega16 02 $crystal = 11059200 110592MHz Quarz 03 $baud = 9600 Baudrate 04 05 ---[ Variables ]--------------------------------------------------------------- 06 Dim Rs232kommando As String 10 erst Befehlspuffer dann Kommando 07 Dim Parameter As String 10 Parameter 08 Dim Str_pos As Byte Position von Leerzeichen zur Trennung von Kommando und Pa-rameter 09 10 ---[ Initialisierung ]--------------------------------------------------------- 11 Ddra0 = 1 PortA0 als Ausgang fuumlr LED 12 Porta0 = 0 LED aus 13 Ddra1 = 0 PortA1 als Eingang fuumlr Taster 14 Porta1 = 1 Pull-Up aktivieren 15 16 ---[ Main program loop ]------------------------------------------------------- 17 Do Start der Endlos-Schleife 18 19 If Ischarwaiting() = 1 Then Zeichen uumlber RS232 empfangen 20 Input Rs232kommando neues Kommando lesen 21 Parameter = Parameter initialisieren 22 Str_pos = Instr(rs232kommando ) Leerzeichen im Kommando suchen 23 If Str_pos gt 0 Then falls Leerzeichen dann in Kommando+Parameter zerlegen 24 Incr Str_pos Str_pos soll jetzt auf 1Zeichen des Parameters zeigen 25 Parameter = Mid(rs232kommando Str_pos ) Parameter = Teilstring nach Leerzeichen 26 Parameter = Ucase(parameter) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 27 Str_pos = Str_pos - 2 Str_pos soll jetzt auf letztes Zeichen des Kommandos zeigen 28 Rs232kommando = Left(rs232kommando Str_pos)Kommando = Teilstring vor Leerzeichen 29 Rs232kommando = Ucase(rs232kommando) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 30 End If 31 32 Select Case Rs232kommando Eventhandler Interpretation der Kommandos 33 Case Print Hilfe Hilfeseite anzeigen 34 Print LED on - LED einschalten 35 Print LED off - LED ausschalten 36 Print LED - zeigt Status der LED an 37 Print SW - zeigt Status des Schalters an 38

1K8

LED rotmicroC PortA0(PIN40)

Taster

microC PortA1(PIN39)

1

3

2

69

39 Case LED If Parameter = ON Then LED schalten 40 Porta0 = 1 41 End If 42 If Parameter = OFF Then 43 Porta0 = 0 44 End If 45 46 Case LED If Porta0 = 0 Then Status der LED ausgeben 47 Print LED aus 48 Else 49 Print LED an 50 End If 51 52 Case SW If Pina1 = 1 Then Status des Schalters ausgeben 53 Print Taster offen 54 Else 55 Print Taster geschlossen 56 End If 57 58 Case Else Print gt Rs232kommando lt ungueltiger Befehl - weitere Infos mit Info bei unguumlltigen Eingaben 59 End Select 60 61 End If 62 63 Loop Endlos-Schleife Springe zu Do 64 65 End wird nie erreicht

Der erste Teil des Programms (Zeilen 1 - 15) enthaumllt die Systemparameter Variablen und Initialisierung der Ein- und Ausgaumlnge Der zweite Teil enthaumllt ab Zeile 17 das Hauptpro-gramm in dem Benutzereingaben uumlber die serielle Schnittstelle empfangen interpretiert und in entsprechende Anweisungen umgesetzt werden Tab 14 erlaumlutert den Programmcode de-taillierter

Zeilen Erlaumluterung

1 - 3 Diese Angaben teilen dem Compiler (Bascom) mit welcher Prozessor eingesetzt wird wie schnell dieser getaktet (Quarz) ist und mit welcher Uumlbertragungsgeschwindigkeit die Kommunikation uumlber die serielle Schnittstelle (RS232) mit dem PC erfolgen soll

6 - 8 Es werden drei Variablen genutzt Die Eingabe uumlber die serielle Schnittstelle wird in rs232kommando gespeichert Es wird ein Text der Form Kommando ltLeerzeichengt Parameter erwartet so dass die Variable Parameter den-selbigen aufnimmt Die Variable str_pos wird fuumlr die Trennung von Kommando und Parameter benoumltigt

11 - 14

Mit dem Befehl ddrPX (ddr = data direction) wird festgelegt ob ein Beinchen als Ausgang (=1) oder als Eingang (=0) arbeiten soll Der ATmega16 besitzt 32 Ein-Ausgaumlnge die in vier Ports (P=AD) zu je 8 Pins (X=07) unterteilt sind ddrA0 = 1 legt also das 1 Beinchen (Pin 0) von PortA als Ausgang (=1) fest Mit dem Befehl PortA0 =1 kann dieser Pin dann durch Zuweisen von 1 oder 0 an- bzw ausgeschaltet werden Im Datenblatt erfahren Sie welches der 40 Beinchen des Mikrocontrollers wie bezeichnet wird (Pin-Belegung) Wird ein Beinchen als Eingang verwendet (ddrA1 = 0) koumlnnen Sie optional einen so genannten Pull-Up-Widerstand aktivieren (PortA1=1) oder deaktivieren (PortA1=0) Auch hierzu sollten Sie sich unbedingt mit dem Datenblatt vertraut machen

17 63 Das Hauptprogramm besteht aus einer Endlosschleife d h der Mikrocontroller verrichtet ununterbrochen seinen Job so lange er mit Strom versorgt wird

19 - 30 Falls ein Zeichen uumlber die serielle Schnittstelle empfangen wurde wird dieses und alle folgenden gelesen Anschlie-szligend wird gepruumlft ob der empfangene Text von der Form Kommando ltLeerzeichengt Parameter ist so dass er ge-gebenenfalls in ein Kommando und einen Parameter zerlegt werden kann

32 - 59 Dieser Abschnitt wird mit Event-Handler bezeichnet Hier wird auf die Kommandos (Events) reagiert und die ent-sprechenden Schritte ausgefuumlhrt zB schalten LED je nach Wert der Variablen Parameter an- bzw ausschalten

46 52

In beiden Zeilen wird ein Wert eines Ports abgefragt Unterschiedlich ist dass in Zeile 46 der Status eines Ausgangs abgefragt wird (porta0) und in Zeile 52 der Zustand eines Eingangs (pina0) Die Anweisung IF porta0 = 0 THEN pruumlft (hier ist = ein Vergleich und KEINE Zuweisung) ob zuletzt die LED ausgeschaltet (Zuweisung porta0 = 0) wurde Die Anweisung IF pina1= 1 THEN liest den Status eines Eingangs Hier kann festgestellt werden ob der Eingang uumlber den internen Pull-UP-Widerstand auf +5V liegt (pina1 liefert 1) oder ob der Schalter den Eingang mit Masse (0V) verbindet (pina1 liefert 0)

Tab 14 Erlaumluterung des Mikrocontroller-Programmcodes fuumlr elementares RCL

70

In Bascom AVR eine neue Datei erzeugen (FileNew) den Programmcode ohne Kommenta-re eingeben und mit ProgramCompile (F7) eine Hexadezimaldatei erzeugen Die Hexadezi-maldatei mit dem AVR-Studio und dem AVR-ISP-Programmer in den Mikrocontroller schrei-ben (larr 222 Programmuumlbertragung) Nach dem Verbinden von Computer und Interface per Null-Modem-Kabel kann durch Eingabe von in das konfigurierte Hyperterminal die Befehls-liste in Abb 30 aufgerufen werden

Abb 30 Aufgerufene Befehlsliste im Hyperterminal

Durch Eingabe von LED on oder LED off kann die LED ein- und ausgeschaltet LED zeigt den Status der LED und sw den Status des Tasters an Alternativ zum Hyperterminal kann auch das Terminal in BASCOM unter ToolsTerminal Emulator verwendet werden (larr 422)

464 Ferngesteuertes RCL Zum Ansteuern des Interfaces und zum Bedienen des Versuchsaufbaus uumlber das Internet wird eine Webseite benoumltigt die dem Benutzer alle Bedienelemente des Experiments zur Verfuumlgung stellt

Der Benutzer benoumltigt anklickbare Buttons im Webbrowser

Der Webserver muss die Information welcher Button gedruumlckt wurde empfangen und ein entsprechendes Kommando uumlber die serielle Schnittstelle an das Interface senden

Beide Schritte sind im nachfolgenden PHPHTML-Quellcode zusammengefasst 01 ltDOCTYPE HTML PUBLIC -W3CDTD HTML 401 TransitionalEN httpwwww3orgTRhtml4loosedtdgt 02 lthtmlgt 03 ltheadgt 04 ltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1gt 05 lttitlegtelementares RCLlttitlegt 06 ltheadgt 07 08 ltbodygt 09 ltphp 10 if (isset($_POST[Kommando])) wurde bereits Kommando gesendet 11 if( ( $handle = fopen( COM1 w+ ) ) ) Schnittstelle oumlffnen 12

71

13 throw new Exception( Can not access serial port 2 ) ohne Erfolg 14 15 fwrite( $handle $_POST[Kommando] chr( 13 ) ) Befehl an Interface senden 16 switch ( $_POST[Kommando] ) Antwort von Interface auswerten 17 case LED $tmp = fgets( $handle ) Echo von Interface ignorieren 18 $antwort = fgets( $handle ) Antwort des Interfaces 19 echo Antwort $antwort Ausgabe auf Webseite 20 break switch verlassen 21 22 case SW $tmp = fgets( $handle ) Echo von Interface ignorieren 23 $antwort = fgets( $handle ) Antwort des Interfaces 24 echo Antwort $antwort Ausgabe auf Webseite 25 break switch verlassen 26 27 28 29 fclose( $handle ) Schnittstelle schlieszligen 30 31 else 32 `mode com1 BAUD=9600 PARITY=N data=8 stop=1 xon=off` Schnittstellenparameter setzen 33 34 35 gt 36 37 lth3gtBefehl sendenlth3gt 38 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 39 ltinput type=hidden name=Kommando value=LED ON gt 40 ltinput type=submit value=LED anschalten gt 41 ltformgt 42 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 43 ltinput type=hidden name=Kommando value=LED OFF gt 44 ltinput type=submit value=LED ausschalten gt 45 ltformgt 46 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 47 ltinput type=hidden name=Kommando value=LED gt 48 ltinput type=submit value=LED abfragen gt 49 ltformgt 50 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 51 ltinput type=hidden name=Kommando value=SW gt 52 ltinput type=submit value=Taster abfragen gt 53 ltformgt 54 ltbodygt 55 lthtmlgt Den Quellcode in den Texteditor kopieren und im Ordner htdocs von XAMPP z B unter rclphp speichern HTML-Dateien mit PHP-Code (Zeilen 9-35) muumlssen mit der Erweiterung php gespeichert werden damit der Apache Webserver zwischen HTML-Seiten mit und ohne PHP-Code unterscheiden kann Den installierten Apache Webserver starten (larr 452) und im Adressfeld des Webbrowsers die IP-Adresse http127001rclphp aufrufen Das Bedi-enfeld des elementaren RCLs in Abb 31 wird im Browserfenster angezeigt

72

Abb 31 Laborseite des elementaren RCLs

Im Bedienfeld kann die LED an- und ausgeschaltet sowie der Status von LED und Taster abgefragt werden

  • 0 Warum ein Tutorial zur RCL-Technik
  • 1 Technische Konzeption
    • 11 Einfuumlhrung
    • 12 Wahl der RCL-Technik
      • 2 Lokal gesteuertes RCL
        • 21 Interface
          • 211 Mikrocontroller
          • 212 Basisschaltung und Erweiterungsschaltungen
          • 213 Programmierung des Mikrocontrollers
            • 22 Hyperterminal
            • 23 Positionieren von Objekten
              • 231 Hybrid-Schrittmotoren
              • 232 Schrittmotorsteuerung und Positionierungsmechanik
                  • 3 Ferngesteuertes RCL
                    • 31 RCL-Server
                    • 32 Laborseite
                      • 321 Steuerung des RCLs uumlber das Bedienfeld
                      • 322 Videouumlbertragung im Webcamfeld
                        • 33 Standard-Lernumgebung
                          • 4 ANHANG
                            • 41 Interface in Basisschaltung
                              • 411 Schaltplan und Bauteilliste
                              • 412 Bestuumlckung der Platine
                                • 42 Erweiterungsschaltungen
                                  • 421 Uumlbersicht
                                  • 422 TMC222-Modul zur Schrittmotorsteuerung
                                    • 4221 Schaltplan und Bauteilliste
                                    • 4222 Bestuumlckung der Platine
                                    • 4223 Quellcode des Mikrocontroller-Programms
                                      • 423 Geschaltete Spannungsquellen und Verbraucher
                                      • 424 Steuerung von Gleichstrommotoren
                                        • 43 Quellcodes zum RCL Elektronenbeugung
                                          • 431 Mikrocontroller-Programmierung
                                          • 432 PHP-Programmierung
                                          • 433 Bedienfeld der Laborseite
                                          • 434 Webcamfeld der Laborseite
                                            • 44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung
                                              • 441 AVR-Studio 418
                                                • 4411 Installation
                                                • 4412 Konfiguration
                                                  • 442 BASCOM 11198 Demoversion
                                                    • 4421 Installation
                                                    • 4422 Konfiguration
                                                        • 45 Installation und Konfiguration von Programmen auf dem RCL-Server
                                                          • 451 Einrichten des Internet-Zugangs
                                                          • 452 Paket XAMPP 174
                                                          • 453 Videoserver webcamXP 5 Private
                                                          • 454 Terminalprogramm Hyperterminal
                                                          • 455 Fernwartungssoftware TeamViewer 6 Host
                                                            • 46 Selbstbau eines elementaren RCLs
                                                              • 461 Hard- und Software
                                                              • 462 Bestuumlckung der Platine
                                                              • 463 Lokal gesteuertes RCL
                                                              • 464 Ferngesteuertes RCL

47

48

49

432 PHP-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

50

51

433 Bedienfeld der Laborseite

Tab 11 erlaumlutert die Funktion der Bloumlcke im Quellcode

Zeilen Funktion 1 Datei defaultconf einbinden 2 Datei headtpl einbinden

5 - 11 Ausgabe der verbleibenden Experimentierzeit 18 - 21 Button zum Einschalten der Elektronenbeugungsroumlhre 28 - 30 Eingabefeld fuumlr die Beschleunigungsspannung

37 Ruumlckmeldung zur eingegebenen Beschleunigungsspannung 42 Datei foottpl einbinden

Tab 11 Funktion der Programmbloumlcke in der Datei experi-menttpl

52

434 Webcamfeld der Laborseite

In Tab 12 ist die Funktion der Programmbloumlcke und die Anpassungen der Vorlage an das RCL Elektronenbeugung beschrieben

Zeilen Funktion Anpassung RCL Elektronenbeugung

5 Titelangabe erscheint als Tabulatorbeschriftung in Browsern

Name des RCLs eintragen

11 - 15 16 - 20

Zwei Javascripts zum getrennten Aufrufen zweier Po-pup-Fenster mit dargestelltem Webcambildern 1 und 2

Javascript 1 die IP-Adresse eintragen Javascript 2 auskommentiert weil nicht benoumltigt

24 - 40 42 - 60

Zwei Javascripts zum Aktualisieren der Webcambilder 1 und 2

Javascript 2 auskommentiert weil nicht benoumltigt

67 - 71 79 - 83

Aufrufen des ersten Webcambilds der Webcams 1 und 2 beim Aufrufen der Datei

Webcambild 2 auskommentiert weil nicht benoumltigt

72 - 78 84 - 90

Buttons zum Aufrufen der Screenshots der Webcam-bilder 1 und 2

Button 2 auskommentiert weil nicht benoumltigt

91 - 95 Zeile der Tabelle zum Eintragen von Informationen die sich auf die Webcambilder oder den Versuch beziehen

Text in Zeile der Tabelle geschrieben

Tab 12 Funktionen der Codeabschnitte in der Datei videohtm und Anpassung der Vor-lage an das RCL Elektronenbeugung

53

44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung Im Folgenden wird die Installation und Konfiguration des AVR-Studios 418 und der Bascom 11198 Demoversion beschrieben Alle Anleitungen sind zeilenweise von links nach rechts zu lesen

441 AVR-Studio 418 4411 Installation Auf der Webseite von ATMEL Register AVR Studio 418 (build 684) anklicken und Registrie-rungsformular ausfuumlllen Danach die Datei AvrStudio418Setup herunterladen Durch Dop-pelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen Next waumlhlen

I accept hellip und Next waumlhlen Installationsordner und Next waumlhlen

54

Installupgrade hellip und Next waumlhlen Install waumlhlen Die Installation beginnt

Finish waumlhlen

4412 Konfiguration AVR Studio 418 in Windows XP Professional unter StartProgramme aufrufen

Startfenster mit Cancel schlieszligen Unter ToolsProgram AVR Auto Connect waumlhlen

55

Im eingeblendeten Fenster auf der Registerkarte Main als Device ATmega16 und als Programming Mode ISP mo-de waumlhlen

Optional kann Signatur gelesen werden

In der Registerkarte Fuses alle Haumlkchen und Auswahlfel-der wie angegeben waumlhlen

Dann Program waumlhlen

442 BASCOM 11198 Demoversion 4421 Installation Auf der Webseite von Bascom unter Bascom AVR Demo die Zip-Datei setupdemoexe her-untergeladen Durch Doppelklick auf den Dateinamen die Installation starten

Next waumlhlen I accept the agreement und Next waumlhlen

56

Next waumlhlen Installationsordner eingeben und Next waumlhlen

Eintrag im Start-Menuuml eingeben und Next waumlhlen Next waumlhlen

Yes restart the computer now und Finish waumlhlen

57

4422 Konfiguration Bascom AVR in Windows XP Professional unter StartProgramme zum Einstellen der Para-meter des Mikrocontrollers und des Terminals aufrufen

OptionsCompilerChip waumlhlen Einstellungen wie im Bild vornehmen und OK waumlhlen

Auf der Registerkarte Communications Einstellungen wie im Bild vornehmen und OK waumlhlen

Unter OptionsCommunication Einstellungen wie im Bild

vornehmen und OK waumlhlen FileNew waumlhlen Unter ToolsTerminal emulator das Terminal aufrufen und

eingeben Die Befehlsliste des RCLs Elektronenbeu-gung wird angezeigt

45 Installation und Konfiguration von Programmen auf dem RCL-Server Im Folgenden wird der Download die Installation und die Konfiguration von Programmen auf dem RCL-Server unter Windows XP Professional beschrieben Alle Anleitungen sind zeilen-weise von links nach rechts zu lesen Die Installation der Programme sollte in der angegebe-nen Reihenfolge erfolgen

58

451 Einrichten des Internet-Zugangs LAN-Verbindung unter StartSystemsteuerungNetzwerkverbindungen aufrufen

Internetprotokoll (TCPIP) und Eigenschaften waumlhlen Folgende IP-Adresse verwenden waumlhlen IP-Adressen ein-

geben und OK waumlhlen

452 Paket XAMPP 174 Unter apache friends - xampp fuumlr windows und XAMPP Windows 174 Installer anklicken und Datei xampp-win32-174-VC6-installerexe speichern Durch Doppelklick auf die Datei die Installation starten

Sprache und Ok waumlhlen Ok waumlhlen

59

Weiter waumlhlen Zielverzeichnis mit Durchsuchen waumlhlen oder eingeben

Apache nicht als Dienst installieren Fertig stellen waumlhlen

Ja waumlhlen Zum Starten des Apache Webservers das Control Panel

unter StartProgrammeXAMPP 173 for Windows mit Start starten Anstelle von Start erscheint Running

Zum Beenden des Apache Webservers Stop waumlhlen Zum Beenden des Control Panels Exit waumlhlen

60

453 Videoserver webcamXP 5 Private Auf der Webseite von Moonware Studios unter webcamXP 55xx die Datei wlite550 herun-terladen Durch Doppelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen I Agree waumlhlen

Next waumlhlen Auszliger webcamXP 5 brauchen keine weiteren Komponen-

ten installiert zu werden

Den vorgeschlagenen Ordner und Install waumlhlen Finish waumlhlen

61

WebcamXP unter StartProgramme aufrufen Zugesandte

Lizenz-Daten in das eingeblendete Fenster eingeben und Register waumlhlen

Beim Starten des Programms stellt webcamXP automa-tisch eine Verbindung zu den am Computer angeschlosse-nen Webcams her

Nach dem Start ist Uumlberwachen gewaumlhlt Durch Rechts-klick mit der Maus auf das Videofenster wird zu jeder Vi-deoquelle ein Kontextmenuuml angezeigt Wird kein Videobild dargestellt das Kontextmenuuml aufrufen Art der Videoquelle waumlhlen (hier USB) und unter den erkannten Videoquellen (hier USB-Videogeraumlt) die gewuumlnschte waumlhlen

Das Videoformat muss fuumlr eine passende Darstellung auf

der Laborseite auf 320 x 240 eingestellt sein Ist das nicht der Fall im Kontextmenuuml unter Video Format einstellen

In gleicher Weise kann eine zweite Videoquelle hinzugefuumlgt werden

In der Registerkarte Web Broadcast kann unter

Broadcast (HTTP) der Videoserver mit Ausschalten ge-stoppt und mit Aktivieren gestartet werden

Zur Zielwahl des Webservers (131246237167 - Internet D16W3X3J - Computer 127001 - Local Host) Videoser-ver stoppen und einstellen Videoserver wieder starten

62

454 Terminalprogramm Hyperterminal Hyperterminal in Windows XP Professional unter StartProgrammeZubehoumlrKommunikation aufrufen

Name der neuen Verbindung - z B Interface - eingeben

und OK waumlhlen Die Verbindung zwischen Computer und Interface wurde

uumlber einen USB-Seriell-Adapter hergestellt Dann erschei-nen zwei zusaumltzliche Eintraumlge (Motorola Comp Modem und COM5) in der Liste Prinzipiell muss eine COMx-Verbindung gewaumlhlt werden

Eigenschaften von COM 5 wie im Bild einstellen und OK

waumlhlen DateiEigenschaften aufrufen und ASCII-Konfiguration

waumlhlen

63

Haken bei Eingegebene Zeichen lokal ausgeben (lokales

Echo) setzen um eingegebenen Zeichen im Hyperterminal zu sehen

Bei funktionsfaumlhiger Verbindung erscheint nach Eingabe von Return die Befehlsliste des Interface

Durch Aufrufen von DateiSpeichern die erstellte Verbin-

dung z B auf dem Desktop speichern Dadurch braucht die Verbindung nicht immer wieder von neuem konfiguriert wer-den

Nach Aufrufen von DateiBeenden die bestehende Verbin-dung mit Ja beenden

64

Wurde ein falscher COM-Port gewaumlhlt reagiert das Inter-

face auf die Eingabe Return nicht Hyperterminal dann beenden

Der COM-Port kann dann nicht unter DateiEigenschaften im Hyperterminal aber unter Eigenschaften des Kontext-menuumls der Datei Interfaceht in der Registerkarte Verbin-den mit geaumlndert werden Dann OK waumlhlen und erneut Verbindung testen

65

455 Fernwartungssoftware TeamViewer 6 Host Auf der Webseite von Teamviewer GmbH unter Fuumlr unbeaufsichtigte Server TeamViewer Vollversion die Datei TeamViewer_Setup-wq herunterladen Das Programm muss auf dem RCL-Server und dem Computer der auf den RCL-Server zugreifen soll installiert werden Durch Doppelklick auf die Datei die Installation starten

Ausfuumlhren waumlhlen Weiter waumlhlen

Fuumlr die private nicht kommerzielle Nutzung ist Teamviewer kostenlos

privat nicht-kommerziell und Weiter waumlhlen

Beide Haumlkchen setzen und Weiter waumlhlen

66

Ja un Weiter waumlhlen Weiter

Computername und Kennwort fuumlr den Zugriff auf den RCL-Server oder den eigenen Computer vergeben Kenn wort notie-ren

Ein Teamviewerkonto ist nicht erforderlich Kann auch spaumlter noch eingerichtet werden

ID fuumlr den Computer auf dem das Programm installiert wird fuumlr Zugriff notieren

Das Programm wird gestartet Standardmaumlszligig vorein-gestellt ist der Start des Programms beim Start des Be-trienssystems

67

46 Selbstbau eines elementaren RCLs 461 Hard- und Software Auch ohne gleich ein vielleicht teures physikalisches Experiment zu steuern laumlsst sich mit wenigen Bauelementen ein elementares RCL realisieren Von einer Webseite im Internet sol-len eine Leuchtdiode (LED) ein- oder ausgeschaltet sowie der Zustand der Leuchtdiode und eines Tasters abgefragt werden An Hard- und Software werden benoumltigt

1 Low-Current-LED 5 mm 2 mA 1 Widerstand 18 kΩ 1 Taster und optional zwei 10-polige Wannenstecker mit ungefaumlhr 10 cm passendem Flachbandkabel und Buchsen

Interface in Basisschaltung Null-Modem-Kabel 12 V DC Steckernetzteil (larr 1)

Installierte Bascom-Demo-Version (larr 42)

AVR ISP-Programmer mit 10-poligem Programmierkabel

Installiertes und konfiguriertes AVR Studio 418 (larr 41)

Installiertes Paket XAMPP (larr 52)

Texteditor wie z B Notepad in Windows XP Professional

Konfigurierte Hyperterminalverbindung (larr 54)

462 Bestuumlckung der Platine Abb 29 zeigt zur Orientierung fuumlr das Einloumlten der Bauelemente die fertig bestuumlckte Platine des Interface

Abb 29 Mit elementarem RCL bestuumlckte Platine

des Interface

LED mit Vorwiderstand und der Taster sind rechts neben dem Mikrocontroller im Lochraster-bereich aufgebaut und uumlber Wannenstecker und Flachbandkabel mit dem Port A des Mikro-controllers verbunden (die drei Bauteile rechts neben dem ATmega16 werden nicht benouml-tigt) Tab 13 erlaumlutert die Schritte zur Bestuumlckung der Platine des Interface

68

Nr Schaltung Erlaumluterung

1

Die Leuchtdiode (LED) mit dem Pluspol (langes Beinchen) an PortA0 (PIN40 oben rechts) des Mikrocontrollers anloumlten

An das kurze Beinchen einen 18kΩ Widerstand loumlten dessen anderes Ende mit der Masse (GND) verbinden

2

Den Taster mit PortA1 (PIN39 = 2 Beinchen von oben rechts) und Masse (GND) verbinden

3

Draufsicht

Belegung des 10-poligen Wannensteckers 1 GND (Masse) im Foto oben links 2 +5 V 3 PortA0 4 PortA1 10 PortA7 im Foto unten rechts

Tab 13 Schritte zum Aufbau des elementaren RCLs

463 Lokal gesteuertes RCL Nachfolgend ist der Basic-Programmcode des Mikrocontrollers zur Steuerung und Abfrage der LED und des Tasters angegeben 01 $regfile = m16DEFdat Microcontroller ATmega16 02 $crystal = 11059200 110592MHz Quarz 03 $baud = 9600 Baudrate 04 05 ---[ Variables ]--------------------------------------------------------------- 06 Dim Rs232kommando As String 10 erst Befehlspuffer dann Kommando 07 Dim Parameter As String 10 Parameter 08 Dim Str_pos As Byte Position von Leerzeichen zur Trennung von Kommando und Pa-rameter 09 10 ---[ Initialisierung ]--------------------------------------------------------- 11 Ddra0 = 1 PortA0 als Ausgang fuumlr LED 12 Porta0 = 0 LED aus 13 Ddra1 = 0 PortA1 als Eingang fuumlr Taster 14 Porta1 = 1 Pull-Up aktivieren 15 16 ---[ Main program loop ]------------------------------------------------------- 17 Do Start der Endlos-Schleife 18 19 If Ischarwaiting() = 1 Then Zeichen uumlber RS232 empfangen 20 Input Rs232kommando neues Kommando lesen 21 Parameter = Parameter initialisieren 22 Str_pos = Instr(rs232kommando ) Leerzeichen im Kommando suchen 23 If Str_pos gt 0 Then falls Leerzeichen dann in Kommando+Parameter zerlegen 24 Incr Str_pos Str_pos soll jetzt auf 1Zeichen des Parameters zeigen 25 Parameter = Mid(rs232kommando Str_pos ) Parameter = Teilstring nach Leerzeichen 26 Parameter = Ucase(parameter) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 27 Str_pos = Str_pos - 2 Str_pos soll jetzt auf letztes Zeichen des Kommandos zeigen 28 Rs232kommando = Left(rs232kommando Str_pos)Kommando = Teilstring vor Leerzeichen 29 Rs232kommando = Ucase(rs232kommando) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 30 End If 31 32 Select Case Rs232kommando Eventhandler Interpretation der Kommandos 33 Case Print Hilfe Hilfeseite anzeigen 34 Print LED on - LED einschalten 35 Print LED off - LED ausschalten 36 Print LED - zeigt Status der LED an 37 Print SW - zeigt Status des Schalters an 38

1K8

LED rotmicroC PortA0(PIN40)

Taster

microC PortA1(PIN39)

1

3

2

69

39 Case LED If Parameter = ON Then LED schalten 40 Porta0 = 1 41 End If 42 If Parameter = OFF Then 43 Porta0 = 0 44 End If 45 46 Case LED If Porta0 = 0 Then Status der LED ausgeben 47 Print LED aus 48 Else 49 Print LED an 50 End If 51 52 Case SW If Pina1 = 1 Then Status des Schalters ausgeben 53 Print Taster offen 54 Else 55 Print Taster geschlossen 56 End If 57 58 Case Else Print gt Rs232kommando lt ungueltiger Befehl - weitere Infos mit Info bei unguumlltigen Eingaben 59 End Select 60 61 End If 62 63 Loop Endlos-Schleife Springe zu Do 64 65 End wird nie erreicht

Der erste Teil des Programms (Zeilen 1 - 15) enthaumllt die Systemparameter Variablen und Initialisierung der Ein- und Ausgaumlnge Der zweite Teil enthaumllt ab Zeile 17 das Hauptpro-gramm in dem Benutzereingaben uumlber die serielle Schnittstelle empfangen interpretiert und in entsprechende Anweisungen umgesetzt werden Tab 14 erlaumlutert den Programmcode de-taillierter

Zeilen Erlaumluterung

1 - 3 Diese Angaben teilen dem Compiler (Bascom) mit welcher Prozessor eingesetzt wird wie schnell dieser getaktet (Quarz) ist und mit welcher Uumlbertragungsgeschwindigkeit die Kommunikation uumlber die serielle Schnittstelle (RS232) mit dem PC erfolgen soll

6 - 8 Es werden drei Variablen genutzt Die Eingabe uumlber die serielle Schnittstelle wird in rs232kommando gespeichert Es wird ein Text der Form Kommando ltLeerzeichengt Parameter erwartet so dass die Variable Parameter den-selbigen aufnimmt Die Variable str_pos wird fuumlr die Trennung von Kommando und Parameter benoumltigt

11 - 14

Mit dem Befehl ddrPX (ddr = data direction) wird festgelegt ob ein Beinchen als Ausgang (=1) oder als Eingang (=0) arbeiten soll Der ATmega16 besitzt 32 Ein-Ausgaumlnge die in vier Ports (P=AD) zu je 8 Pins (X=07) unterteilt sind ddrA0 = 1 legt also das 1 Beinchen (Pin 0) von PortA als Ausgang (=1) fest Mit dem Befehl PortA0 =1 kann dieser Pin dann durch Zuweisen von 1 oder 0 an- bzw ausgeschaltet werden Im Datenblatt erfahren Sie welches der 40 Beinchen des Mikrocontrollers wie bezeichnet wird (Pin-Belegung) Wird ein Beinchen als Eingang verwendet (ddrA1 = 0) koumlnnen Sie optional einen so genannten Pull-Up-Widerstand aktivieren (PortA1=1) oder deaktivieren (PortA1=0) Auch hierzu sollten Sie sich unbedingt mit dem Datenblatt vertraut machen

17 63 Das Hauptprogramm besteht aus einer Endlosschleife d h der Mikrocontroller verrichtet ununterbrochen seinen Job so lange er mit Strom versorgt wird

19 - 30 Falls ein Zeichen uumlber die serielle Schnittstelle empfangen wurde wird dieses und alle folgenden gelesen Anschlie-szligend wird gepruumlft ob der empfangene Text von der Form Kommando ltLeerzeichengt Parameter ist so dass er ge-gebenenfalls in ein Kommando und einen Parameter zerlegt werden kann

32 - 59 Dieser Abschnitt wird mit Event-Handler bezeichnet Hier wird auf die Kommandos (Events) reagiert und die ent-sprechenden Schritte ausgefuumlhrt zB schalten LED je nach Wert der Variablen Parameter an- bzw ausschalten

46 52

In beiden Zeilen wird ein Wert eines Ports abgefragt Unterschiedlich ist dass in Zeile 46 der Status eines Ausgangs abgefragt wird (porta0) und in Zeile 52 der Zustand eines Eingangs (pina0) Die Anweisung IF porta0 = 0 THEN pruumlft (hier ist = ein Vergleich und KEINE Zuweisung) ob zuletzt die LED ausgeschaltet (Zuweisung porta0 = 0) wurde Die Anweisung IF pina1= 1 THEN liest den Status eines Eingangs Hier kann festgestellt werden ob der Eingang uumlber den internen Pull-UP-Widerstand auf +5V liegt (pina1 liefert 1) oder ob der Schalter den Eingang mit Masse (0V) verbindet (pina1 liefert 0)

Tab 14 Erlaumluterung des Mikrocontroller-Programmcodes fuumlr elementares RCL

70

In Bascom AVR eine neue Datei erzeugen (FileNew) den Programmcode ohne Kommenta-re eingeben und mit ProgramCompile (F7) eine Hexadezimaldatei erzeugen Die Hexadezi-maldatei mit dem AVR-Studio und dem AVR-ISP-Programmer in den Mikrocontroller schrei-ben (larr 222 Programmuumlbertragung) Nach dem Verbinden von Computer und Interface per Null-Modem-Kabel kann durch Eingabe von in das konfigurierte Hyperterminal die Befehls-liste in Abb 30 aufgerufen werden

Abb 30 Aufgerufene Befehlsliste im Hyperterminal

Durch Eingabe von LED on oder LED off kann die LED ein- und ausgeschaltet LED zeigt den Status der LED und sw den Status des Tasters an Alternativ zum Hyperterminal kann auch das Terminal in BASCOM unter ToolsTerminal Emulator verwendet werden (larr 422)

464 Ferngesteuertes RCL Zum Ansteuern des Interfaces und zum Bedienen des Versuchsaufbaus uumlber das Internet wird eine Webseite benoumltigt die dem Benutzer alle Bedienelemente des Experiments zur Verfuumlgung stellt

Der Benutzer benoumltigt anklickbare Buttons im Webbrowser

Der Webserver muss die Information welcher Button gedruumlckt wurde empfangen und ein entsprechendes Kommando uumlber die serielle Schnittstelle an das Interface senden

Beide Schritte sind im nachfolgenden PHPHTML-Quellcode zusammengefasst 01 ltDOCTYPE HTML PUBLIC -W3CDTD HTML 401 TransitionalEN httpwwww3orgTRhtml4loosedtdgt 02 lthtmlgt 03 ltheadgt 04 ltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1gt 05 lttitlegtelementares RCLlttitlegt 06 ltheadgt 07 08 ltbodygt 09 ltphp 10 if (isset($_POST[Kommando])) wurde bereits Kommando gesendet 11 if( ( $handle = fopen( COM1 w+ ) ) ) Schnittstelle oumlffnen 12

71

13 throw new Exception( Can not access serial port 2 ) ohne Erfolg 14 15 fwrite( $handle $_POST[Kommando] chr( 13 ) ) Befehl an Interface senden 16 switch ( $_POST[Kommando] ) Antwort von Interface auswerten 17 case LED $tmp = fgets( $handle ) Echo von Interface ignorieren 18 $antwort = fgets( $handle ) Antwort des Interfaces 19 echo Antwort $antwort Ausgabe auf Webseite 20 break switch verlassen 21 22 case SW $tmp = fgets( $handle ) Echo von Interface ignorieren 23 $antwort = fgets( $handle ) Antwort des Interfaces 24 echo Antwort $antwort Ausgabe auf Webseite 25 break switch verlassen 26 27 28 29 fclose( $handle ) Schnittstelle schlieszligen 30 31 else 32 `mode com1 BAUD=9600 PARITY=N data=8 stop=1 xon=off` Schnittstellenparameter setzen 33 34 35 gt 36 37 lth3gtBefehl sendenlth3gt 38 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 39 ltinput type=hidden name=Kommando value=LED ON gt 40 ltinput type=submit value=LED anschalten gt 41 ltformgt 42 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 43 ltinput type=hidden name=Kommando value=LED OFF gt 44 ltinput type=submit value=LED ausschalten gt 45 ltformgt 46 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 47 ltinput type=hidden name=Kommando value=LED gt 48 ltinput type=submit value=LED abfragen gt 49 ltformgt 50 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 51 ltinput type=hidden name=Kommando value=SW gt 52 ltinput type=submit value=Taster abfragen gt 53 ltformgt 54 ltbodygt 55 lthtmlgt Den Quellcode in den Texteditor kopieren und im Ordner htdocs von XAMPP z B unter rclphp speichern HTML-Dateien mit PHP-Code (Zeilen 9-35) muumlssen mit der Erweiterung php gespeichert werden damit der Apache Webserver zwischen HTML-Seiten mit und ohne PHP-Code unterscheiden kann Den installierten Apache Webserver starten (larr 452) und im Adressfeld des Webbrowsers die IP-Adresse http127001rclphp aufrufen Das Bedi-enfeld des elementaren RCLs in Abb 31 wird im Browserfenster angezeigt

72

Abb 31 Laborseite des elementaren RCLs

Im Bedienfeld kann die LED an- und ausgeschaltet sowie der Status von LED und Taster abgefragt werden

  • 0 Warum ein Tutorial zur RCL-Technik
  • 1 Technische Konzeption
    • 11 Einfuumlhrung
    • 12 Wahl der RCL-Technik
      • 2 Lokal gesteuertes RCL
        • 21 Interface
          • 211 Mikrocontroller
          • 212 Basisschaltung und Erweiterungsschaltungen
          • 213 Programmierung des Mikrocontrollers
            • 22 Hyperterminal
            • 23 Positionieren von Objekten
              • 231 Hybrid-Schrittmotoren
              • 232 Schrittmotorsteuerung und Positionierungsmechanik
                  • 3 Ferngesteuertes RCL
                    • 31 RCL-Server
                    • 32 Laborseite
                      • 321 Steuerung des RCLs uumlber das Bedienfeld
                      • 322 Videouumlbertragung im Webcamfeld
                        • 33 Standard-Lernumgebung
                          • 4 ANHANG
                            • 41 Interface in Basisschaltung
                              • 411 Schaltplan und Bauteilliste
                              • 412 Bestuumlckung der Platine
                                • 42 Erweiterungsschaltungen
                                  • 421 Uumlbersicht
                                  • 422 TMC222-Modul zur Schrittmotorsteuerung
                                    • 4221 Schaltplan und Bauteilliste
                                    • 4222 Bestuumlckung der Platine
                                    • 4223 Quellcode des Mikrocontroller-Programms
                                      • 423 Geschaltete Spannungsquellen und Verbraucher
                                      • 424 Steuerung von Gleichstrommotoren
                                        • 43 Quellcodes zum RCL Elektronenbeugung
                                          • 431 Mikrocontroller-Programmierung
                                          • 432 PHP-Programmierung
                                          • 433 Bedienfeld der Laborseite
                                          • 434 Webcamfeld der Laborseite
                                            • 44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung
                                              • 441 AVR-Studio 418
                                                • 4411 Installation
                                                • 4412 Konfiguration
                                                  • 442 BASCOM 11198 Demoversion
                                                    • 4421 Installation
                                                    • 4422 Konfiguration
                                                        • 45 Installation und Konfiguration von Programmen auf dem RCL-Server
                                                          • 451 Einrichten des Internet-Zugangs
                                                          • 452 Paket XAMPP 174
                                                          • 453 Videoserver webcamXP 5 Private
                                                          • 454 Terminalprogramm Hyperterminal
                                                          • 455 Fernwartungssoftware TeamViewer 6 Host
                                                            • 46 Selbstbau eines elementaren RCLs
                                                              • 461 Hard- und Software
                                                              • 462 Bestuumlckung der Platine
                                                              • 463 Lokal gesteuertes RCL
                                                              • 464 Ferngesteuertes RCL

48

49

432 PHP-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

50

51

433 Bedienfeld der Laborseite

Tab 11 erlaumlutert die Funktion der Bloumlcke im Quellcode

Zeilen Funktion 1 Datei defaultconf einbinden 2 Datei headtpl einbinden

5 - 11 Ausgabe der verbleibenden Experimentierzeit 18 - 21 Button zum Einschalten der Elektronenbeugungsroumlhre 28 - 30 Eingabefeld fuumlr die Beschleunigungsspannung

37 Ruumlckmeldung zur eingegebenen Beschleunigungsspannung 42 Datei foottpl einbinden

Tab 11 Funktion der Programmbloumlcke in der Datei experi-menttpl

52

434 Webcamfeld der Laborseite

In Tab 12 ist die Funktion der Programmbloumlcke und die Anpassungen der Vorlage an das RCL Elektronenbeugung beschrieben

Zeilen Funktion Anpassung RCL Elektronenbeugung

5 Titelangabe erscheint als Tabulatorbeschriftung in Browsern

Name des RCLs eintragen

11 - 15 16 - 20

Zwei Javascripts zum getrennten Aufrufen zweier Po-pup-Fenster mit dargestelltem Webcambildern 1 und 2

Javascript 1 die IP-Adresse eintragen Javascript 2 auskommentiert weil nicht benoumltigt

24 - 40 42 - 60

Zwei Javascripts zum Aktualisieren der Webcambilder 1 und 2

Javascript 2 auskommentiert weil nicht benoumltigt

67 - 71 79 - 83

Aufrufen des ersten Webcambilds der Webcams 1 und 2 beim Aufrufen der Datei

Webcambild 2 auskommentiert weil nicht benoumltigt

72 - 78 84 - 90

Buttons zum Aufrufen der Screenshots der Webcam-bilder 1 und 2

Button 2 auskommentiert weil nicht benoumltigt

91 - 95 Zeile der Tabelle zum Eintragen von Informationen die sich auf die Webcambilder oder den Versuch beziehen

Text in Zeile der Tabelle geschrieben

Tab 12 Funktionen der Codeabschnitte in der Datei videohtm und Anpassung der Vor-lage an das RCL Elektronenbeugung

53

44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung Im Folgenden wird die Installation und Konfiguration des AVR-Studios 418 und der Bascom 11198 Demoversion beschrieben Alle Anleitungen sind zeilenweise von links nach rechts zu lesen

441 AVR-Studio 418 4411 Installation Auf der Webseite von ATMEL Register AVR Studio 418 (build 684) anklicken und Registrie-rungsformular ausfuumlllen Danach die Datei AvrStudio418Setup herunterladen Durch Dop-pelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen Next waumlhlen

I accept hellip und Next waumlhlen Installationsordner und Next waumlhlen

54

Installupgrade hellip und Next waumlhlen Install waumlhlen Die Installation beginnt

Finish waumlhlen

4412 Konfiguration AVR Studio 418 in Windows XP Professional unter StartProgramme aufrufen

Startfenster mit Cancel schlieszligen Unter ToolsProgram AVR Auto Connect waumlhlen

55

Im eingeblendeten Fenster auf der Registerkarte Main als Device ATmega16 und als Programming Mode ISP mo-de waumlhlen

Optional kann Signatur gelesen werden

In der Registerkarte Fuses alle Haumlkchen und Auswahlfel-der wie angegeben waumlhlen

Dann Program waumlhlen

442 BASCOM 11198 Demoversion 4421 Installation Auf der Webseite von Bascom unter Bascom AVR Demo die Zip-Datei setupdemoexe her-untergeladen Durch Doppelklick auf den Dateinamen die Installation starten

Next waumlhlen I accept the agreement und Next waumlhlen

56

Next waumlhlen Installationsordner eingeben und Next waumlhlen

Eintrag im Start-Menuuml eingeben und Next waumlhlen Next waumlhlen

Yes restart the computer now und Finish waumlhlen

57

4422 Konfiguration Bascom AVR in Windows XP Professional unter StartProgramme zum Einstellen der Para-meter des Mikrocontrollers und des Terminals aufrufen

OptionsCompilerChip waumlhlen Einstellungen wie im Bild vornehmen und OK waumlhlen

Auf der Registerkarte Communications Einstellungen wie im Bild vornehmen und OK waumlhlen

Unter OptionsCommunication Einstellungen wie im Bild

vornehmen und OK waumlhlen FileNew waumlhlen Unter ToolsTerminal emulator das Terminal aufrufen und

eingeben Die Befehlsliste des RCLs Elektronenbeu-gung wird angezeigt

45 Installation und Konfiguration von Programmen auf dem RCL-Server Im Folgenden wird der Download die Installation und die Konfiguration von Programmen auf dem RCL-Server unter Windows XP Professional beschrieben Alle Anleitungen sind zeilen-weise von links nach rechts zu lesen Die Installation der Programme sollte in der angegebe-nen Reihenfolge erfolgen

58

451 Einrichten des Internet-Zugangs LAN-Verbindung unter StartSystemsteuerungNetzwerkverbindungen aufrufen

Internetprotokoll (TCPIP) und Eigenschaften waumlhlen Folgende IP-Adresse verwenden waumlhlen IP-Adressen ein-

geben und OK waumlhlen

452 Paket XAMPP 174 Unter apache friends - xampp fuumlr windows und XAMPP Windows 174 Installer anklicken und Datei xampp-win32-174-VC6-installerexe speichern Durch Doppelklick auf die Datei die Installation starten

Sprache und Ok waumlhlen Ok waumlhlen

59

Weiter waumlhlen Zielverzeichnis mit Durchsuchen waumlhlen oder eingeben

Apache nicht als Dienst installieren Fertig stellen waumlhlen

Ja waumlhlen Zum Starten des Apache Webservers das Control Panel

unter StartProgrammeXAMPP 173 for Windows mit Start starten Anstelle von Start erscheint Running

Zum Beenden des Apache Webservers Stop waumlhlen Zum Beenden des Control Panels Exit waumlhlen

60

453 Videoserver webcamXP 5 Private Auf der Webseite von Moonware Studios unter webcamXP 55xx die Datei wlite550 herun-terladen Durch Doppelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen I Agree waumlhlen

Next waumlhlen Auszliger webcamXP 5 brauchen keine weiteren Komponen-

ten installiert zu werden

Den vorgeschlagenen Ordner und Install waumlhlen Finish waumlhlen

61

WebcamXP unter StartProgramme aufrufen Zugesandte

Lizenz-Daten in das eingeblendete Fenster eingeben und Register waumlhlen

Beim Starten des Programms stellt webcamXP automa-tisch eine Verbindung zu den am Computer angeschlosse-nen Webcams her

Nach dem Start ist Uumlberwachen gewaumlhlt Durch Rechts-klick mit der Maus auf das Videofenster wird zu jeder Vi-deoquelle ein Kontextmenuuml angezeigt Wird kein Videobild dargestellt das Kontextmenuuml aufrufen Art der Videoquelle waumlhlen (hier USB) und unter den erkannten Videoquellen (hier USB-Videogeraumlt) die gewuumlnschte waumlhlen

Das Videoformat muss fuumlr eine passende Darstellung auf

der Laborseite auf 320 x 240 eingestellt sein Ist das nicht der Fall im Kontextmenuuml unter Video Format einstellen

In gleicher Weise kann eine zweite Videoquelle hinzugefuumlgt werden

In der Registerkarte Web Broadcast kann unter

Broadcast (HTTP) der Videoserver mit Ausschalten ge-stoppt und mit Aktivieren gestartet werden

Zur Zielwahl des Webservers (131246237167 - Internet D16W3X3J - Computer 127001 - Local Host) Videoser-ver stoppen und einstellen Videoserver wieder starten

62

454 Terminalprogramm Hyperterminal Hyperterminal in Windows XP Professional unter StartProgrammeZubehoumlrKommunikation aufrufen

Name der neuen Verbindung - z B Interface - eingeben

und OK waumlhlen Die Verbindung zwischen Computer und Interface wurde

uumlber einen USB-Seriell-Adapter hergestellt Dann erschei-nen zwei zusaumltzliche Eintraumlge (Motorola Comp Modem und COM5) in der Liste Prinzipiell muss eine COMx-Verbindung gewaumlhlt werden

Eigenschaften von COM 5 wie im Bild einstellen und OK

waumlhlen DateiEigenschaften aufrufen und ASCII-Konfiguration

waumlhlen

63

Haken bei Eingegebene Zeichen lokal ausgeben (lokales

Echo) setzen um eingegebenen Zeichen im Hyperterminal zu sehen

Bei funktionsfaumlhiger Verbindung erscheint nach Eingabe von Return die Befehlsliste des Interface

Durch Aufrufen von DateiSpeichern die erstellte Verbin-

dung z B auf dem Desktop speichern Dadurch braucht die Verbindung nicht immer wieder von neuem konfiguriert wer-den

Nach Aufrufen von DateiBeenden die bestehende Verbin-dung mit Ja beenden

64

Wurde ein falscher COM-Port gewaumlhlt reagiert das Inter-

face auf die Eingabe Return nicht Hyperterminal dann beenden

Der COM-Port kann dann nicht unter DateiEigenschaften im Hyperterminal aber unter Eigenschaften des Kontext-menuumls der Datei Interfaceht in der Registerkarte Verbin-den mit geaumlndert werden Dann OK waumlhlen und erneut Verbindung testen

65

455 Fernwartungssoftware TeamViewer 6 Host Auf der Webseite von Teamviewer GmbH unter Fuumlr unbeaufsichtigte Server TeamViewer Vollversion die Datei TeamViewer_Setup-wq herunterladen Das Programm muss auf dem RCL-Server und dem Computer der auf den RCL-Server zugreifen soll installiert werden Durch Doppelklick auf die Datei die Installation starten

Ausfuumlhren waumlhlen Weiter waumlhlen

Fuumlr die private nicht kommerzielle Nutzung ist Teamviewer kostenlos

privat nicht-kommerziell und Weiter waumlhlen

Beide Haumlkchen setzen und Weiter waumlhlen

66

Ja un Weiter waumlhlen Weiter

Computername und Kennwort fuumlr den Zugriff auf den RCL-Server oder den eigenen Computer vergeben Kenn wort notie-ren

Ein Teamviewerkonto ist nicht erforderlich Kann auch spaumlter noch eingerichtet werden

ID fuumlr den Computer auf dem das Programm installiert wird fuumlr Zugriff notieren

Das Programm wird gestartet Standardmaumlszligig vorein-gestellt ist der Start des Programms beim Start des Be-trienssystems

67

46 Selbstbau eines elementaren RCLs 461 Hard- und Software Auch ohne gleich ein vielleicht teures physikalisches Experiment zu steuern laumlsst sich mit wenigen Bauelementen ein elementares RCL realisieren Von einer Webseite im Internet sol-len eine Leuchtdiode (LED) ein- oder ausgeschaltet sowie der Zustand der Leuchtdiode und eines Tasters abgefragt werden An Hard- und Software werden benoumltigt

1 Low-Current-LED 5 mm 2 mA 1 Widerstand 18 kΩ 1 Taster und optional zwei 10-polige Wannenstecker mit ungefaumlhr 10 cm passendem Flachbandkabel und Buchsen

Interface in Basisschaltung Null-Modem-Kabel 12 V DC Steckernetzteil (larr 1)

Installierte Bascom-Demo-Version (larr 42)

AVR ISP-Programmer mit 10-poligem Programmierkabel

Installiertes und konfiguriertes AVR Studio 418 (larr 41)

Installiertes Paket XAMPP (larr 52)

Texteditor wie z B Notepad in Windows XP Professional

Konfigurierte Hyperterminalverbindung (larr 54)

462 Bestuumlckung der Platine Abb 29 zeigt zur Orientierung fuumlr das Einloumlten der Bauelemente die fertig bestuumlckte Platine des Interface

Abb 29 Mit elementarem RCL bestuumlckte Platine

des Interface

LED mit Vorwiderstand und der Taster sind rechts neben dem Mikrocontroller im Lochraster-bereich aufgebaut und uumlber Wannenstecker und Flachbandkabel mit dem Port A des Mikro-controllers verbunden (die drei Bauteile rechts neben dem ATmega16 werden nicht benouml-tigt) Tab 13 erlaumlutert die Schritte zur Bestuumlckung der Platine des Interface

68

Nr Schaltung Erlaumluterung

1

Die Leuchtdiode (LED) mit dem Pluspol (langes Beinchen) an PortA0 (PIN40 oben rechts) des Mikrocontrollers anloumlten

An das kurze Beinchen einen 18kΩ Widerstand loumlten dessen anderes Ende mit der Masse (GND) verbinden

2

Den Taster mit PortA1 (PIN39 = 2 Beinchen von oben rechts) und Masse (GND) verbinden

3

Draufsicht

Belegung des 10-poligen Wannensteckers 1 GND (Masse) im Foto oben links 2 +5 V 3 PortA0 4 PortA1 10 PortA7 im Foto unten rechts

Tab 13 Schritte zum Aufbau des elementaren RCLs

463 Lokal gesteuertes RCL Nachfolgend ist der Basic-Programmcode des Mikrocontrollers zur Steuerung und Abfrage der LED und des Tasters angegeben 01 $regfile = m16DEFdat Microcontroller ATmega16 02 $crystal = 11059200 110592MHz Quarz 03 $baud = 9600 Baudrate 04 05 ---[ Variables ]--------------------------------------------------------------- 06 Dim Rs232kommando As String 10 erst Befehlspuffer dann Kommando 07 Dim Parameter As String 10 Parameter 08 Dim Str_pos As Byte Position von Leerzeichen zur Trennung von Kommando und Pa-rameter 09 10 ---[ Initialisierung ]--------------------------------------------------------- 11 Ddra0 = 1 PortA0 als Ausgang fuumlr LED 12 Porta0 = 0 LED aus 13 Ddra1 = 0 PortA1 als Eingang fuumlr Taster 14 Porta1 = 1 Pull-Up aktivieren 15 16 ---[ Main program loop ]------------------------------------------------------- 17 Do Start der Endlos-Schleife 18 19 If Ischarwaiting() = 1 Then Zeichen uumlber RS232 empfangen 20 Input Rs232kommando neues Kommando lesen 21 Parameter = Parameter initialisieren 22 Str_pos = Instr(rs232kommando ) Leerzeichen im Kommando suchen 23 If Str_pos gt 0 Then falls Leerzeichen dann in Kommando+Parameter zerlegen 24 Incr Str_pos Str_pos soll jetzt auf 1Zeichen des Parameters zeigen 25 Parameter = Mid(rs232kommando Str_pos ) Parameter = Teilstring nach Leerzeichen 26 Parameter = Ucase(parameter) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 27 Str_pos = Str_pos - 2 Str_pos soll jetzt auf letztes Zeichen des Kommandos zeigen 28 Rs232kommando = Left(rs232kommando Str_pos)Kommando = Teilstring vor Leerzeichen 29 Rs232kommando = Ucase(rs232kommando) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 30 End If 31 32 Select Case Rs232kommando Eventhandler Interpretation der Kommandos 33 Case Print Hilfe Hilfeseite anzeigen 34 Print LED on - LED einschalten 35 Print LED off - LED ausschalten 36 Print LED - zeigt Status der LED an 37 Print SW - zeigt Status des Schalters an 38

1K8

LED rotmicroC PortA0(PIN40)

Taster

microC PortA1(PIN39)

1

3

2

69

39 Case LED If Parameter = ON Then LED schalten 40 Porta0 = 1 41 End If 42 If Parameter = OFF Then 43 Porta0 = 0 44 End If 45 46 Case LED If Porta0 = 0 Then Status der LED ausgeben 47 Print LED aus 48 Else 49 Print LED an 50 End If 51 52 Case SW If Pina1 = 1 Then Status des Schalters ausgeben 53 Print Taster offen 54 Else 55 Print Taster geschlossen 56 End If 57 58 Case Else Print gt Rs232kommando lt ungueltiger Befehl - weitere Infos mit Info bei unguumlltigen Eingaben 59 End Select 60 61 End If 62 63 Loop Endlos-Schleife Springe zu Do 64 65 End wird nie erreicht

Der erste Teil des Programms (Zeilen 1 - 15) enthaumllt die Systemparameter Variablen und Initialisierung der Ein- und Ausgaumlnge Der zweite Teil enthaumllt ab Zeile 17 das Hauptpro-gramm in dem Benutzereingaben uumlber die serielle Schnittstelle empfangen interpretiert und in entsprechende Anweisungen umgesetzt werden Tab 14 erlaumlutert den Programmcode de-taillierter

Zeilen Erlaumluterung

1 - 3 Diese Angaben teilen dem Compiler (Bascom) mit welcher Prozessor eingesetzt wird wie schnell dieser getaktet (Quarz) ist und mit welcher Uumlbertragungsgeschwindigkeit die Kommunikation uumlber die serielle Schnittstelle (RS232) mit dem PC erfolgen soll

6 - 8 Es werden drei Variablen genutzt Die Eingabe uumlber die serielle Schnittstelle wird in rs232kommando gespeichert Es wird ein Text der Form Kommando ltLeerzeichengt Parameter erwartet so dass die Variable Parameter den-selbigen aufnimmt Die Variable str_pos wird fuumlr die Trennung von Kommando und Parameter benoumltigt

11 - 14

Mit dem Befehl ddrPX (ddr = data direction) wird festgelegt ob ein Beinchen als Ausgang (=1) oder als Eingang (=0) arbeiten soll Der ATmega16 besitzt 32 Ein-Ausgaumlnge die in vier Ports (P=AD) zu je 8 Pins (X=07) unterteilt sind ddrA0 = 1 legt also das 1 Beinchen (Pin 0) von PortA als Ausgang (=1) fest Mit dem Befehl PortA0 =1 kann dieser Pin dann durch Zuweisen von 1 oder 0 an- bzw ausgeschaltet werden Im Datenblatt erfahren Sie welches der 40 Beinchen des Mikrocontrollers wie bezeichnet wird (Pin-Belegung) Wird ein Beinchen als Eingang verwendet (ddrA1 = 0) koumlnnen Sie optional einen so genannten Pull-Up-Widerstand aktivieren (PortA1=1) oder deaktivieren (PortA1=0) Auch hierzu sollten Sie sich unbedingt mit dem Datenblatt vertraut machen

17 63 Das Hauptprogramm besteht aus einer Endlosschleife d h der Mikrocontroller verrichtet ununterbrochen seinen Job so lange er mit Strom versorgt wird

19 - 30 Falls ein Zeichen uumlber die serielle Schnittstelle empfangen wurde wird dieses und alle folgenden gelesen Anschlie-szligend wird gepruumlft ob der empfangene Text von der Form Kommando ltLeerzeichengt Parameter ist so dass er ge-gebenenfalls in ein Kommando und einen Parameter zerlegt werden kann

32 - 59 Dieser Abschnitt wird mit Event-Handler bezeichnet Hier wird auf die Kommandos (Events) reagiert und die ent-sprechenden Schritte ausgefuumlhrt zB schalten LED je nach Wert der Variablen Parameter an- bzw ausschalten

46 52

In beiden Zeilen wird ein Wert eines Ports abgefragt Unterschiedlich ist dass in Zeile 46 der Status eines Ausgangs abgefragt wird (porta0) und in Zeile 52 der Zustand eines Eingangs (pina0) Die Anweisung IF porta0 = 0 THEN pruumlft (hier ist = ein Vergleich und KEINE Zuweisung) ob zuletzt die LED ausgeschaltet (Zuweisung porta0 = 0) wurde Die Anweisung IF pina1= 1 THEN liest den Status eines Eingangs Hier kann festgestellt werden ob der Eingang uumlber den internen Pull-UP-Widerstand auf +5V liegt (pina1 liefert 1) oder ob der Schalter den Eingang mit Masse (0V) verbindet (pina1 liefert 0)

Tab 14 Erlaumluterung des Mikrocontroller-Programmcodes fuumlr elementares RCL

70

In Bascom AVR eine neue Datei erzeugen (FileNew) den Programmcode ohne Kommenta-re eingeben und mit ProgramCompile (F7) eine Hexadezimaldatei erzeugen Die Hexadezi-maldatei mit dem AVR-Studio und dem AVR-ISP-Programmer in den Mikrocontroller schrei-ben (larr 222 Programmuumlbertragung) Nach dem Verbinden von Computer und Interface per Null-Modem-Kabel kann durch Eingabe von in das konfigurierte Hyperterminal die Befehls-liste in Abb 30 aufgerufen werden

Abb 30 Aufgerufene Befehlsliste im Hyperterminal

Durch Eingabe von LED on oder LED off kann die LED ein- und ausgeschaltet LED zeigt den Status der LED und sw den Status des Tasters an Alternativ zum Hyperterminal kann auch das Terminal in BASCOM unter ToolsTerminal Emulator verwendet werden (larr 422)

464 Ferngesteuertes RCL Zum Ansteuern des Interfaces und zum Bedienen des Versuchsaufbaus uumlber das Internet wird eine Webseite benoumltigt die dem Benutzer alle Bedienelemente des Experiments zur Verfuumlgung stellt

Der Benutzer benoumltigt anklickbare Buttons im Webbrowser

Der Webserver muss die Information welcher Button gedruumlckt wurde empfangen und ein entsprechendes Kommando uumlber die serielle Schnittstelle an das Interface senden

Beide Schritte sind im nachfolgenden PHPHTML-Quellcode zusammengefasst 01 ltDOCTYPE HTML PUBLIC -W3CDTD HTML 401 TransitionalEN httpwwww3orgTRhtml4loosedtdgt 02 lthtmlgt 03 ltheadgt 04 ltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1gt 05 lttitlegtelementares RCLlttitlegt 06 ltheadgt 07 08 ltbodygt 09 ltphp 10 if (isset($_POST[Kommando])) wurde bereits Kommando gesendet 11 if( ( $handle = fopen( COM1 w+ ) ) ) Schnittstelle oumlffnen 12

71

13 throw new Exception( Can not access serial port 2 ) ohne Erfolg 14 15 fwrite( $handle $_POST[Kommando] chr( 13 ) ) Befehl an Interface senden 16 switch ( $_POST[Kommando] ) Antwort von Interface auswerten 17 case LED $tmp = fgets( $handle ) Echo von Interface ignorieren 18 $antwort = fgets( $handle ) Antwort des Interfaces 19 echo Antwort $antwort Ausgabe auf Webseite 20 break switch verlassen 21 22 case SW $tmp = fgets( $handle ) Echo von Interface ignorieren 23 $antwort = fgets( $handle ) Antwort des Interfaces 24 echo Antwort $antwort Ausgabe auf Webseite 25 break switch verlassen 26 27 28 29 fclose( $handle ) Schnittstelle schlieszligen 30 31 else 32 `mode com1 BAUD=9600 PARITY=N data=8 stop=1 xon=off` Schnittstellenparameter setzen 33 34 35 gt 36 37 lth3gtBefehl sendenlth3gt 38 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 39 ltinput type=hidden name=Kommando value=LED ON gt 40 ltinput type=submit value=LED anschalten gt 41 ltformgt 42 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 43 ltinput type=hidden name=Kommando value=LED OFF gt 44 ltinput type=submit value=LED ausschalten gt 45 ltformgt 46 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 47 ltinput type=hidden name=Kommando value=LED gt 48 ltinput type=submit value=LED abfragen gt 49 ltformgt 50 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 51 ltinput type=hidden name=Kommando value=SW gt 52 ltinput type=submit value=Taster abfragen gt 53 ltformgt 54 ltbodygt 55 lthtmlgt Den Quellcode in den Texteditor kopieren und im Ordner htdocs von XAMPP z B unter rclphp speichern HTML-Dateien mit PHP-Code (Zeilen 9-35) muumlssen mit der Erweiterung php gespeichert werden damit der Apache Webserver zwischen HTML-Seiten mit und ohne PHP-Code unterscheiden kann Den installierten Apache Webserver starten (larr 452) und im Adressfeld des Webbrowsers die IP-Adresse http127001rclphp aufrufen Das Bedi-enfeld des elementaren RCLs in Abb 31 wird im Browserfenster angezeigt

72

Abb 31 Laborseite des elementaren RCLs

Im Bedienfeld kann die LED an- und ausgeschaltet sowie der Status von LED und Taster abgefragt werden

  • 0 Warum ein Tutorial zur RCL-Technik
  • 1 Technische Konzeption
    • 11 Einfuumlhrung
    • 12 Wahl der RCL-Technik
      • 2 Lokal gesteuertes RCL
        • 21 Interface
          • 211 Mikrocontroller
          • 212 Basisschaltung und Erweiterungsschaltungen
          • 213 Programmierung des Mikrocontrollers
            • 22 Hyperterminal
            • 23 Positionieren von Objekten
              • 231 Hybrid-Schrittmotoren
              • 232 Schrittmotorsteuerung und Positionierungsmechanik
                  • 3 Ferngesteuertes RCL
                    • 31 RCL-Server
                    • 32 Laborseite
                      • 321 Steuerung des RCLs uumlber das Bedienfeld
                      • 322 Videouumlbertragung im Webcamfeld
                        • 33 Standard-Lernumgebung
                          • 4 ANHANG
                            • 41 Interface in Basisschaltung
                              • 411 Schaltplan und Bauteilliste
                              • 412 Bestuumlckung der Platine
                                • 42 Erweiterungsschaltungen
                                  • 421 Uumlbersicht
                                  • 422 TMC222-Modul zur Schrittmotorsteuerung
                                    • 4221 Schaltplan und Bauteilliste
                                    • 4222 Bestuumlckung der Platine
                                    • 4223 Quellcode des Mikrocontroller-Programms
                                      • 423 Geschaltete Spannungsquellen und Verbraucher
                                      • 424 Steuerung von Gleichstrommotoren
                                        • 43 Quellcodes zum RCL Elektronenbeugung
                                          • 431 Mikrocontroller-Programmierung
                                          • 432 PHP-Programmierung
                                          • 433 Bedienfeld der Laborseite
                                          • 434 Webcamfeld der Laborseite
                                            • 44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung
                                              • 441 AVR-Studio 418
                                                • 4411 Installation
                                                • 4412 Konfiguration
                                                  • 442 BASCOM 11198 Demoversion
                                                    • 4421 Installation
                                                    • 4422 Konfiguration
                                                        • 45 Installation und Konfiguration von Programmen auf dem RCL-Server
                                                          • 451 Einrichten des Internet-Zugangs
                                                          • 452 Paket XAMPP 174
                                                          • 453 Videoserver webcamXP 5 Private
                                                          • 454 Terminalprogramm Hyperterminal
                                                          • 455 Fernwartungssoftware TeamViewer 6 Host
                                                            • 46 Selbstbau eines elementaren RCLs
                                                              • 461 Hard- und Software
                                                              • 462 Bestuumlckung der Platine
                                                              • 463 Lokal gesteuertes RCL
                                                              • 464 Ferngesteuertes RCL

49

432 PHP-Programmierung Die hervorgehobenen Abschnitte des Quellcodes in Pascal sind spezifisch fuumlr das RCL Elektronenbeugung alle anderen Teile sind fuumlr alle RCLs identisch

50

51

433 Bedienfeld der Laborseite

Tab 11 erlaumlutert die Funktion der Bloumlcke im Quellcode

Zeilen Funktion 1 Datei defaultconf einbinden 2 Datei headtpl einbinden

5 - 11 Ausgabe der verbleibenden Experimentierzeit 18 - 21 Button zum Einschalten der Elektronenbeugungsroumlhre 28 - 30 Eingabefeld fuumlr die Beschleunigungsspannung

37 Ruumlckmeldung zur eingegebenen Beschleunigungsspannung 42 Datei foottpl einbinden

Tab 11 Funktion der Programmbloumlcke in der Datei experi-menttpl

52

434 Webcamfeld der Laborseite

In Tab 12 ist die Funktion der Programmbloumlcke und die Anpassungen der Vorlage an das RCL Elektronenbeugung beschrieben

Zeilen Funktion Anpassung RCL Elektronenbeugung

5 Titelangabe erscheint als Tabulatorbeschriftung in Browsern

Name des RCLs eintragen

11 - 15 16 - 20

Zwei Javascripts zum getrennten Aufrufen zweier Po-pup-Fenster mit dargestelltem Webcambildern 1 und 2

Javascript 1 die IP-Adresse eintragen Javascript 2 auskommentiert weil nicht benoumltigt

24 - 40 42 - 60

Zwei Javascripts zum Aktualisieren der Webcambilder 1 und 2

Javascript 2 auskommentiert weil nicht benoumltigt

67 - 71 79 - 83

Aufrufen des ersten Webcambilds der Webcams 1 und 2 beim Aufrufen der Datei

Webcambild 2 auskommentiert weil nicht benoumltigt

72 - 78 84 - 90

Buttons zum Aufrufen der Screenshots der Webcam-bilder 1 und 2

Button 2 auskommentiert weil nicht benoumltigt

91 - 95 Zeile der Tabelle zum Eintragen von Informationen die sich auf die Webcambilder oder den Versuch beziehen

Text in Zeile der Tabelle geschrieben

Tab 12 Funktionen der Codeabschnitte in der Datei videohtm und Anpassung der Vor-lage an das RCL Elektronenbeugung

53

44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung Im Folgenden wird die Installation und Konfiguration des AVR-Studios 418 und der Bascom 11198 Demoversion beschrieben Alle Anleitungen sind zeilenweise von links nach rechts zu lesen

441 AVR-Studio 418 4411 Installation Auf der Webseite von ATMEL Register AVR Studio 418 (build 684) anklicken und Registrie-rungsformular ausfuumlllen Danach die Datei AvrStudio418Setup herunterladen Durch Dop-pelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen Next waumlhlen

I accept hellip und Next waumlhlen Installationsordner und Next waumlhlen

54

Installupgrade hellip und Next waumlhlen Install waumlhlen Die Installation beginnt

Finish waumlhlen

4412 Konfiguration AVR Studio 418 in Windows XP Professional unter StartProgramme aufrufen

Startfenster mit Cancel schlieszligen Unter ToolsProgram AVR Auto Connect waumlhlen

55

Im eingeblendeten Fenster auf der Registerkarte Main als Device ATmega16 und als Programming Mode ISP mo-de waumlhlen

Optional kann Signatur gelesen werden

In der Registerkarte Fuses alle Haumlkchen und Auswahlfel-der wie angegeben waumlhlen

Dann Program waumlhlen

442 BASCOM 11198 Demoversion 4421 Installation Auf der Webseite von Bascom unter Bascom AVR Demo die Zip-Datei setupdemoexe her-untergeladen Durch Doppelklick auf den Dateinamen die Installation starten

Next waumlhlen I accept the agreement und Next waumlhlen

56

Next waumlhlen Installationsordner eingeben und Next waumlhlen

Eintrag im Start-Menuuml eingeben und Next waumlhlen Next waumlhlen

Yes restart the computer now und Finish waumlhlen

57

4422 Konfiguration Bascom AVR in Windows XP Professional unter StartProgramme zum Einstellen der Para-meter des Mikrocontrollers und des Terminals aufrufen

OptionsCompilerChip waumlhlen Einstellungen wie im Bild vornehmen und OK waumlhlen

Auf der Registerkarte Communications Einstellungen wie im Bild vornehmen und OK waumlhlen

Unter OptionsCommunication Einstellungen wie im Bild

vornehmen und OK waumlhlen FileNew waumlhlen Unter ToolsTerminal emulator das Terminal aufrufen und

eingeben Die Befehlsliste des RCLs Elektronenbeu-gung wird angezeigt

45 Installation und Konfiguration von Programmen auf dem RCL-Server Im Folgenden wird der Download die Installation und die Konfiguration von Programmen auf dem RCL-Server unter Windows XP Professional beschrieben Alle Anleitungen sind zeilen-weise von links nach rechts zu lesen Die Installation der Programme sollte in der angegebe-nen Reihenfolge erfolgen

58

451 Einrichten des Internet-Zugangs LAN-Verbindung unter StartSystemsteuerungNetzwerkverbindungen aufrufen

Internetprotokoll (TCPIP) und Eigenschaften waumlhlen Folgende IP-Adresse verwenden waumlhlen IP-Adressen ein-

geben und OK waumlhlen

452 Paket XAMPP 174 Unter apache friends - xampp fuumlr windows und XAMPP Windows 174 Installer anklicken und Datei xampp-win32-174-VC6-installerexe speichern Durch Doppelklick auf die Datei die Installation starten

Sprache und Ok waumlhlen Ok waumlhlen

59

Weiter waumlhlen Zielverzeichnis mit Durchsuchen waumlhlen oder eingeben

Apache nicht als Dienst installieren Fertig stellen waumlhlen

Ja waumlhlen Zum Starten des Apache Webservers das Control Panel

unter StartProgrammeXAMPP 173 for Windows mit Start starten Anstelle von Start erscheint Running

Zum Beenden des Apache Webservers Stop waumlhlen Zum Beenden des Control Panels Exit waumlhlen

60

453 Videoserver webcamXP 5 Private Auf der Webseite von Moonware Studios unter webcamXP 55xx die Datei wlite550 herun-terladen Durch Doppelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen I Agree waumlhlen

Next waumlhlen Auszliger webcamXP 5 brauchen keine weiteren Komponen-

ten installiert zu werden

Den vorgeschlagenen Ordner und Install waumlhlen Finish waumlhlen

61

WebcamXP unter StartProgramme aufrufen Zugesandte

Lizenz-Daten in das eingeblendete Fenster eingeben und Register waumlhlen

Beim Starten des Programms stellt webcamXP automa-tisch eine Verbindung zu den am Computer angeschlosse-nen Webcams her

Nach dem Start ist Uumlberwachen gewaumlhlt Durch Rechts-klick mit der Maus auf das Videofenster wird zu jeder Vi-deoquelle ein Kontextmenuuml angezeigt Wird kein Videobild dargestellt das Kontextmenuuml aufrufen Art der Videoquelle waumlhlen (hier USB) und unter den erkannten Videoquellen (hier USB-Videogeraumlt) die gewuumlnschte waumlhlen

Das Videoformat muss fuumlr eine passende Darstellung auf

der Laborseite auf 320 x 240 eingestellt sein Ist das nicht der Fall im Kontextmenuuml unter Video Format einstellen

In gleicher Weise kann eine zweite Videoquelle hinzugefuumlgt werden

In der Registerkarte Web Broadcast kann unter

Broadcast (HTTP) der Videoserver mit Ausschalten ge-stoppt und mit Aktivieren gestartet werden

Zur Zielwahl des Webservers (131246237167 - Internet D16W3X3J - Computer 127001 - Local Host) Videoser-ver stoppen und einstellen Videoserver wieder starten

62

454 Terminalprogramm Hyperterminal Hyperterminal in Windows XP Professional unter StartProgrammeZubehoumlrKommunikation aufrufen

Name der neuen Verbindung - z B Interface - eingeben

und OK waumlhlen Die Verbindung zwischen Computer und Interface wurde

uumlber einen USB-Seriell-Adapter hergestellt Dann erschei-nen zwei zusaumltzliche Eintraumlge (Motorola Comp Modem und COM5) in der Liste Prinzipiell muss eine COMx-Verbindung gewaumlhlt werden

Eigenschaften von COM 5 wie im Bild einstellen und OK

waumlhlen DateiEigenschaften aufrufen und ASCII-Konfiguration

waumlhlen

63

Haken bei Eingegebene Zeichen lokal ausgeben (lokales

Echo) setzen um eingegebenen Zeichen im Hyperterminal zu sehen

Bei funktionsfaumlhiger Verbindung erscheint nach Eingabe von Return die Befehlsliste des Interface

Durch Aufrufen von DateiSpeichern die erstellte Verbin-

dung z B auf dem Desktop speichern Dadurch braucht die Verbindung nicht immer wieder von neuem konfiguriert wer-den

Nach Aufrufen von DateiBeenden die bestehende Verbin-dung mit Ja beenden

64

Wurde ein falscher COM-Port gewaumlhlt reagiert das Inter-

face auf die Eingabe Return nicht Hyperterminal dann beenden

Der COM-Port kann dann nicht unter DateiEigenschaften im Hyperterminal aber unter Eigenschaften des Kontext-menuumls der Datei Interfaceht in der Registerkarte Verbin-den mit geaumlndert werden Dann OK waumlhlen und erneut Verbindung testen

65

455 Fernwartungssoftware TeamViewer 6 Host Auf der Webseite von Teamviewer GmbH unter Fuumlr unbeaufsichtigte Server TeamViewer Vollversion die Datei TeamViewer_Setup-wq herunterladen Das Programm muss auf dem RCL-Server und dem Computer der auf den RCL-Server zugreifen soll installiert werden Durch Doppelklick auf die Datei die Installation starten

Ausfuumlhren waumlhlen Weiter waumlhlen

Fuumlr die private nicht kommerzielle Nutzung ist Teamviewer kostenlos

privat nicht-kommerziell und Weiter waumlhlen

Beide Haumlkchen setzen und Weiter waumlhlen

66

Ja un Weiter waumlhlen Weiter

Computername und Kennwort fuumlr den Zugriff auf den RCL-Server oder den eigenen Computer vergeben Kenn wort notie-ren

Ein Teamviewerkonto ist nicht erforderlich Kann auch spaumlter noch eingerichtet werden

ID fuumlr den Computer auf dem das Programm installiert wird fuumlr Zugriff notieren

Das Programm wird gestartet Standardmaumlszligig vorein-gestellt ist der Start des Programms beim Start des Be-trienssystems

67

46 Selbstbau eines elementaren RCLs 461 Hard- und Software Auch ohne gleich ein vielleicht teures physikalisches Experiment zu steuern laumlsst sich mit wenigen Bauelementen ein elementares RCL realisieren Von einer Webseite im Internet sol-len eine Leuchtdiode (LED) ein- oder ausgeschaltet sowie der Zustand der Leuchtdiode und eines Tasters abgefragt werden An Hard- und Software werden benoumltigt

1 Low-Current-LED 5 mm 2 mA 1 Widerstand 18 kΩ 1 Taster und optional zwei 10-polige Wannenstecker mit ungefaumlhr 10 cm passendem Flachbandkabel und Buchsen

Interface in Basisschaltung Null-Modem-Kabel 12 V DC Steckernetzteil (larr 1)

Installierte Bascom-Demo-Version (larr 42)

AVR ISP-Programmer mit 10-poligem Programmierkabel

Installiertes und konfiguriertes AVR Studio 418 (larr 41)

Installiertes Paket XAMPP (larr 52)

Texteditor wie z B Notepad in Windows XP Professional

Konfigurierte Hyperterminalverbindung (larr 54)

462 Bestuumlckung der Platine Abb 29 zeigt zur Orientierung fuumlr das Einloumlten der Bauelemente die fertig bestuumlckte Platine des Interface

Abb 29 Mit elementarem RCL bestuumlckte Platine

des Interface

LED mit Vorwiderstand und der Taster sind rechts neben dem Mikrocontroller im Lochraster-bereich aufgebaut und uumlber Wannenstecker und Flachbandkabel mit dem Port A des Mikro-controllers verbunden (die drei Bauteile rechts neben dem ATmega16 werden nicht benouml-tigt) Tab 13 erlaumlutert die Schritte zur Bestuumlckung der Platine des Interface

68

Nr Schaltung Erlaumluterung

1

Die Leuchtdiode (LED) mit dem Pluspol (langes Beinchen) an PortA0 (PIN40 oben rechts) des Mikrocontrollers anloumlten

An das kurze Beinchen einen 18kΩ Widerstand loumlten dessen anderes Ende mit der Masse (GND) verbinden

2

Den Taster mit PortA1 (PIN39 = 2 Beinchen von oben rechts) und Masse (GND) verbinden

3

Draufsicht

Belegung des 10-poligen Wannensteckers 1 GND (Masse) im Foto oben links 2 +5 V 3 PortA0 4 PortA1 10 PortA7 im Foto unten rechts

Tab 13 Schritte zum Aufbau des elementaren RCLs

463 Lokal gesteuertes RCL Nachfolgend ist der Basic-Programmcode des Mikrocontrollers zur Steuerung und Abfrage der LED und des Tasters angegeben 01 $regfile = m16DEFdat Microcontroller ATmega16 02 $crystal = 11059200 110592MHz Quarz 03 $baud = 9600 Baudrate 04 05 ---[ Variables ]--------------------------------------------------------------- 06 Dim Rs232kommando As String 10 erst Befehlspuffer dann Kommando 07 Dim Parameter As String 10 Parameter 08 Dim Str_pos As Byte Position von Leerzeichen zur Trennung von Kommando und Pa-rameter 09 10 ---[ Initialisierung ]--------------------------------------------------------- 11 Ddra0 = 1 PortA0 als Ausgang fuumlr LED 12 Porta0 = 0 LED aus 13 Ddra1 = 0 PortA1 als Eingang fuumlr Taster 14 Porta1 = 1 Pull-Up aktivieren 15 16 ---[ Main program loop ]------------------------------------------------------- 17 Do Start der Endlos-Schleife 18 19 If Ischarwaiting() = 1 Then Zeichen uumlber RS232 empfangen 20 Input Rs232kommando neues Kommando lesen 21 Parameter = Parameter initialisieren 22 Str_pos = Instr(rs232kommando ) Leerzeichen im Kommando suchen 23 If Str_pos gt 0 Then falls Leerzeichen dann in Kommando+Parameter zerlegen 24 Incr Str_pos Str_pos soll jetzt auf 1Zeichen des Parameters zeigen 25 Parameter = Mid(rs232kommando Str_pos ) Parameter = Teilstring nach Leerzeichen 26 Parameter = Ucase(parameter) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 27 Str_pos = Str_pos - 2 Str_pos soll jetzt auf letztes Zeichen des Kommandos zeigen 28 Rs232kommando = Left(rs232kommando Str_pos)Kommando = Teilstring vor Leerzeichen 29 Rs232kommando = Ucase(rs232kommando) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 30 End If 31 32 Select Case Rs232kommando Eventhandler Interpretation der Kommandos 33 Case Print Hilfe Hilfeseite anzeigen 34 Print LED on - LED einschalten 35 Print LED off - LED ausschalten 36 Print LED - zeigt Status der LED an 37 Print SW - zeigt Status des Schalters an 38

1K8

LED rotmicroC PortA0(PIN40)

Taster

microC PortA1(PIN39)

1

3

2

69

39 Case LED If Parameter = ON Then LED schalten 40 Porta0 = 1 41 End If 42 If Parameter = OFF Then 43 Porta0 = 0 44 End If 45 46 Case LED If Porta0 = 0 Then Status der LED ausgeben 47 Print LED aus 48 Else 49 Print LED an 50 End If 51 52 Case SW If Pina1 = 1 Then Status des Schalters ausgeben 53 Print Taster offen 54 Else 55 Print Taster geschlossen 56 End If 57 58 Case Else Print gt Rs232kommando lt ungueltiger Befehl - weitere Infos mit Info bei unguumlltigen Eingaben 59 End Select 60 61 End If 62 63 Loop Endlos-Schleife Springe zu Do 64 65 End wird nie erreicht

Der erste Teil des Programms (Zeilen 1 - 15) enthaumllt die Systemparameter Variablen und Initialisierung der Ein- und Ausgaumlnge Der zweite Teil enthaumllt ab Zeile 17 das Hauptpro-gramm in dem Benutzereingaben uumlber die serielle Schnittstelle empfangen interpretiert und in entsprechende Anweisungen umgesetzt werden Tab 14 erlaumlutert den Programmcode de-taillierter

Zeilen Erlaumluterung

1 - 3 Diese Angaben teilen dem Compiler (Bascom) mit welcher Prozessor eingesetzt wird wie schnell dieser getaktet (Quarz) ist und mit welcher Uumlbertragungsgeschwindigkeit die Kommunikation uumlber die serielle Schnittstelle (RS232) mit dem PC erfolgen soll

6 - 8 Es werden drei Variablen genutzt Die Eingabe uumlber die serielle Schnittstelle wird in rs232kommando gespeichert Es wird ein Text der Form Kommando ltLeerzeichengt Parameter erwartet so dass die Variable Parameter den-selbigen aufnimmt Die Variable str_pos wird fuumlr die Trennung von Kommando und Parameter benoumltigt

11 - 14

Mit dem Befehl ddrPX (ddr = data direction) wird festgelegt ob ein Beinchen als Ausgang (=1) oder als Eingang (=0) arbeiten soll Der ATmega16 besitzt 32 Ein-Ausgaumlnge die in vier Ports (P=AD) zu je 8 Pins (X=07) unterteilt sind ddrA0 = 1 legt also das 1 Beinchen (Pin 0) von PortA als Ausgang (=1) fest Mit dem Befehl PortA0 =1 kann dieser Pin dann durch Zuweisen von 1 oder 0 an- bzw ausgeschaltet werden Im Datenblatt erfahren Sie welches der 40 Beinchen des Mikrocontrollers wie bezeichnet wird (Pin-Belegung) Wird ein Beinchen als Eingang verwendet (ddrA1 = 0) koumlnnen Sie optional einen so genannten Pull-Up-Widerstand aktivieren (PortA1=1) oder deaktivieren (PortA1=0) Auch hierzu sollten Sie sich unbedingt mit dem Datenblatt vertraut machen

17 63 Das Hauptprogramm besteht aus einer Endlosschleife d h der Mikrocontroller verrichtet ununterbrochen seinen Job so lange er mit Strom versorgt wird

19 - 30 Falls ein Zeichen uumlber die serielle Schnittstelle empfangen wurde wird dieses und alle folgenden gelesen Anschlie-szligend wird gepruumlft ob der empfangene Text von der Form Kommando ltLeerzeichengt Parameter ist so dass er ge-gebenenfalls in ein Kommando und einen Parameter zerlegt werden kann

32 - 59 Dieser Abschnitt wird mit Event-Handler bezeichnet Hier wird auf die Kommandos (Events) reagiert und die ent-sprechenden Schritte ausgefuumlhrt zB schalten LED je nach Wert der Variablen Parameter an- bzw ausschalten

46 52

In beiden Zeilen wird ein Wert eines Ports abgefragt Unterschiedlich ist dass in Zeile 46 der Status eines Ausgangs abgefragt wird (porta0) und in Zeile 52 der Zustand eines Eingangs (pina0) Die Anweisung IF porta0 = 0 THEN pruumlft (hier ist = ein Vergleich und KEINE Zuweisung) ob zuletzt die LED ausgeschaltet (Zuweisung porta0 = 0) wurde Die Anweisung IF pina1= 1 THEN liest den Status eines Eingangs Hier kann festgestellt werden ob der Eingang uumlber den internen Pull-UP-Widerstand auf +5V liegt (pina1 liefert 1) oder ob der Schalter den Eingang mit Masse (0V) verbindet (pina1 liefert 0)

Tab 14 Erlaumluterung des Mikrocontroller-Programmcodes fuumlr elementares RCL

70

In Bascom AVR eine neue Datei erzeugen (FileNew) den Programmcode ohne Kommenta-re eingeben und mit ProgramCompile (F7) eine Hexadezimaldatei erzeugen Die Hexadezi-maldatei mit dem AVR-Studio und dem AVR-ISP-Programmer in den Mikrocontroller schrei-ben (larr 222 Programmuumlbertragung) Nach dem Verbinden von Computer und Interface per Null-Modem-Kabel kann durch Eingabe von in das konfigurierte Hyperterminal die Befehls-liste in Abb 30 aufgerufen werden

Abb 30 Aufgerufene Befehlsliste im Hyperterminal

Durch Eingabe von LED on oder LED off kann die LED ein- und ausgeschaltet LED zeigt den Status der LED und sw den Status des Tasters an Alternativ zum Hyperterminal kann auch das Terminal in BASCOM unter ToolsTerminal Emulator verwendet werden (larr 422)

464 Ferngesteuertes RCL Zum Ansteuern des Interfaces und zum Bedienen des Versuchsaufbaus uumlber das Internet wird eine Webseite benoumltigt die dem Benutzer alle Bedienelemente des Experiments zur Verfuumlgung stellt

Der Benutzer benoumltigt anklickbare Buttons im Webbrowser

Der Webserver muss die Information welcher Button gedruumlckt wurde empfangen und ein entsprechendes Kommando uumlber die serielle Schnittstelle an das Interface senden

Beide Schritte sind im nachfolgenden PHPHTML-Quellcode zusammengefasst 01 ltDOCTYPE HTML PUBLIC -W3CDTD HTML 401 TransitionalEN httpwwww3orgTRhtml4loosedtdgt 02 lthtmlgt 03 ltheadgt 04 ltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1gt 05 lttitlegtelementares RCLlttitlegt 06 ltheadgt 07 08 ltbodygt 09 ltphp 10 if (isset($_POST[Kommando])) wurde bereits Kommando gesendet 11 if( ( $handle = fopen( COM1 w+ ) ) ) Schnittstelle oumlffnen 12

71

13 throw new Exception( Can not access serial port 2 ) ohne Erfolg 14 15 fwrite( $handle $_POST[Kommando] chr( 13 ) ) Befehl an Interface senden 16 switch ( $_POST[Kommando] ) Antwort von Interface auswerten 17 case LED $tmp = fgets( $handle ) Echo von Interface ignorieren 18 $antwort = fgets( $handle ) Antwort des Interfaces 19 echo Antwort $antwort Ausgabe auf Webseite 20 break switch verlassen 21 22 case SW $tmp = fgets( $handle ) Echo von Interface ignorieren 23 $antwort = fgets( $handle ) Antwort des Interfaces 24 echo Antwort $antwort Ausgabe auf Webseite 25 break switch verlassen 26 27 28 29 fclose( $handle ) Schnittstelle schlieszligen 30 31 else 32 `mode com1 BAUD=9600 PARITY=N data=8 stop=1 xon=off` Schnittstellenparameter setzen 33 34 35 gt 36 37 lth3gtBefehl sendenlth3gt 38 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 39 ltinput type=hidden name=Kommando value=LED ON gt 40 ltinput type=submit value=LED anschalten gt 41 ltformgt 42 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 43 ltinput type=hidden name=Kommando value=LED OFF gt 44 ltinput type=submit value=LED ausschalten gt 45 ltformgt 46 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 47 ltinput type=hidden name=Kommando value=LED gt 48 ltinput type=submit value=LED abfragen gt 49 ltformgt 50 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 51 ltinput type=hidden name=Kommando value=SW gt 52 ltinput type=submit value=Taster abfragen gt 53 ltformgt 54 ltbodygt 55 lthtmlgt Den Quellcode in den Texteditor kopieren und im Ordner htdocs von XAMPP z B unter rclphp speichern HTML-Dateien mit PHP-Code (Zeilen 9-35) muumlssen mit der Erweiterung php gespeichert werden damit der Apache Webserver zwischen HTML-Seiten mit und ohne PHP-Code unterscheiden kann Den installierten Apache Webserver starten (larr 452) und im Adressfeld des Webbrowsers die IP-Adresse http127001rclphp aufrufen Das Bedi-enfeld des elementaren RCLs in Abb 31 wird im Browserfenster angezeigt

72

Abb 31 Laborseite des elementaren RCLs

Im Bedienfeld kann die LED an- und ausgeschaltet sowie der Status von LED und Taster abgefragt werden

  • 0 Warum ein Tutorial zur RCL-Technik
  • 1 Technische Konzeption
    • 11 Einfuumlhrung
    • 12 Wahl der RCL-Technik
      • 2 Lokal gesteuertes RCL
        • 21 Interface
          • 211 Mikrocontroller
          • 212 Basisschaltung und Erweiterungsschaltungen
          • 213 Programmierung des Mikrocontrollers
            • 22 Hyperterminal
            • 23 Positionieren von Objekten
              • 231 Hybrid-Schrittmotoren
              • 232 Schrittmotorsteuerung und Positionierungsmechanik
                  • 3 Ferngesteuertes RCL
                    • 31 RCL-Server
                    • 32 Laborseite
                      • 321 Steuerung des RCLs uumlber das Bedienfeld
                      • 322 Videouumlbertragung im Webcamfeld
                        • 33 Standard-Lernumgebung
                          • 4 ANHANG
                            • 41 Interface in Basisschaltung
                              • 411 Schaltplan und Bauteilliste
                              • 412 Bestuumlckung der Platine
                                • 42 Erweiterungsschaltungen
                                  • 421 Uumlbersicht
                                  • 422 TMC222-Modul zur Schrittmotorsteuerung
                                    • 4221 Schaltplan und Bauteilliste
                                    • 4222 Bestuumlckung der Platine
                                    • 4223 Quellcode des Mikrocontroller-Programms
                                      • 423 Geschaltete Spannungsquellen und Verbraucher
                                      • 424 Steuerung von Gleichstrommotoren
                                        • 43 Quellcodes zum RCL Elektronenbeugung
                                          • 431 Mikrocontroller-Programmierung
                                          • 432 PHP-Programmierung
                                          • 433 Bedienfeld der Laborseite
                                          • 434 Webcamfeld der Laborseite
                                            • 44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung
                                              • 441 AVR-Studio 418
                                                • 4411 Installation
                                                • 4412 Konfiguration
                                                  • 442 BASCOM 11198 Demoversion
                                                    • 4421 Installation
                                                    • 4422 Konfiguration
                                                        • 45 Installation und Konfiguration von Programmen auf dem RCL-Server
                                                          • 451 Einrichten des Internet-Zugangs
                                                          • 452 Paket XAMPP 174
                                                          • 453 Videoserver webcamXP 5 Private
                                                          • 454 Terminalprogramm Hyperterminal
                                                          • 455 Fernwartungssoftware TeamViewer 6 Host
                                                            • 46 Selbstbau eines elementaren RCLs
                                                              • 461 Hard- und Software
                                                              • 462 Bestuumlckung der Platine
                                                              • 463 Lokal gesteuertes RCL
                                                              • 464 Ferngesteuertes RCL

50

51

433 Bedienfeld der Laborseite

Tab 11 erlaumlutert die Funktion der Bloumlcke im Quellcode

Zeilen Funktion 1 Datei defaultconf einbinden 2 Datei headtpl einbinden

5 - 11 Ausgabe der verbleibenden Experimentierzeit 18 - 21 Button zum Einschalten der Elektronenbeugungsroumlhre 28 - 30 Eingabefeld fuumlr die Beschleunigungsspannung

37 Ruumlckmeldung zur eingegebenen Beschleunigungsspannung 42 Datei foottpl einbinden

Tab 11 Funktion der Programmbloumlcke in der Datei experi-menttpl

52

434 Webcamfeld der Laborseite

In Tab 12 ist die Funktion der Programmbloumlcke und die Anpassungen der Vorlage an das RCL Elektronenbeugung beschrieben

Zeilen Funktion Anpassung RCL Elektronenbeugung

5 Titelangabe erscheint als Tabulatorbeschriftung in Browsern

Name des RCLs eintragen

11 - 15 16 - 20

Zwei Javascripts zum getrennten Aufrufen zweier Po-pup-Fenster mit dargestelltem Webcambildern 1 und 2

Javascript 1 die IP-Adresse eintragen Javascript 2 auskommentiert weil nicht benoumltigt

24 - 40 42 - 60

Zwei Javascripts zum Aktualisieren der Webcambilder 1 und 2

Javascript 2 auskommentiert weil nicht benoumltigt

67 - 71 79 - 83

Aufrufen des ersten Webcambilds der Webcams 1 und 2 beim Aufrufen der Datei

Webcambild 2 auskommentiert weil nicht benoumltigt

72 - 78 84 - 90

Buttons zum Aufrufen der Screenshots der Webcam-bilder 1 und 2

Button 2 auskommentiert weil nicht benoumltigt

91 - 95 Zeile der Tabelle zum Eintragen von Informationen die sich auf die Webcambilder oder den Versuch beziehen

Text in Zeile der Tabelle geschrieben

Tab 12 Funktionen der Codeabschnitte in der Datei videohtm und Anpassung der Vor-lage an das RCL Elektronenbeugung

53

44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung Im Folgenden wird die Installation und Konfiguration des AVR-Studios 418 und der Bascom 11198 Demoversion beschrieben Alle Anleitungen sind zeilenweise von links nach rechts zu lesen

441 AVR-Studio 418 4411 Installation Auf der Webseite von ATMEL Register AVR Studio 418 (build 684) anklicken und Registrie-rungsformular ausfuumlllen Danach die Datei AvrStudio418Setup herunterladen Durch Dop-pelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen Next waumlhlen

I accept hellip und Next waumlhlen Installationsordner und Next waumlhlen

54

Installupgrade hellip und Next waumlhlen Install waumlhlen Die Installation beginnt

Finish waumlhlen

4412 Konfiguration AVR Studio 418 in Windows XP Professional unter StartProgramme aufrufen

Startfenster mit Cancel schlieszligen Unter ToolsProgram AVR Auto Connect waumlhlen

55

Im eingeblendeten Fenster auf der Registerkarte Main als Device ATmega16 und als Programming Mode ISP mo-de waumlhlen

Optional kann Signatur gelesen werden

In der Registerkarte Fuses alle Haumlkchen und Auswahlfel-der wie angegeben waumlhlen

Dann Program waumlhlen

442 BASCOM 11198 Demoversion 4421 Installation Auf der Webseite von Bascom unter Bascom AVR Demo die Zip-Datei setupdemoexe her-untergeladen Durch Doppelklick auf den Dateinamen die Installation starten

Next waumlhlen I accept the agreement und Next waumlhlen

56

Next waumlhlen Installationsordner eingeben und Next waumlhlen

Eintrag im Start-Menuuml eingeben und Next waumlhlen Next waumlhlen

Yes restart the computer now und Finish waumlhlen

57

4422 Konfiguration Bascom AVR in Windows XP Professional unter StartProgramme zum Einstellen der Para-meter des Mikrocontrollers und des Terminals aufrufen

OptionsCompilerChip waumlhlen Einstellungen wie im Bild vornehmen und OK waumlhlen

Auf der Registerkarte Communications Einstellungen wie im Bild vornehmen und OK waumlhlen

Unter OptionsCommunication Einstellungen wie im Bild

vornehmen und OK waumlhlen FileNew waumlhlen Unter ToolsTerminal emulator das Terminal aufrufen und

eingeben Die Befehlsliste des RCLs Elektronenbeu-gung wird angezeigt

45 Installation und Konfiguration von Programmen auf dem RCL-Server Im Folgenden wird der Download die Installation und die Konfiguration von Programmen auf dem RCL-Server unter Windows XP Professional beschrieben Alle Anleitungen sind zeilen-weise von links nach rechts zu lesen Die Installation der Programme sollte in der angegebe-nen Reihenfolge erfolgen

58

451 Einrichten des Internet-Zugangs LAN-Verbindung unter StartSystemsteuerungNetzwerkverbindungen aufrufen

Internetprotokoll (TCPIP) und Eigenschaften waumlhlen Folgende IP-Adresse verwenden waumlhlen IP-Adressen ein-

geben und OK waumlhlen

452 Paket XAMPP 174 Unter apache friends - xampp fuumlr windows und XAMPP Windows 174 Installer anklicken und Datei xampp-win32-174-VC6-installerexe speichern Durch Doppelklick auf die Datei die Installation starten

Sprache und Ok waumlhlen Ok waumlhlen

59

Weiter waumlhlen Zielverzeichnis mit Durchsuchen waumlhlen oder eingeben

Apache nicht als Dienst installieren Fertig stellen waumlhlen

Ja waumlhlen Zum Starten des Apache Webservers das Control Panel

unter StartProgrammeXAMPP 173 for Windows mit Start starten Anstelle von Start erscheint Running

Zum Beenden des Apache Webservers Stop waumlhlen Zum Beenden des Control Panels Exit waumlhlen

60

453 Videoserver webcamXP 5 Private Auf der Webseite von Moonware Studios unter webcamXP 55xx die Datei wlite550 herun-terladen Durch Doppelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen I Agree waumlhlen

Next waumlhlen Auszliger webcamXP 5 brauchen keine weiteren Komponen-

ten installiert zu werden

Den vorgeschlagenen Ordner und Install waumlhlen Finish waumlhlen

61

WebcamXP unter StartProgramme aufrufen Zugesandte

Lizenz-Daten in das eingeblendete Fenster eingeben und Register waumlhlen

Beim Starten des Programms stellt webcamXP automa-tisch eine Verbindung zu den am Computer angeschlosse-nen Webcams her

Nach dem Start ist Uumlberwachen gewaumlhlt Durch Rechts-klick mit der Maus auf das Videofenster wird zu jeder Vi-deoquelle ein Kontextmenuuml angezeigt Wird kein Videobild dargestellt das Kontextmenuuml aufrufen Art der Videoquelle waumlhlen (hier USB) und unter den erkannten Videoquellen (hier USB-Videogeraumlt) die gewuumlnschte waumlhlen

Das Videoformat muss fuumlr eine passende Darstellung auf

der Laborseite auf 320 x 240 eingestellt sein Ist das nicht der Fall im Kontextmenuuml unter Video Format einstellen

In gleicher Weise kann eine zweite Videoquelle hinzugefuumlgt werden

In der Registerkarte Web Broadcast kann unter

Broadcast (HTTP) der Videoserver mit Ausschalten ge-stoppt und mit Aktivieren gestartet werden

Zur Zielwahl des Webservers (131246237167 - Internet D16W3X3J - Computer 127001 - Local Host) Videoser-ver stoppen und einstellen Videoserver wieder starten

62

454 Terminalprogramm Hyperterminal Hyperterminal in Windows XP Professional unter StartProgrammeZubehoumlrKommunikation aufrufen

Name der neuen Verbindung - z B Interface - eingeben

und OK waumlhlen Die Verbindung zwischen Computer und Interface wurde

uumlber einen USB-Seriell-Adapter hergestellt Dann erschei-nen zwei zusaumltzliche Eintraumlge (Motorola Comp Modem und COM5) in der Liste Prinzipiell muss eine COMx-Verbindung gewaumlhlt werden

Eigenschaften von COM 5 wie im Bild einstellen und OK

waumlhlen DateiEigenschaften aufrufen und ASCII-Konfiguration

waumlhlen

63

Haken bei Eingegebene Zeichen lokal ausgeben (lokales

Echo) setzen um eingegebenen Zeichen im Hyperterminal zu sehen

Bei funktionsfaumlhiger Verbindung erscheint nach Eingabe von Return die Befehlsliste des Interface

Durch Aufrufen von DateiSpeichern die erstellte Verbin-

dung z B auf dem Desktop speichern Dadurch braucht die Verbindung nicht immer wieder von neuem konfiguriert wer-den

Nach Aufrufen von DateiBeenden die bestehende Verbin-dung mit Ja beenden

64

Wurde ein falscher COM-Port gewaumlhlt reagiert das Inter-

face auf die Eingabe Return nicht Hyperterminal dann beenden

Der COM-Port kann dann nicht unter DateiEigenschaften im Hyperterminal aber unter Eigenschaften des Kontext-menuumls der Datei Interfaceht in der Registerkarte Verbin-den mit geaumlndert werden Dann OK waumlhlen und erneut Verbindung testen

65

455 Fernwartungssoftware TeamViewer 6 Host Auf der Webseite von Teamviewer GmbH unter Fuumlr unbeaufsichtigte Server TeamViewer Vollversion die Datei TeamViewer_Setup-wq herunterladen Das Programm muss auf dem RCL-Server und dem Computer der auf den RCL-Server zugreifen soll installiert werden Durch Doppelklick auf die Datei die Installation starten

Ausfuumlhren waumlhlen Weiter waumlhlen

Fuumlr die private nicht kommerzielle Nutzung ist Teamviewer kostenlos

privat nicht-kommerziell und Weiter waumlhlen

Beide Haumlkchen setzen und Weiter waumlhlen

66

Ja un Weiter waumlhlen Weiter

Computername und Kennwort fuumlr den Zugriff auf den RCL-Server oder den eigenen Computer vergeben Kenn wort notie-ren

Ein Teamviewerkonto ist nicht erforderlich Kann auch spaumlter noch eingerichtet werden

ID fuumlr den Computer auf dem das Programm installiert wird fuumlr Zugriff notieren

Das Programm wird gestartet Standardmaumlszligig vorein-gestellt ist der Start des Programms beim Start des Be-trienssystems

67

46 Selbstbau eines elementaren RCLs 461 Hard- und Software Auch ohne gleich ein vielleicht teures physikalisches Experiment zu steuern laumlsst sich mit wenigen Bauelementen ein elementares RCL realisieren Von einer Webseite im Internet sol-len eine Leuchtdiode (LED) ein- oder ausgeschaltet sowie der Zustand der Leuchtdiode und eines Tasters abgefragt werden An Hard- und Software werden benoumltigt

1 Low-Current-LED 5 mm 2 mA 1 Widerstand 18 kΩ 1 Taster und optional zwei 10-polige Wannenstecker mit ungefaumlhr 10 cm passendem Flachbandkabel und Buchsen

Interface in Basisschaltung Null-Modem-Kabel 12 V DC Steckernetzteil (larr 1)

Installierte Bascom-Demo-Version (larr 42)

AVR ISP-Programmer mit 10-poligem Programmierkabel

Installiertes und konfiguriertes AVR Studio 418 (larr 41)

Installiertes Paket XAMPP (larr 52)

Texteditor wie z B Notepad in Windows XP Professional

Konfigurierte Hyperterminalverbindung (larr 54)

462 Bestuumlckung der Platine Abb 29 zeigt zur Orientierung fuumlr das Einloumlten der Bauelemente die fertig bestuumlckte Platine des Interface

Abb 29 Mit elementarem RCL bestuumlckte Platine

des Interface

LED mit Vorwiderstand und der Taster sind rechts neben dem Mikrocontroller im Lochraster-bereich aufgebaut und uumlber Wannenstecker und Flachbandkabel mit dem Port A des Mikro-controllers verbunden (die drei Bauteile rechts neben dem ATmega16 werden nicht benouml-tigt) Tab 13 erlaumlutert die Schritte zur Bestuumlckung der Platine des Interface

68

Nr Schaltung Erlaumluterung

1

Die Leuchtdiode (LED) mit dem Pluspol (langes Beinchen) an PortA0 (PIN40 oben rechts) des Mikrocontrollers anloumlten

An das kurze Beinchen einen 18kΩ Widerstand loumlten dessen anderes Ende mit der Masse (GND) verbinden

2

Den Taster mit PortA1 (PIN39 = 2 Beinchen von oben rechts) und Masse (GND) verbinden

3

Draufsicht

Belegung des 10-poligen Wannensteckers 1 GND (Masse) im Foto oben links 2 +5 V 3 PortA0 4 PortA1 10 PortA7 im Foto unten rechts

Tab 13 Schritte zum Aufbau des elementaren RCLs

463 Lokal gesteuertes RCL Nachfolgend ist der Basic-Programmcode des Mikrocontrollers zur Steuerung und Abfrage der LED und des Tasters angegeben 01 $regfile = m16DEFdat Microcontroller ATmega16 02 $crystal = 11059200 110592MHz Quarz 03 $baud = 9600 Baudrate 04 05 ---[ Variables ]--------------------------------------------------------------- 06 Dim Rs232kommando As String 10 erst Befehlspuffer dann Kommando 07 Dim Parameter As String 10 Parameter 08 Dim Str_pos As Byte Position von Leerzeichen zur Trennung von Kommando und Pa-rameter 09 10 ---[ Initialisierung ]--------------------------------------------------------- 11 Ddra0 = 1 PortA0 als Ausgang fuumlr LED 12 Porta0 = 0 LED aus 13 Ddra1 = 0 PortA1 als Eingang fuumlr Taster 14 Porta1 = 1 Pull-Up aktivieren 15 16 ---[ Main program loop ]------------------------------------------------------- 17 Do Start der Endlos-Schleife 18 19 If Ischarwaiting() = 1 Then Zeichen uumlber RS232 empfangen 20 Input Rs232kommando neues Kommando lesen 21 Parameter = Parameter initialisieren 22 Str_pos = Instr(rs232kommando ) Leerzeichen im Kommando suchen 23 If Str_pos gt 0 Then falls Leerzeichen dann in Kommando+Parameter zerlegen 24 Incr Str_pos Str_pos soll jetzt auf 1Zeichen des Parameters zeigen 25 Parameter = Mid(rs232kommando Str_pos ) Parameter = Teilstring nach Leerzeichen 26 Parameter = Ucase(parameter) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 27 Str_pos = Str_pos - 2 Str_pos soll jetzt auf letztes Zeichen des Kommandos zeigen 28 Rs232kommando = Left(rs232kommando Str_pos)Kommando = Teilstring vor Leerzeichen 29 Rs232kommando = Ucase(rs232kommando) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 30 End If 31 32 Select Case Rs232kommando Eventhandler Interpretation der Kommandos 33 Case Print Hilfe Hilfeseite anzeigen 34 Print LED on - LED einschalten 35 Print LED off - LED ausschalten 36 Print LED - zeigt Status der LED an 37 Print SW - zeigt Status des Schalters an 38

1K8

LED rotmicroC PortA0(PIN40)

Taster

microC PortA1(PIN39)

1

3

2

69

39 Case LED If Parameter = ON Then LED schalten 40 Porta0 = 1 41 End If 42 If Parameter = OFF Then 43 Porta0 = 0 44 End If 45 46 Case LED If Porta0 = 0 Then Status der LED ausgeben 47 Print LED aus 48 Else 49 Print LED an 50 End If 51 52 Case SW If Pina1 = 1 Then Status des Schalters ausgeben 53 Print Taster offen 54 Else 55 Print Taster geschlossen 56 End If 57 58 Case Else Print gt Rs232kommando lt ungueltiger Befehl - weitere Infos mit Info bei unguumlltigen Eingaben 59 End Select 60 61 End If 62 63 Loop Endlos-Schleife Springe zu Do 64 65 End wird nie erreicht

Der erste Teil des Programms (Zeilen 1 - 15) enthaumllt die Systemparameter Variablen und Initialisierung der Ein- und Ausgaumlnge Der zweite Teil enthaumllt ab Zeile 17 das Hauptpro-gramm in dem Benutzereingaben uumlber die serielle Schnittstelle empfangen interpretiert und in entsprechende Anweisungen umgesetzt werden Tab 14 erlaumlutert den Programmcode de-taillierter

Zeilen Erlaumluterung

1 - 3 Diese Angaben teilen dem Compiler (Bascom) mit welcher Prozessor eingesetzt wird wie schnell dieser getaktet (Quarz) ist und mit welcher Uumlbertragungsgeschwindigkeit die Kommunikation uumlber die serielle Schnittstelle (RS232) mit dem PC erfolgen soll

6 - 8 Es werden drei Variablen genutzt Die Eingabe uumlber die serielle Schnittstelle wird in rs232kommando gespeichert Es wird ein Text der Form Kommando ltLeerzeichengt Parameter erwartet so dass die Variable Parameter den-selbigen aufnimmt Die Variable str_pos wird fuumlr die Trennung von Kommando und Parameter benoumltigt

11 - 14

Mit dem Befehl ddrPX (ddr = data direction) wird festgelegt ob ein Beinchen als Ausgang (=1) oder als Eingang (=0) arbeiten soll Der ATmega16 besitzt 32 Ein-Ausgaumlnge die in vier Ports (P=AD) zu je 8 Pins (X=07) unterteilt sind ddrA0 = 1 legt also das 1 Beinchen (Pin 0) von PortA als Ausgang (=1) fest Mit dem Befehl PortA0 =1 kann dieser Pin dann durch Zuweisen von 1 oder 0 an- bzw ausgeschaltet werden Im Datenblatt erfahren Sie welches der 40 Beinchen des Mikrocontrollers wie bezeichnet wird (Pin-Belegung) Wird ein Beinchen als Eingang verwendet (ddrA1 = 0) koumlnnen Sie optional einen so genannten Pull-Up-Widerstand aktivieren (PortA1=1) oder deaktivieren (PortA1=0) Auch hierzu sollten Sie sich unbedingt mit dem Datenblatt vertraut machen

17 63 Das Hauptprogramm besteht aus einer Endlosschleife d h der Mikrocontroller verrichtet ununterbrochen seinen Job so lange er mit Strom versorgt wird

19 - 30 Falls ein Zeichen uumlber die serielle Schnittstelle empfangen wurde wird dieses und alle folgenden gelesen Anschlie-szligend wird gepruumlft ob der empfangene Text von der Form Kommando ltLeerzeichengt Parameter ist so dass er ge-gebenenfalls in ein Kommando und einen Parameter zerlegt werden kann

32 - 59 Dieser Abschnitt wird mit Event-Handler bezeichnet Hier wird auf die Kommandos (Events) reagiert und die ent-sprechenden Schritte ausgefuumlhrt zB schalten LED je nach Wert der Variablen Parameter an- bzw ausschalten

46 52

In beiden Zeilen wird ein Wert eines Ports abgefragt Unterschiedlich ist dass in Zeile 46 der Status eines Ausgangs abgefragt wird (porta0) und in Zeile 52 der Zustand eines Eingangs (pina0) Die Anweisung IF porta0 = 0 THEN pruumlft (hier ist = ein Vergleich und KEINE Zuweisung) ob zuletzt die LED ausgeschaltet (Zuweisung porta0 = 0) wurde Die Anweisung IF pina1= 1 THEN liest den Status eines Eingangs Hier kann festgestellt werden ob der Eingang uumlber den internen Pull-UP-Widerstand auf +5V liegt (pina1 liefert 1) oder ob der Schalter den Eingang mit Masse (0V) verbindet (pina1 liefert 0)

Tab 14 Erlaumluterung des Mikrocontroller-Programmcodes fuumlr elementares RCL

70

In Bascom AVR eine neue Datei erzeugen (FileNew) den Programmcode ohne Kommenta-re eingeben und mit ProgramCompile (F7) eine Hexadezimaldatei erzeugen Die Hexadezi-maldatei mit dem AVR-Studio und dem AVR-ISP-Programmer in den Mikrocontroller schrei-ben (larr 222 Programmuumlbertragung) Nach dem Verbinden von Computer und Interface per Null-Modem-Kabel kann durch Eingabe von in das konfigurierte Hyperterminal die Befehls-liste in Abb 30 aufgerufen werden

Abb 30 Aufgerufene Befehlsliste im Hyperterminal

Durch Eingabe von LED on oder LED off kann die LED ein- und ausgeschaltet LED zeigt den Status der LED und sw den Status des Tasters an Alternativ zum Hyperterminal kann auch das Terminal in BASCOM unter ToolsTerminal Emulator verwendet werden (larr 422)

464 Ferngesteuertes RCL Zum Ansteuern des Interfaces und zum Bedienen des Versuchsaufbaus uumlber das Internet wird eine Webseite benoumltigt die dem Benutzer alle Bedienelemente des Experiments zur Verfuumlgung stellt

Der Benutzer benoumltigt anklickbare Buttons im Webbrowser

Der Webserver muss die Information welcher Button gedruumlckt wurde empfangen und ein entsprechendes Kommando uumlber die serielle Schnittstelle an das Interface senden

Beide Schritte sind im nachfolgenden PHPHTML-Quellcode zusammengefasst 01 ltDOCTYPE HTML PUBLIC -W3CDTD HTML 401 TransitionalEN httpwwww3orgTRhtml4loosedtdgt 02 lthtmlgt 03 ltheadgt 04 ltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1gt 05 lttitlegtelementares RCLlttitlegt 06 ltheadgt 07 08 ltbodygt 09 ltphp 10 if (isset($_POST[Kommando])) wurde bereits Kommando gesendet 11 if( ( $handle = fopen( COM1 w+ ) ) ) Schnittstelle oumlffnen 12

71

13 throw new Exception( Can not access serial port 2 ) ohne Erfolg 14 15 fwrite( $handle $_POST[Kommando] chr( 13 ) ) Befehl an Interface senden 16 switch ( $_POST[Kommando] ) Antwort von Interface auswerten 17 case LED $tmp = fgets( $handle ) Echo von Interface ignorieren 18 $antwort = fgets( $handle ) Antwort des Interfaces 19 echo Antwort $antwort Ausgabe auf Webseite 20 break switch verlassen 21 22 case SW $tmp = fgets( $handle ) Echo von Interface ignorieren 23 $antwort = fgets( $handle ) Antwort des Interfaces 24 echo Antwort $antwort Ausgabe auf Webseite 25 break switch verlassen 26 27 28 29 fclose( $handle ) Schnittstelle schlieszligen 30 31 else 32 `mode com1 BAUD=9600 PARITY=N data=8 stop=1 xon=off` Schnittstellenparameter setzen 33 34 35 gt 36 37 lth3gtBefehl sendenlth3gt 38 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 39 ltinput type=hidden name=Kommando value=LED ON gt 40 ltinput type=submit value=LED anschalten gt 41 ltformgt 42 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 43 ltinput type=hidden name=Kommando value=LED OFF gt 44 ltinput type=submit value=LED ausschalten gt 45 ltformgt 46 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 47 ltinput type=hidden name=Kommando value=LED gt 48 ltinput type=submit value=LED abfragen gt 49 ltformgt 50 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 51 ltinput type=hidden name=Kommando value=SW gt 52 ltinput type=submit value=Taster abfragen gt 53 ltformgt 54 ltbodygt 55 lthtmlgt Den Quellcode in den Texteditor kopieren und im Ordner htdocs von XAMPP z B unter rclphp speichern HTML-Dateien mit PHP-Code (Zeilen 9-35) muumlssen mit der Erweiterung php gespeichert werden damit der Apache Webserver zwischen HTML-Seiten mit und ohne PHP-Code unterscheiden kann Den installierten Apache Webserver starten (larr 452) und im Adressfeld des Webbrowsers die IP-Adresse http127001rclphp aufrufen Das Bedi-enfeld des elementaren RCLs in Abb 31 wird im Browserfenster angezeigt

72

Abb 31 Laborseite des elementaren RCLs

Im Bedienfeld kann die LED an- und ausgeschaltet sowie der Status von LED und Taster abgefragt werden

  • 0 Warum ein Tutorial zur RCL-Technik
  • 1 Technische Konzeption
    • 11 Einfuumlhrung
    • 12 Wahl der RCL-Technik
      • 2 Lokal gesteuertes RCL
        • 21 Interface
          • 211 Mikrocontroller
          • 212 Basisschaltung und Erweiterungsschaltungen
          • 213 Programmierung des Mikrocontrollers
            • 22 Hyperterminal
            • 23 Positionieren von Objekten
              • 231 Hybrid-Schrittmotoren
              • 232 Schrittmotorsteuerung und Positionierungsmechanik
                  • 3 Ferngesteuertes RCL
                    • 31 RCL-Server
                    • 32 Laborseite
                      • 321 Steuerung des RCLs uumlber das Bedienfeld
                      • 322 Videouumlbertragung im Webcamfeld
                        • 33 Standard-Lernumgebung
                          • 4 ANHANG
                            • 41 Interface in Basisschaltung
                              • 411 Schaltplan und Bauteilliste
                              • 412 Bestuumlckung der Platine
                                • 42 Erweiterungsschaltungen
                                  • 421 Uumlbersicht
                                  • 422 TMC222-Modul zur Schrittmotorsteuerung
                                    • 4221 Schaltplan und Bauteilliste
                                    • 4222 Bestuumlckung der Platine
                                    • 4223 Quellcode des Mikrocontroller-Programms
                                      • 423 Geschaltete Spannungsquellen und Verbraucher
                                      • 424 Steuerung von Gleichstrommotoren
                                        • 43 Quellcodes zum RCL Elektronenbeugung
                                          • 431 Mikrocontroller-Programmierung
                                          • 432 PHP-Programmierung
                                          • 433 Bedienfeld der Laborseite
                                          • 434 Webcamfeld der Laborseite
                                            • 44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung
                                              • 441 AVR-Studio 418
                                                • 4411 Installation
                                                • 4412 Konfiguration
                                                  • 442 BASCOM 11198 Demoversion
                                                    • 4421 Installation
                                                    • 4422 Konfiguration
                                                        • 45 Installation und Konfiguration von Programmen auf dem RCL-Server
                                                          • 451 Einrichten des Internet-Zugangs
                                                          • 452 Paket XAMPP 174
                                                          • 453 Videoserver webcamXP 5 Private
                                                          • 454 Terminalprogramm Hyperterminal
                                                          • 455 Fernwartungssoftware TeamViewer 6 Host
                                                            • 46 Selbstbau eines elementaren RCLs
                                                              • 461 Hard- und Software
                                                              • 462 Bestuumlckung der Platine
                                                              • 463 Lokal gesteuertes RCL
                                                              • 464 Ferngesteuertes RCL

51

433 Bedienfeld der Laborseite

Tab 11 erlaumlutert die Funktion der Bloumlcke im Quellcode

Zeilen Funktion 1 Datei defaultconf einbinden 2 Datei headtpl einbinden

5 - 11 Ausgabe der verbleibenden Experimentierzeit 18 - 21 Button zum Einschalten der Elektronenbeugungsroumlhre 28 - 30 Eingabefeld fuumlr die Beschleunigungsspannung

37 Ruumlckmeldung zur eingegebenen Beschleunigungsspannung 42 Datei foottpl einbinden

Tab 11 Funktion der Programmbloumlcke in der Datei experi-menttpl

52

434 Webcamfeld der Laborseite

In Tab 12 ist die Funktion der Programmbloumlcke und die Anpassungen der Vorlage an das RCL Elektronenbeugung beschrieben

Zeilen Funktion Anpassung RCL Elektronenbeugung

5 Titelangabe erscheint als Tabulatorbeschriftung in Browsern

Name des RCLs eintragen

11 - 15 16 - 20

Zwei Javascripts zum getrennten Aufrufen zweier Po-pup-Fenster mit dargestelltem Webcambildern 1 und 2

Javascript 1 die IP-Adresse eintragen Javascript 2 auskommentiert weil nicht benoumltigt

24 - 40 42 - 60

Zwei Javascripts zum Aktualisieren der Webcambilder 1 und 2

Javascript 2 auskommentiert weil nicht benoumltigt

67 - 71 79 - 83

Aufrufen des ersten Webcambilds der Webcams 1 und 2 beim Aufrufen der Datei

Webcambild 2 auskommentiert weil nicht benoumltigt

72 - 78 84 - 90

Buttons zum Aufrufen der Screenshots der Webcam-bilder 1 und 2

Button 2 auskommentiert weil nicht benoumltigt

91 - 95 Zeile der Tabelle zum Eintragen von Informationen die sich auf die Webcambilder oder den Versuch beziehen

Text in Zeile der Tabelle geschrieben

Tab 12 Funktionen der Codeabschnitte in der Datei videohtm und Anpassung der Vor-lage an das RCL Elektronenbeugung

53

44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung Im Folgenden wird die Installation und Konfiguration des AVR-Studios 418 und der Bascom 11198 Demoversion beschrieben Alle Anleitungen sind zeilenweise von links nach rechts zu lesen

441 AVR-Studio 418 4411 Installation Auf der Webseite von ATMEL Register AVR Studio 418 (build 684) anklicken und Registrie-rungsformular ausfuumlllen Danach die Datei AvrStudio418Setup herunterladen Durch Dop-pelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen Next waumlhlen

I accept hellip und Next waumlhlen Installationsordner und Next waumlhlen

54

Installupgrade hellip und Next waumlhlen Install waumlhlen Die Installation beginnt

Finish waumlhlen

4412 Konfiguration AVR Studio 418 in Windows XP Professional unter StartProgramme aufrufen

Startfenster mit Cancel schlieszligen Unter ToolsProgram AVR Auto Connect waumlhlen

55

Im eingeblendeten Fenster auf der Registerkarte Main als Device ATmega16 und als Programming Mode ISP mo-de waumlhlen

Optional kann Signatur gelesen werden

In der Registerkarte Fuses alle Haumlkchen und Auswahlfel-der wie angegeben waumlhlen

Dann Program waumlhlen

442 BASCOM 11198 Demoversion 4421 Installation Auf der Webseite von Bascom unter Bascom AVR Demo die Zip-Datei setupdemoexe her-untergeladen Durch Doppelklick auf den Dateinamen die Installation starten

Next waumlhlen I accept the agreement und Next waumlhlen

56

Next waumlhlen Installationsordner eingeben und Next waumlhlen

Eintrag im Start-Menuuml eingeben und Next waumlhlen Next waumlhlen

Yes restart the computer now und Finish waumlhlen

57

4422 Konfiguration Bascom AVR in Windows XP Professional unter StartProgramme zum Einstellen der Para-meter des Mikrocontrollers und des Terminals aufrufen

OptionsCompilerChip waumlhlen Einstellungen wie im Bild vornehmen und OK waumlhlen

Auf der Registerkarte Communications Einstellungen wie im Bild vornehmen und OK waumlhlen

Unter OptionsCommunication Einstellungen wie im Bild

vornehmen und OK waumlhlen FileNew waumlhlen Unter ToolsTerminal emulator das Terminal aufrufen und

eingeben Die Befehlsliste des RCLs Elektronenbeu-gung wird angezeigt

45 Installation und Konfiguration von Programmen auf dem RCL-Server Im Folgenden wird der Download die Installation und die Konfiguration von Programmen auf dem RCL-Server unter Windows XP Professional beschrieben Alle Anleitungen sind zeilen-weise von links nach rechts zu lesen Die Installation der Programme sollte in der angegebe-nen Reihenfolge erfolgen

58

451 Einrichten des Internet-Zugangs LAN-Verbindung unter StartSystemsteuerungNetzwerkverbindungen aufrufen

Internetprotokoll (TCPIP) und Eigenschaften waumlhlen Folgende IP-Adresse verwenden waumlhlen IP-Adressen ein-

geben und OK waumlhlen

452 Paket XAMPP 174 Unter apache friends - xampp fuumlr windows und XAMPP Windows 174 Installer anklicken und Datei xampp-win32-174-VC6-installerexe speichern Durch Doppelklick auf die Datei die Installation starten

Sprache und Ok waumlhlen Ok waumlhlen

59

Weiter waumlhlen Zielverzeichnis mit Durchsuchen waumlhlen oder eingeben

Apache nicht als Dienst installieren Fertig stellen waumlhlen

Ja waumlhlen Zum Starten des Apache Webservers das Control Panel

unter StartProgrammeXAMPP 173 for Windows mit Start starten Anstelle von Start erscheint Running

Zum Beenden des Apache Webservers Stop waumlhlen Zum Beenden des Control Panels Exit waumlhlen

60

453 Videoserver webcamXP 5 Private Auf der Webseite von Moonware Studios unter webcamXP 55xx die Datei wlite550 herun-terladen Durch Doppelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen I Agree waumlhlen

Next waumlhlen Auszliger webcamXP 5 brauchen keine weiteren Komponen-

ten installiert zu werden

Den vorgeschlagenen Ordner und Install waumlhlen Finish waumlhlen

61

WebcamXP unter StartProgramme aufrufen Zugesandte

Lizenz-Daten in das eingeblendete Fenster eingeben und Register waumlhlen

Beim Starten des Programms stellt webcamXP automa-tisch eine Verbindung zu den am Computer angeschlosse-nen Webcams her

Nach dem Start ist Uumlberwachen gewaumlhlt Durch Rechts-klick mit der Maus auf das Videofenster wird zu jeder Vi-deoquelle ein Kontextmenuuml angezeigt Wird kein Videobild dargestellt das Kontextmenuuml aufrufen Art der Videoquelle waumlhlen (hier USB) und unter den erkannten Videoquellen (hier USB-Videogeraumlt) die gewuumlnschte waumlhlen

Das Videoformat muss fuumlr eine passende Darstellung auf

der Laborseite auf 320 x 240 eingestellt sein Ist das nicht der Fall im Kontextmenuuml unter Video Format einstellen

In gleicher Weise kann eine zweite Videoquelle hinzugefuumlgt werden

In der Registerkarte Web Broadcast kann unter

Broadcast (HTTP) der Videoserver mit Ausschalten ge-stoppt und mit Aktivieren gestartet werden

Zur Zielwahl des Webservers (131246237167 - Internet D16W3X3J - Computer 127001 - Local Host) Videoser-ver stoppen und einstellen Videoserver wieder starten

62

454 Terminalprogramm Hyperterminal Hyperterminal in Windows XP Professional unter StartProgrammeZubehoumlrKommunikation aufrufen

Name der neuen Verbindung - z B Interface - eingeben

und OK waumlhlen Die Verbindung zwischen Computer und Interface wurde

uumlber einen USB-Seriell-Adapter hergestellt Dann erschei-nen zwei zusaumltzliche Eintraumlge (Motorola Comp Modem und COM5) in der Liste Prinzipiell muss eine COMx-Verbindung gewaumlhlt werden

Eigenschaften von COM 5 wie im Bild einstellen und OK

waumlhlen DateiEigenschaften aufrufen und ASCII-Konfiguration

waumlhlen

63

Haken bei Eingegebene Zeichen lokal ausgeben (lokales

Echo) setzen um eingegebenen Zeichen im Hyperterminal zu sehen

Bei funktionsfaumlhiger Verbindung erscheint nach Eingabe von Return die Befehlsliste des Interface

Durch Aufrufen von DateiSpeichern die erstellte Verbin-

dung z B auf dem Desktop speichern Dadurch braucht die Verbindung nicht immer wieder von neuem konfiguriert wer-den

Nach Aufrufen von DateiBeenden die bestehende Verbin-dung mit Ja beenden

64

Wurde ein falscher COM-Port gewaumlhlt reagiert das Inter-

face auf die Eingabe Return nicht Hyperterminal dann beenden

Der COM-Port kann dann nicht unter DateiEigenschaften im Hyperterminal aber unter Eigenschaften des Kontext-menuumls der Datei Interfaceht in der Registerkarte Verbin-den mit geaumlndert werden Dann OK waumlhlen und erneut Verbindung testen

65

455 Fernwartungssoftware TeamViewer 6 Host Auf der Webseite von Teamviewer GmbH unter Fuumlr unbeaufsichtigte Server TeamViewer Vollversion die Datei TeamViewer_Setup-wq herunterladen Das Programm muss auf dem RCL-Server und dem Computer der auf den RCL-Server zugreifen soll installiert werden Durch Doppelklick auf die Datei die Installation starten

Ausfuumlhren waumlhlen Weiter waumlhlen

Fuumlr die private nicht kommerzielle Nutzung ist Teamviewer kostenlos

privat nicht-kommerziell und Weiter waumlhlen

Beide Haumlkchen setzen und Weiter waumlhlen

66

Ja un Weiter waumlhlen Weiter

Computername und Kennwort fuumlr den Zugriff auf den RCL-Server oder den eigenen Computer vergeben Kenn wort notie-ren

Ein Teamviewerkonto ist nicht erforderlich Kann auch spaumlter noch eingerichtet werden

ID fuumlr den Computer auf dem das Programm installiert wird fuumlr Zugriff notieren

Das Programm wird gestartet Standardmaumlszligig vorein-gestellt ist der Start des Programms beim Start des Be-trienssystems

67

46 Selbstbau eines elementaren RCLs 461 Hard- und Software Auch ohne gleich ein vielleicht teures physikalisches Experiment zu steuern laumlsst sich mit wenigen Bauelementen ein elementares RCL realisieren Von einer Webseite im Internet sol-len eine Leuchtdiode (LED) ein- oder ausgeschaltet sowie der Zustand der Leuchtdiode und eines Tasters abgefragt werden An Hard- und Software werden benoumltigt

1 Low-Current-LED 5 mm 2 mA 1 Widerstand 18 kΩ 1 Taster und optional zwei 10-polige Wannenstecker mit ungefaumlhr 10 cm passendem Flachbandkabel und Buchsen

Interface in Basisschaltung Null-Modem-Kabel 12 V DC Steckernetzteil (larr 1)

Installierte Bascom-Demo-Version (larr 42)

AVR ISP-Programmer mit 10-poligem Programmierkabel

Installiertes und konfiguriertes AVR Studio 418 (larr 41)

Installiertes Paket XAMPP (larr 52)

Texteditor wie z B Notepad in Windows XP Professional

Konfigurierte Hyperterminalverbindung (larr 54)

462 Bestuumlckung der Platine Abb 29 zeigt zur Orientierung fuumlr das Einloumlten der Bauelemente die fertig bestuumlckte Platine des Interface

Abb 29 Mit elementarem RCL bestuumlckte Platine

des Interface

LED mit Vorwiderstand und der Taster sind rechts neben dem Mikrocontroller im Lochraster-bereich aufgebaut und uumlber Wannenstecker und Flachbandkabel mit dem Port A des Mikro-controllers verbunden (die drei Bauteile rechts neben dem ATmega16 werden nicht benouml-tigt) Tab 13 erlaumlutert die Schritte zur Bestuumlckung der Platine des Interface

68

Nr Schaltung Erlaumluterung

1

Die Leuchtdiode (LED) mit dem Pluspol (langes Beinchen) an PortA0 (PIN40 oben rechts) des Mikrocontrollers anloumlten

An das kurze Beinchen einen 18kΩ Widerstand loumlten dessen anderes Ende mit der Masse (GND) verbinden

2

Den Taster mit PortA1 (PIN39 = 2 Beinchen von oben rechts) und Masse (GND) verbinden

3

Draufsicht

Belegung des 10-poligen Wannensteckers 1 GND (Masse) im Foto oben links 2 +5 V 3 PortA0 4 PortA1 10 PortA7 im Foto unten rechts

Tab 13 Schritte zum Aufbau des elementaren RCLs

463 Lokal gesteuertes RCL Nachfolgend ist der Basic-Programmcode des Mikrocontrollers zur Steuerung und Abfrage der LED und des Tasters angegeben 01 $regfile = m16DEFdat Microcontroller ATmega16 02 $crystal = 11059200 110592MHz Quarz 03 $baud = 9600 Baudrate 04 05 ---[ Variables ]--------------------------------------------------------------- 06 Dim Rs232kommando As String 10 erst Befehlspuffer dann Kommando 07 Dim Parameter As String 10 Parameter 08 Dim Str_pos As Byte Position von Leerzeichen zur Trennung von Kommando und Pa-rameter 09 10 ---[ Initialisierung ]--------------------------------------------------------- 11 Ddra0 = 1 PortA0 als Ausgang fuumlr LED 12 Porta0 = 0 LED aus 13 Ddra1 = 0 PortA1 als Eingang fuumlr Taster 14 Porta1 = 1 Pull-Up aktivieren 15 16 ---[ Main program loop ]------------------------------------------------------- 17 Do Start der Endlos-Schleife 18 19 If Ischarwaiting() = 1 Then Zeichen uumlber RS232 empfangen 20 Input Rs232kommando neues Kommando lesen 21 Parameter = Parameter initialisieren 22 Str_pos = Instr(rs232kommando ) Leerzeichen im Kommando suchen 23 If Str_pos gt 0 Then falls Leerzeichen dann in Kommando+Parameter zerlegen 24 Incr Str_pos Str_pos soll jetzt auf 1Zeichen des Parameters zeigen 25 Parameter = Mid(rs232kommando Str_pos ) Parameter = Teilstring nach Leerzeichen 26 Parameter = Ucase(parameter) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 27 Str_pos = Str_pos - 2 Str_pos soll jetzt auf letztes Zeichen des Kommandos zeigen 28 Rs232kommando = Left(rs232kommando Str_pos)Kommando = Teilstring vor Leerzeichen 29 Rs232kommando = Ucase(rs232kommando) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 30 End If 31 32 Select Case Rs232kommando Eventhandler Interpretation der Kommandos 33 Case Print Hilfe Hilfeseite anzeigen 34 Print LED on - LED einschalten 35 Print LED off - LED ausschalten 36 Print LED - zeigt Status der LED an 37 Print SW - zeigt Status des Schalters an 38

1K8

LED rotmicroC PortA0(PIN40)

Taster

microC PortA1(PIN39)

1

3

2

69

39 Case LED If Parameter = ON Then LED schalten 40 Porta0 = 1 41 End If 42 If Parameter = OFF Then 43 Porta0 = 0 44 End If 45 46 Case LED If Porta0 = 0 Then Status der LED ausgeben 47 Print LED aus 48 Else 49 Print LED an 50 End If 51 52 Case SW If Pina1 = 1 Then Status des Schalters ausgeben 53 Print Taster offen 54 Else 55 Print Taster geschlossen 56 End If 57 58 Case Else Print gt Rs232kommando lt ungueltiger Befehl - weitere Infos mit Info bei unguumlltigen Eingaben 59 End Select 60 61 End If 62 63 Loop Endlos-Schleife Springe zu Do 64 65 End wird nie erreicht

Der erste Teil des Programms (Zeilen 1 - 15) enthaumllt die Systemparameter Variablen und Initialisierung der Ein- und Ausgaumlnge Der zweite Teil enthaumllt ab Zeile 17 das Hauptpro-gramm in dem Benutzereingaben uumlber die serielle Schnittstelle empfangen interpretiert und in entsprechende Anweisungen umgesetzt werden Tab 14 erlaumlutert den Programmcode de-taillierter

Zeilen Erlaumluterung

1 - 3 Diese Angaben teilen dem Compiler (Bascom) mit welcher Prozessor eingesetzt wird wie schnell dieser getaktet (Quarz) ist und mit welcher Uumlbertragungsgeschwindigkeit die Kommunikation uumlber die serielle Schnittstelle (RS232) mit dem PC erfolgen soll

6 - 8 Es werden drei Variablen genutzt Die Eingabe uumlber die serielle Schnittstelle wird in rs232kommando gespeichert Es wird ein Text der Form Kommando ltLeerzeichengt Parameter erwartet so dass die Variable Parameter den-selbigen aufnimmt Die Variable str_pos wird fuumlr die Trennung von Kommando und Parameter benoumltigt

11 - 14

Mit dem Befehl ddrPX (ddr = data direction) wird festgelegt ob ein Beinchen als Ausgang (=1) oder als Eingang (=0) arbeiten soll Der ATmega16 besitzt 32 Ein-Ausgaumlnge die in vier Ports (P=AD) zu je 8 Pins (X=07) unterteilt sind ddrA0 = 1 legt also das 1 Beinchen (Pin 0) von PortA als Ausgang (=1) fest Mit dem Befehl PortA0 =1 kann dieser Pin dann durch Zuweisen von 1 oder 0 an- bzw ausgeschaltet werden Im Datenblatt erfahren Sie welches der 40 Beinchen des Mikrocontrollers wie bezeichnet wird (Pin-Belegung) Wird ein Beinchen als Eingang verwendet (ddrA1 = 0) koumlnnen Sie optional einen so genannten Pull-Up-Widerstand aktivieren (PortA1=1) oder deaktivieren (PortA1=0) Auch hierzu sollten Sie sich unbedingt mit dem Datenblatt vertraut machen

17 63 Das Hauptprogramm besteht aus einer Endlosschleife d h der Mikrocontroller verrichtet ununterbrochen seinen Job so lange er mit Strom versorgt wird

19 - 30 Falls ein Zeichen uumlber die serielle Schnittstelle empfangen wurde wird dieses und alle folgenden gelesen Anschlie-szligend wird gepruumlft ob der empfangene Text von der Form Kommando ltLeerzeichengt Parameter ist so dass er ge-gebenenfalls in ein Kommando und einen Parameter zerlegt werden kann

32 - 59 Dieser Abschnitt wird mit Event-Handler bezeichnet Hier wird auf die Kommandos (Events) reagiert und die ent-sprechenden Schritte ausgefuumlhrt zB schalten LED je nach Wert der Variablen Parameter an- bzw ausschalten

46 52

In beiden Zeilen wird ein Wert eines Ports abgefragt Unterschiedlich ist dass in Zeile 46 der Status eines Ausgangs abgefragt wird (porta0) und in Zeile 52 der Zustand eines Eingangs (pina0) Die Anweisung IF porta0 = 0 THEN pruumlft (hier ist = ein Vergleich und KEINE Zuweisung) ob zuletzt die LED ausgeschaltet (Zuweisung porta0 = 0) wurde Die Anweisung IF pina1= 1 THEN liest den Status eines Eingangs Hier kann festgestellt werden ob der Eingang uumlber den internen Pull-UP-Widerstand auf +5V liegt (pina1 liefert 1) oder ob der Schalter den Eingang mit Masse (0V) verbindet (pina1 liefert 0)

Tab 14 Erlaumluterung des Mikrocontroller-Programmcodes fuumlr elementares RCL

70

In Bascom AVR eine neue Datei erzeugen (FileNew) den Programmcode ohne Kommenta-re eingeben und mit ProgramCompile (F7) eine Hexadezimaldatei erzeugen Die Hexadezi-maldatei mit dem AVR-Studio und dem AVR-ISP-Programmer in den Mikrocontroller schrei-ben (larr 222 Programmuumlbertragung) Nach dem Verbinden von Computer und Interface per Null-Modem-Kabel kann durch Eingabe von in das konfigurierte Hyperterminal die Befehls-liste in Abb 30 aufgerufen werden

Abb 30 Aufgerufene Befehlsliste im Hyperterminal

Durch Eingabe von LED on oder LED off kann die LED ein- und ausgeschaltet LED zeigt den Status der LED und sw den Status des Tasters an Alternativ zum Hyperterminal kann auch das Terminal in BASCOM unter ToolsTerminal Emulator verwendet werden (larr 422)

464 Ferngesteuertes RCL Zum Ansteuern des Interfaces und zum Bedienen des Versuchsaufbaus uumlber das Internet wird eine Webseite benoumltigt die dem Benutzer alle Bedienelemente des Experiments zur Verfuumlgung stellt

Der Benutzer benoumltigt anklickbare Buttons im Webbrowser

Der Webserver muss die Information welcher Button gedruumlckt wurde empfangen und ein entsprechendes Kommando uumlber die serielle Schnittstelle an das Interface senden

Beide Schritte sind im nachfolgenden PHPHTML-Quellcode zusammengefasst 01 ltDOCTYPE HTML PUBLIC -W3CDTD HTML 401 TransitionalEN httpwwww3orgTRhtml4loosedtdgt 02 lthtmlgt 03 ltheadgt 04 ltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1gt 05 lttitlegtelementares RCLlttitlegt 06 ltheadgt 07 08 ltbodygt 09 ltphp 10 if (isset($_POST[Kommando])) wurde bereits Kommando gesendet 11 if( ( $handle = fopen( COM1 w+ ) ) ) Schnittstelle oumlffnen 12

71

13 throw new Exception( Can not access serial port 2 ) ohne Erfolg 14 15 fwrite( $handle $_POST[Kommando] chr( 13 ) ) Befehl an Interface senden 16 switch ( $_POST[Kommando] ) Antwort von Interface auswerten 17 case LED $tmp = fgets( $handle ) Echo von Interface ignorieren 18 $antwort = fgets( $handle ) Antwort des Interfaces 19 echo Antwort $antwort Ausgabe auf Webseite 20 break switch verlassen 21 22 case SW $tmp = fgets( $handle ) Echo von Interface ignorieren 23 $antwort = fgets( $handle ) Antwort des Interfaces 24 echo Antwort $antwort Ausgabe auf Webseite 25 break switch verlassen 26 27 28 29 fclose( $handle ) Schnittstelle schlieszligen 30 31 else 32 `mode com1 BAUD=9600 PARITY=N data=8 stop=1 xon=off` Schnittstellenparameter setzen 33 34 35 gt 36 37 lth3gtBefehl sendenlth3gt 38 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 39 ltinput type=hidden name=Kommando value=LED ON gt 40 ltinput type=submit value=LED anschalten gt 41 ltformgt 42 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 43 ltinput type=hidden name=Kommando value=LED OFF gt 44 ltinput type=submit value=LED ausschalten gt 45 ltformgt 46 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 47 ltinput type=hidden name=Kommando value=LED gt 48 ltinput type=submit value=LED abfragen gt 49 ltformgt 50 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 51 ltinput type=hidden name=Kommando value=SW gt 52 ltinput type=submit value=Taster abfragen gt 53 ltformgt 54 ltbodygt 55 lthtmlgt Den Quellcode in den Texteditor kopieren und im Ordner htdocs von XAMPP z B unter rclphp speichern HTML-Dateien mit PHP-Code (Zeilen 9-35) muumlssen mit der Erweiterung php gespeichert werden damit der Apache Webserver zwischen HTML-Seiten mit und ohne PHP-Code unterscheiden kann Den installierten Apache Webserver starten (larr 452) und im Adressfeld des Webbrowsers die IP-Adresse http127001rclphp aufrufen Das Bedi-enfeld des elementaren RCLs in Abb 31 wird im Browserfenster angezeigt

72

Abb 31 Laborseite des elementaren RCLs

Im Bedienfeld kann die LED an- und ausgeschaltet sowie der Status von LED und Taster abgefragt werden

  • 0 Warum ein Tutorial zur RCL-Technik
  • 1 Technische Konzeption
    • 11 Einfuumlhrung
    • 12 Wahl der RCL-Technik
      • 2 Lokal gesteuertes RCL
        • 21 Interface
          • 211 Mikrocontroller
          • 212 Basisschaltung und Erweiterungsschaltungen
          • 213 Programmierung des Mikrocontrollers
            • 22 Hyperterminal
            • 23 Positionieren von Objekten
              • 231 Hybrid-Schrittmotoren
              • 232 Schrittmotorsteuerung und Positionierungsmechanik
                  • 3 Ferngesteuertes RCL
                    • 31 RCL-Server
                    • 32 Laborseite
                      • 321 Steuerung des RCLs uumlber das Bedienfeld
                      • 322 Videouumlbertragung im Webcamfeld
                        • 33 Standard-Lernumgebung
                          • 4 ANHANG
                            • 41 Interface in Basisschaltung
                              • 411 Schaltplan und Bauteilliste
                              • 412 Bestuumlckung der Platine
                                • 42 Erweiterungsschaltungen
                                  • 421 Uumlbersicht
                                  • 422 TMC222-Modul zur Schrittmotorsteuerung
                                    • 4221 Schaltplan und Bauteilliste
                                    • 4222 Bestuumlckung der Platine
                                    • 4223 Quellcode des Mikrocontroller-Programms
                                      • 423 Geschaltete Spannungsquellen und Verbraucher
                                      • 424 Steuerung von Gleichstrommotoren
                                        • 43 Quellcodes zum RCL Elektronenbeugung
                                          • 431 Mikrocontroller-Programmierung
                                          • 432 PHP-Programmierung
                                          • 433 Bedienfeld der Laborseite
                                          • 434 Webcamfeld der Laborseite
                                            • 44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung
                                              • 441 AVR-Studio 418
                                                • 4411 Installation
                                                • 4412 Konfiguration
                                                  • 442 BASCOM 11198 Demoversion
                                                    • 4421 Installation
                                                    • 4422 Konfiguration
                                                        • 45 Installation und Konfiguration von Programmen auf dem RCL-Server
                                                          • 451 Einrichten des Internet-Zugangs
                                                          • 452 Paket XAMPP 174
                                                          • 453 Videoserver webcamXP 5 Private
                                                          • 454 Terminalprogramm Hyperterminal
                                                          • 455 Fernwartungssoftware TeamViewer 6 Host
                                                            • 46 Selbstbau eines elementaren RCLs
                                                              • 461 Hard- und Software
                                                              • 462 Bestuumlckung der Platine
                                                              • 463 Lokal gesteuertes RCL
                                                              • 464 Ferngesteuertes RCL

52

434 Webcamfeld der Laborseite

In Tab 12 ist die Funktion der Programmbloumlcke und die Anpassungen der Vorlage an das RCL Elektronenbeugung beschrieben

Zeilen Funktion Anpassung RCL Elektronenbeugung

5 Titelangabe erscheint als Tabulatorbeschriftung in Browsern

Name des RCLs eintragen

11 - 15 16 - 20

Zwei Javascripts zum getrennten Aufrufen zweier Po-pup-Fenster mit dargestelltem Webcambildern 1 und 2

Javascript 1 die IP-Adresse eintragen Javascript 2 auskommentiert weil nicht benoumltigt

24 - 40 42 - 60

Zwei Javascripts zum Aktualisieren der Webcambilder 1 und 2

Javascript 2 auskommentiert weil nicht benoumltigt

67 - 71 79 - 83

Aufrufen des ersten Webcambilds der Webcams 1 und 2 beim Aufrufen der Datei

Webcambild 2 auskommentiert weil nicht benoumltigt

72 - 78 84 - 90

Buttons zum Aufrufen der Screenshots der Webcam-bilder 1 und 2

Button 2 auskommentiert weil nicht benoumltigt

91 - 95 Zeile der Tabelle zum Eintragen von Informationen die sich auf die Webcambilder oder den Versuch beziehen

Text in Zeile der Tabelle geschrieben

Tab 12 Funktionen der Codeabschnitte in der Datei videohtm und Anpassung der Vor-lage an das RCL Elektronenbeugung

53

44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung Im Folgenden wird die Installation und Konfiguration des AVR-Studios 418 und der Bascom 11198 Demoversion beschrieben Alle Anleitungen sind zeilenweise von links nach rechts zu lesen

441 AVR-Studio 418 4411 Installation Auf der Webseite von ATMEL Register AVR Studio 418 (build 684) anklicken und Registrie-rungsformular ausfuumlllen Danach die Datei AvrStudio418Setup herunterladen Durch Dop-pelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen Next waumlhlen

I accept hellip und Next waumlhlen Installationsordner und Next waumlhlen

54

Installupgrade hellip und Next waumlhlen Install waumlhlen Die Installation beginnt

Finish waumlhlen

4412 Konfiguration AVR Studio 418 in Windows XP Professional unter StartProgramme aufrufen

Startfenster mit Cancel schlieszligen Unter ToolsProgram AVR Auto Connect waumlhlen

55

Im eingeblendeten Fenster auf der Registerkarte Main als Device ATmega16 und als Programming Mode ISP mo-de waumlhlen

Optional kann Signatur gelesen werden

In der Registerkarte Fuses alle Haumlkchen und Auswahlfel-der wie angegeben waumlhlen

Dann Program waumlhlen

442 BASCOM 11198 Demoversion 4421 Installation Auf der Webseite von Bascom unter Bascom AVR Demo die Zip-Datei setupdemoexe her-untergeladen Durch Doppelklick auf den Dateinamen die Installation starten

Next waumlhlen I accept the agreement und Next waumlhlen

56

Next waumlhlen Installationsordner eingeben und Next waumlhlen

Eintrag im Start-Menuuml eingeben und Next waumlhlen Next waumlhlen

Yes restart the computer now und Finish waumlhlen

57

4422 Konfiguration Bascom AVR in Windows XP Professional unter StartProgramme zum Einstellen der Para-meter des Mikrocontrollers und des Terminals aufrufen

OptionsCompilerChip waumlhlen Einstellungen wie im Bild vornehmen und OK waumlhlen

Auf der Registerkarte Communications Einstellungen wie im Bild vornehmen und OK waumlhlen

Unter OptionsCommunication Einstellungen wie im Bild

vornehmen und OK waumlhlen FileNew waumlhlen Unter ToolsTerminal emulator das Terminal aufrufen und

eingeben Die Befehlsliste des RCLs Elektronenbeu-gung wird angezeigt

45 Installation und Konfiguration von Programmen auf dem RCL-Server Im Folgenden wird der Download die Installation und die Konfiguration von Programmen auf dem RCL-Server unter Windows XP Professional beschrieben Alle Anleitungen sind zeilen-weise von links nach rechts zu lesen Die Installation der Programme sollte in der angegebe-nen Reihenfolge erfolgen

58

451 Einrichten des Internet-Zugangs LAN-Verbindung unter StartSystemsteuerungNetzwerkverbindungen aufrufen

Internetprotokoll (TCPIP) und Eigenschaften waumlhlen Folgende IP-Adresse verwenden waumlhlen IP-Adressen ein-

geben und OK waumlhlen

452 Paket XAMPP 174 Unter apache friends - xampp fuumlr windows und XAMPP Windows 174 Installer anklicken und Datei xampp-win32-174-VC6-installerexe speichern Durch Doppelklick auf die Datei die Installation starten

Sprache und Ok waumlhlen Ok waumlhlen

59

Weiter waumlhlen Zielverzeichnis mit Durchsuchen waumlhlen oder eingeben

Apache nicht als Dienst installieren Fertig stellen waumlhlen

Ja waumlhlen Zum Starten des Apache Webservers das Control Panel

unter StartProgrammeXAMPP 173 for Windows mit Start starten Anstelle von Start erscheint Running

Zum Beenden des Apache Webservers Stop waumlhlen Zum Beenden des Control Panels Exit waumlhlen

60

453 Videoserver webcamXP 5 Private Auf der Webseite von Moonware Studios unter webcamXP 55xx die Datei wlite550 herun-terladen Durch Doppelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen I Agree waumlhlen

Next waumlhlen Auszliger webcamXP 5 brauchen keine weiteren Komponen-

ten installiert zu werden

Den vorgeschlagenen Ordner und Install waumlhlen Finish waumlhlen

61

WebcamXP unter StartProgramme aufrufen Zugesandte

Lizenz-Daten in das eingeblendete Fenster eingeben und Register waumlhlen

Beim Starten des Programms stellt webcamXP automa-tisch eine Verbindung zu den am Computer angeschlosse-nen Webcams her

Nach dem Start ist Uumlberwachen gewaumlhlt Durch Rechts-klick mit der Maus auf das Videofenster wird zu jeder Vi-deoquelle ein Kontextmenuuml angezeigt Wird kein Videobild dargestellt das Kontextmenuuml aufrufen Art der Videoquelle waumlhlen (hier USB) und unter den erkannten Videoquellen (hier USB-Videogeraumlt) die gewuumlnschte waumlhlen

Das Videoformat muss fuumlr eine passende Darstellung auf

der Laborseite auf 320 x 240 eingestellt sein Ist das nicht der Fall im Kontextmenuuml unter Video Format einstellen

In gleicher Weise kann eine zweite Videoquelle hinzugefuumlgt werden

In der Registerkarte Web Broadcast kann unter

Broadcast (HTTP) der Videoserver mit Ausschalten ge-stoppt und mit Aktivieren gestartet werden

Zur Zielwahl des Webservers (131246237167 - Internet D16W3X3J - Computer 127001 - Local Host) Videoser-ver stoppen und einstellen Videoserver wieder starten

62

454 Terminalprogramm Hyperterminal Hyperterminal in Windows XP Professional unter StartProgrammeZubehoumlrKommunikation aufrufen

Name der neuen Verbindung - z B Interface - eingeben

und OK waumlhlen Die Verbindung zwischen Computer und Interface wurde

uumlber einen USB-Seriell-Adapter hergestellt Dann erschei-nen zwei zusaumltzliche Eintraumlge (Motorola Comp Modem und COM5) in der Liste Prinzipiell muss eine COMx-Verbindung gewaumlhlt werden

Eigenschaften von COM 5 wie im Bild einstellen und OK

waumlhlen DateiEigenschaften aufrufen und ASCII-Konfiguration

waumlhlen

63

Haken bei Eingegebene Zeichen lokal ausgeben (lokales

Echo) setzen um eingegebenen Zeichen im Hyperterminal zu sehen

Bei funktionsfaumlhiger Verbindung erscheint nach Eingabe von Return die Befehlsliste des Interface

Durch Aufrufen von DateiSpeichern die erstellte Verbin-

dung z B auf dem Desktop speichern Dadurch braucht die Verbindung nicht immer wieder von neuem konfiguriert wer-den

Nach Aufrufen von DateiBeenden die bestehende Verbin-dung mit Ja beenden

64

Wurde ein falscher COM-Port gewaumlhlt reagiert das Inter-

face auf die Eingabe Return nicht Hyperterminal dann beenden

Der COM-Port kann dann nicht unter DateiEigenschaften im Hyperterminal aber unter Eigenschaften des Kontext-menuumls der Datei Interfaceht in der Registerkarte Verbin-den mit geaumlndert werden Dann OK waumlhlen und erneut Verbindung testen

65

455 Fernwartungssoftware TeamViewer 6 Host Auf der Webseite von Teamviewer GmbH unter Fuumlr unbeaufsichtigte Server TeamViewer Vollversion die Datei TeamViewer_Setup-wq herunterladen Das Programm muss auf dem RCL-Server und dem Computer der auf den RCL-Server zugreifen soll installiert werden Durch Doppelklick auf die Datei die Installation starten

Ausfuumlhren waumlhlen Weiter waumlhlen

Fuumlr die private nicht kommerzielle Nutzung ist Teamviewer kostenlos

privat nicht-kommerziell und Weiter waumlhlen

Beide Haumlkchen setzen und Weiter waumlhlen

66

Ja un Weiter waumlhlen Weiter

Computername und Kennwort fuumlr den Zugriff auf den RCL-Server oder den eigenen Computer vergeben Kenn wort notie-ren

Ein Teamviewerkonto ist nicht erforderlich Kann auch spaumlter noch eingerichtet werden

ID fuumlr den Computer auf dem das Programm installiert wird fuumlr Zugriff notieren

Das Programm wird gestartet Standardmaumlszligig vorein-gestellt ist der Start des Programms beim Start des Be-trienssystems

67

46 Selbstbau eines elementaren RCLs 461 Hard- und Software Auch ohne gleich ein vielleicht teures physikalisches Experiment zu steuern laumlsst sich mit wenigen Bauelementen ein elementares RCL realisieren Von einer Webseite im Internet sol-len eine Leuchtdiode (LED) ein- oder ausgeschaltet sowie der Zustand der Leuchtdiode und eines Tasters abgefragt werden An Hard- und Software werden benoumltigt

1 Low-Current-LED 5 mm 2 mA 1 Widerstand 18 kΩ 1 Taster und optional zwei 10-polige Wannenstecker mit ungefaumlhr 10 cm passendem Flachbandkabel und Buchsen

Interface in Basisschaltung Null-Modem-Kabel 12 V DC Steckernetzteil (larr 1)

Installierte Bascom-Demo-Version (larr 42)

AVR ISP-Programmer mit 10-poligem Programmierkabel

Installiertes und konfiguriertes AVR Studio 418 (larr 41)

Installiertes Paket XAMPP (larr 52)

Texteditor wie z B Notepad in Windows XP Professional

Konfigurierte Hyperterminalverbindung (larr 54)

462 Bestuumlckung der Platine Abb 29 zeigt zur Orientierung fuumlr das Einloumlten der Bauelemente die fertig bestuumlckte Platine des Interface

Abb 29 Mit elementarem RCL bestuumlckte Platine

des Interface

LED mit Vorwiderstand und der Taster sind rechts neben dem Mikrocontroller im Lochraster-bereich aufgebaut und uumlber Wannenstecker und Flachbandkabel mit dem Port A des Mikro-controllers verbunden (die drei Bauteile rechts neben dem ATmega16 werden nicht benouml-tigt) Tab 13 erlaumlutert die Schritte zur Bestuumlckung der Platine des Interface

68

Nr Schaltung Erlaumluterung

1

Die Leuchtdiode (LED) mit dem Pluspol (langes Beinchen) an PortA0 (PIN40 oben rechts) des Mikrocontrollers anloumlten

An das kurze Beinchen einen 18kΩ Widerstand loumlten dessen anderes Ende mit der Masse (GND) verbinden

2

Den Taster mit PortA1 (PIN39 = 2 Beinchen von oben rechts) und Masse (GND) verbinden

3

Draufsicht

Belegung des 10-poligen Wannensteckers 1 GND (Masse) im Foto oben links 2 +5 V 3 PortA0 4 PortA1 10 PortA7 im Foto unten rechts

Tab 13 Schritte zum Aufbau des elementaren RCLs

463 Lokal gesteuertes RCL Nachfolgend ist der Basic-Programmcode des Mikrocontrollers zur Steuerung und Abfrage der LED und des Tasters angegeben 01 $regfile = m16DEFdat Microcontroller ATmega16 02 $crystal = 11059200 110592MHz Quarz 03 $baud = 9600 Baudrate 04 05 ---[ Variables ]--------------------------------------------------------------- 06 Dim Rs232kommando As String 10 erst Befehlspuffer dann Kommando 07 Dim Parameter As String 10 Parameter 08 Dim Str_pos As Byte Position von Leerzeichen zur Trennung von Kommando und Pa-rameter 09 10 ---[ Initialisierung ]--------------------------------------------------------- 11 Ddra0 = 1 PortA0 als Ausgang fuumlr LED 12 Porta0 = 0 LED aus 13 Ddra1 = 0 PortA1 als Eingang fuumlr Taster 14 Porta1 = 1 Pull-Up aktivieren 15 16 ---[ Main program loop ]------------------------------------------------------- 17 Do Start der Endlos-Schleife 18 19 If Ischarwaiting() = 1 Then Zeichen uumlber RS232 empfangen 20 Input Rs232kommando neues Kommando lesen 21 Parameter = Parameter initialisieren 22 Str_pos = Instr(rs232kommando ) Leerzeichen im Kommando suchen 23 If Str_pos gt 0 Then falls Leerzeichen dann in Kommando+Parameter zerlegen 24 Incr Str_pos Str_pos soll jetzt auf 1Zeichen des Parameters zeigen 25 Parameter = Mid(rs232kommando Str_pos ) Parameter = Teilstring nach Leerzeichen 26 Parameter = Ucase(parameter) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 27 Str_pos = Str_pos - 2 Str_pos soll jetzt auf letztes Zeichen des Kommandos zeigen 28 Rs232kommando = Left(rs232kommando Str_pos)Kommando = Teilstring vor Leerzeichen 29 Rs232kommando = Ucase(rs232kommando) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 30 End If 31 32 Select Case Rs232kommando Eventhandler Interpretation der Kommandos 33 Case Print Hilfe Hilfeseite anzeigen 34 Print LED on - LED einschalten 35 Print LED off - LED ausschalten 36 Print LED - zeigt Status der LED an 37 Print SW - zeigt Status des Schalters an 38

1K8

LED rotmicroC PortA0(PIN40)

Taster

microC PortA1(PIN39)

1

3

2

69

39 Case LED If Parameter = ON Then LED schalten 40 Porta0 = 1 41 End If 42 If Parameter = OFF Then 43 Porta0 = 0 44 End If 45 46 Case LED If Porta0 = 0 Then Status der LED ausgeben 47 Print LED aus 48 Else 49 Print LED an 50 End If 51 52 Case SW If Pina1 = 1 Then Status des Schalters ausgeben 53 Print Taster offen 54 Else 55 Print Taster geschlossen 56 End If 57 58 Case Else Print gt Rs232kommando lt ungueltiger Befehl - weitere Infos mit Info bei unguumlltigen Eingaben 59 End Select 60 61 End If 62 63 Loop Endlos-Schleife Springe zu Do 64 65 End wird nie erreicht

Der erste Teil des Programms (Zeilen 1 - 15) enthaumllt die Systemparameter Variablen und Initialisierung der Ein- und Ausgaumlnge Der zweite Teil enthaumllt ab Zeile 17 das Hauptpro-gramm in dem Benutzereingaben uumlber die serielle Schnittstelle empfangen interpretiert und in entsprechende Anweisungen umgesetzt werden Tab 14 erlaumlutert den Programmcode de-taillierter

Zeilen Erlaumluterung

1 - 3 Diese Angaben teilen dem Compiler (Bascom) mit welcher Prozessor eingesetzt wird wie schnell dieser getaktet (Quarz) ist und mit welcher Uumlbertragungsgeschwindigkeit die Kommunikation uumlber die serielle Schnittstelle (RS232) mit dem PC erfolgen soll

6 - 8 Es werden drei Variablen genutzt Die Eingabe uumlber die serielle Schnittstelle wird in rs232kommando gespeichert Es wird ein Text der Form Kommando ltLeerzeichengt Parameter erwartet so dass die Variable Parameter den-selbigen aufnimmt Die Variable str_pos wird fuumlr die Trennung von Kommando und Parameter benoumltigt

11 - 14

Mit dem Befehl ddrPX (ddr = data direction) wird festgelegt ob ein Beinchen als Ausgang (=1) oder als Eingang (=0) arbeiten soll Der ATmega16 besitzt 32 Ein-Ausgaumlnge die in vier Ports (P=AD) zu je 8 Pins (X=07) unterteilt sind ddrA0 = 1 legt also das 1 Beinchen (Pin 0) von PortA als Ausgang (=1) fest Mit dem Befehl PortA0 =1 kann dieser Pin dann durch Zuweisen von 1 oder 0 an- bzw ausgeschaltet werden Im Datenblatt erfahren Sie welches der 40 Beinchen des Mikrocontrollers wie bezeichnet wird (Pin-Belegung) Wird ein Beinchen als Eingang verwendet (ddrA1 = 0) koumlnnen Sie optional einen so genannten Pull-Up-Widerstand aktivieren (PortA1=1) oder deaktivieren (PortA1=0) Auch hierzu sollten Sie sich unbedingt mit dem Datenblatt vertraut machen

17 63 Das Hauptprogramm besteht aus einer Endlosschleife d h der Mikrocontroller verrichtet ununterbrochen seinen Job so lange er mit Strom versorgt wird

19 - 30 Falls ein Zeichen uumlber die serielle Schnittstelle empfangen wurde wird dieses und alle folgenden gelesen Anschlie-szligend wird gepruumlft ob der empfangene Text von der Form Kommando ltLeerzeichengt Parameter ist so dass er ge-gebenenfalls in ein Kommando und einen Parameter zerlegt werden kann

32 - 59 Dieser Abschnitt wird mit Event-Handler bezeichnet Hier wird auf die Kommandos (Events) reagiert und die ent-sprechenden Schritte ausgefuumlhrt zB schalten LED je nach Wert der Variablen Parameter an- bzw ausschalten

46 52

In beiden Zeilen wird ein Wert eines Ports abgefragt Unterschiedlich ist dass in Zeile 46 der Status eines Ausgangs abgefragt wird (porta0) und in Zeile 52 der Zustand eines Eingangs (pina0) Die Anweisung IF porta0 = 0 THEN pruumlft (hier ist = ein Vergleich und KEINE Zuweisung) ob zuletzt die LED ausgeschaltet (Zuweisung porta0 = 0) wurde Die Anweisung IF pina1= 1 THEN liest den Status eines Eingangs Hier kann festgestellt werden ob der Eingang uumlber den internen Pull-UP-Widerstand auf +5V liegt (pina1 liefert 1) oder ob der Schalter den Eingang mit Masse (0V) verbindet (pina1 liefert 0)

Tab 14 Erlaumluterung des Mikrocontroller-Programmcodes fuumlr elementares RCL

70

In Bascom AVR eine neue Datei erzeugen (FileNew) den Programmcode ohne Kommenta-re eingeben und mit ProgramCompile (F7) eine Hexadezimaldatei erzeugen Die Hexadezi-maldatei mit dem AVR-Studio und dem AVR-ISP-Programmer in den Mikrocontroller schrei-ben (larr 222 Programmuumlbertragung) Nach dem Verbinden von Computer und Interface per Null-Modem-Kabel kann durch Eingabe von in das konfigurierte Hyperterminal die Befehls-liste in Abb 30 aufgerufen werden

Abb 30 Aufgerufene Befehlsliste im Hyperterminal

Durch Eingabe von LED on oder LED off kann die LED ein- und ausgeschaltet LED zeigt den Status der LED und sw den Status des Tasters an Alternativ zum Hyperterminal kann auch das Terminal in BASCOM unter ToolsTerminal Emulator verwendet werden (larr 422)

464 Ferngesteuertes RCL Zum Ansteuern des Interfaces und zum Bedienen des Versuchsaufbaus uumlber das Internet wird eine Webseite benoumltigt die dem Benutzer alle Bedienelemente des Experiments zur Verfuumlgung stellt

Der Benutzer benoumltigt anklickbare Buttons im Webbrowser

Der Webserver muss die Information welcher Button gedruumlckt wurde empfangen und ein entsprechendes Kommando uumlber die serielle Schnittstelle an das Interface senden

Beide Schritte sind im nachfolgenden PHPHTML-Quellcode zusammengefasst 01 ltDOCTYPE HTML PUBLIC -W3CDTD HTML 401 TransitionalEN httpwwww3orgTRhtml4loosedtdgt 02 lthtmlgt 03 ltheadgt 04 ltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1gt 05 lttitlegtelementares RCLlttitlegt 06 ltheadgt 07 08 ltbodygt 09 ltphp 10 if (isset($_POST[Kommando])) wurde bereits Kommando gesendet 11 if( ( $handle = fopen( COM1 w+ ) ) ) Schnittstelle oumlffnen 12

71

13 throw new Exception( Can not access serial port 2 ) ohne Erfolg 14 15 fwrite( $handle $_POST[Kommando] chr( 13 ) ) Befehl an Interface senden 16 switch ( $_POST[Kommando] ) Antwort von Interface auswerten 17 case LED $tmp = fgets( $handle ) Echo von Interface ignorieren 18 $antwort = fgets( $handle ) Antwort des Interfaces 19 echo Antwort $antwort Ausgabe auf Webseite 20 break switch verlassen 21 22 case SW $tmp = fgets( $handle ) Echo von Interface ignorieren 23 $antwort = fgets( $handle ) Antwort des Interfaces 24 echo Antwort $antwort Ausgabe auf Webseite 25 break switch verlassen 26 27 28 29 fclose( $handle ) Schnittstelle schlieszligen 30 31 else 32 `mode com1 BAUD=9600 PARITY=N data=8 stop=1 xon=off` Schnittstellenparameter setzen 33 34 35 gt 36 37 lth3gtBefehl sendenlth3gt 38 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 39 ltinput type=hidden name=Kommando value=LED ON gt 40 ltinput type=submit value=LED anschalten gt 41 ltformgt 42 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 43 ltinput type=hidden name=Kommando value=LED OFF gt 44 ltinput type=submit value=LED ausschalten gt 45 ltformgt 46 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 47 ltinput type=hidden name=Kommando value=LED gt 48 ltinput type=submit value=LED abfragen gt 49 ltformgt 50 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 51 ltinput type=hidden name=Kommando value=SW gt 52 ltinput type=submit value=Taster abfragen gt 53 ltformgt 54 ltbodygt 55 lthtmlgt Den Quellcode in den Texteditor kopieren und im Ordner htdocs von XAMPP z B unter rclphp speichern HTML-Dateien mit PHP-Code (Zeilen 9-35) muumlssen mit der Erweiterung php gespeichert werden damit der Apache Webserver zwischen HTML-Seiten mit und ohne PHP-Code unterscheiden kann Den installierten Apache Webserver starten (larr 452) und im Adressfeld des Webbrowsers die IP-Adresse http127001rclphp aufrufen Das Bedi-enfeld des elementaren RCLs in Abb 31 wird im Browserfenster angezeigt

72

Abb 31 Laborseite des elementaren RCLs

Im Bedienfeld kann die LED an- und ausgeschaltet sowie der Status von LED und Taster abgefragt werden

  • 0 Warum ein Tutorial zur RCL-Technik
  • 1 Technische Konzeption
    • 11 Einfuumlhrung
    • 12 Wahl der RCL-Technik
      • 2 Lokal gesteuertes RCL
        • 21 Interface
          • 211 Mikrocontroller
          • 212 Basisschaltung und Erweiterungsschaltungen
          • 213 Programmierung des Mikrocontrollers
            • 22 Hyperterminal
            • 23 Positionieren von Objekten
              • 231 Hybrid-Schrittmotoren
              • 232 Schrittmotorsteuerung und Positionierungsmechanik
                  • 3 Ferngesteuertes RCL
                    • 31 RCL-Server
                    • 32 Laborseite
                      • 321 Steuerung des RCLs uumlber das Bedienfeld
                      • 322 Videouumlbertragung im Webcamfeld
                        • 33 Standard-Lernumgebung
                          • 4 ANHANG
                            • 41 Interface in Basisschaltung
                              • 411 Schaltplan und Bauteilliste
                              • 412 Bestuumlckung der Platine
                                • 42 Erweiterungsschaltungen
                                  • 421 Uumlbersicht
                                  • 422 TMC222-Modul zur Schrittmotorsteuerung
                                    • 4221 Schaltplan und Bauteilliste
                                    • 4222 Bestuumlckung der Platine
                                    • 4223 Quellcode des Mikrocontroller-Programms
                                      • 423 Geschaltete Spannungsquellen und Verbraucher
                                      • 424 Steuerung von Gleichstrommotoren
                                        • 43 Quellcodes zum RCL Elektronenbeugung
                                          • 431 Mikrocontroller-Programmierung
                                          • 432 PHP-Programmierung
                                          • 433 Bedienfeld der Laborseite
                                          • 434 Webcamfeld der Laborseite
                                            • 44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung
                                              • 441 AVR-Studio 418
                                                • 4411 Installation
                                                • 4412 Konfiguration
                                                  • 442 BASCOM 11198 Demoversion
                                                    • 4421 Installation
                                                    • 4422 Konfiguration
                                                        • 45 Installation und Konfiguration von Programmen auf dem RCL-Server
                                                          • 451 Einrichten des Internet-Zugangs
                                                          • 452 Paket XAMPP 174
                                                          • 453 Videoserver webcamXP 5 Private
                                                          • 454 Terminalprogramm Hyperterminal
                                                          • 455 Fernwartungssoftware TeamViewer 6 Host
                                                            • 46 Selbstbau eines elementaren RCLs
                                                              • 461 Hard- und Software
                                                              • 462 Bestuumlckung der Platine
                                                              • 463 Lokal gesteuertes RCL
                                                              • 464 Ferngesteuertes RCL

53

44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung Im Folgenden wird die Installation und Konfiguration des AVR-Studios 418 und der Bascom 11198 Demoversion beschrieben Alle Anleitungen sind zeilenweise von links nach rechts zu lesen

441 AVR-Studio 418 4411 Installation Auf der Webseite von ATMEL Register AVR Studio 418 (build 684) anklicken und Registrie-rungsformular ausfuumlllen Danach die Datei AvrStudio418Setup herunterladen Durch Dop-pelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen Next waumlhlen

I accept hellip und Next waumlhlen Installationsordner und Next waumlhlen

54

Installupgrade hellip und Next waumlhlen Install waumlhlen Die Installation beginnt

Finish waumlhlen

4412 Konfiguration AVR Studio 418 in Windows XP Professional unter StartProgramme aufrufen

Startfenster mit Cancel schlieszligen Unter ToolsProgram AVR Auto Connect waumlhlen

55

Im eingeblendeten Fenster auf der Registerkarte Main als Device ATmega16 und als Programming Mode ISP mo-de waumlhlen

Optional kann Signatur gelesen werden

In der Registerkarte Fuses alle Haumlkchen und Auswahlfel-der wie angegeben waumlhlen

Dann Program waumlhlen

442 BASCOM 11198 Demoversion 4421 Installation Auf der Webseite von Bascom unter Bascom AVR Demo die Zip-Datei setupdemoexe her-untergeladen Durch Doppelklick auf den Dateinamen die Installation starten

Next waumlhlen I accept the agreement und Next waumlhlen

56

Next waumlhlen Installationsordner eingeben und Next waumlhlen

Eintrag im Start-Menuuml eingeben und Next waumlhlen Next waumlhlen

Yes restart the computer now und Finish waumlhlen

57

4422 Konfiguration Bascom AVR in Windows XP Professional unter StartProgramme zum Einstellen der Para-meter des Mikrocontrollers und des Terminals aufrufen

OptionsCompilerChip waumlhlen Einstellungen wie im Bild vornehmen und OK waumlhlen

Auf der Registerkarte Communications Einstellungen wie im Bild vornehmen und OK waumlhlen

Unter OptionsCommunication Einstellungen wie im Bild

vornehmen und OK waumlhlen FileNew waumlhlen Unter ToolsTerminal emulator das Terminal aufrufen und

eingeben Die Befehlsliste des RCLs Elektronenbeu-gung wird angezeigt

45 Installation und Konfiguration von Programmen auf dem RCL-Server Im Folgenden wird der Download die Installation und die Konfiguration von Programmen auf dem RCL-Server unter Windows XP Professional beschrieben Alle Anleitungen sind zeilen-weise von links nach rechts zu lesen Die Installation der Programme sollte in der angegebe-nen Reihenfolge erfolgen

58

451 Einrichten des Internet-Zugangs LAN-Verbindung unter StartSystemsteuerungNetzwerkverbindungen aufrufen

Internetprotokoll (TCPIP) und Eigenschaften waumlhlen Folgende IP-Adresse verwenden waumlhlen IP-Adressen ein-

geben und OK waumlhlen

452 Paket XAMPP 174 Unter apache friends - xampp fuumlr windows und XAMPP Windows 174 Installer anklicken und Datei xampp-win32-174-VC6-installerexe speichern Durch Doppelklick auf die Datei die Installation starten

Sprache und Ok waumlhlen Ok waumlhlen

59

Weiter waumlhlen Zielverzeichnis mit Durchsuchen waumlhlen oder eingeben

Apache nicht als Dienst installieren Fertig stellen waumlhlen

Ja waumlhlen Zum Starten des Apache Webservers das Control Panel

unter StartProgrammeXAMPP 173 for Windows mit Start starten Anstelle von Start erscheint Running

Zum Beenden des Apache Webservers Stop waumlhlen Zum Beenden des Control Panels Exit waumlhlen

60

453 Videoserver webcamXP 5 Private Auf der Webseite von Moonware Studios unter webcamXP 55xx die Datei wlite550 herun-terladen Durch Doppelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen I Agree waumlhlen

Next waumlhlen Auszliger webcamXP 5 brauchen keine weiteren Komponen-

ten installiert zu werden

Den vorgeschlagenen Ordner und Install waumlhlen Finish waumlhlen

61

WebcamXP unter StartProgramme aufrufen Zugesandte

Lizenz-Daten in das eingeblendete Fenster eingeben und Register waumlhlen

Beim Starten des Programms stellt webcamXP automa-tisch eine Verbindung zu den am Computer angeschlosse-nen Webcams her

Nach dem Start ist Uumlberwachen gewaumlhlt Durch Rechts-klick mit der Maus auf das Videofenster wird zu jeder Vi-deoquelle ein Kontextmenuuml angezeigt Wird kein Videobild dargestellt das Kontextmenuuml aufrufen Art der Videoquelle waumlhlen (hier USB) und unter den erkannten Videoquellen (hier USB-Videogeraumlt) die gewuumlnschte waumlhlen

Das Videoformat muss fuumlr eine passende Darstellung auf

der Laborseite auf 320 x 240 eingestellt sein Ist das nicht der Fall im Kontextmenuuml unter Video Format einstellen

In gleicher Weise kann eine zweite Videoquelle hinzugefuumlgt werden

In der Registerkarte Web Broadcast kann unter

Broadcast (HTTP) der Videoserver mit Ausschalten ge-stoppt und mit Aktivieren gestartet werden

Zur Zielwahl des Webservers (131246237167 - Internet D16W3X3J - Computer 127001 - Local Host) Videoser-ver stoppen und einstellen Videoserver wieder starten

62

454 Terminalprogramm Hyperterminal Hyperterminal in Windows XP Professional unter StartProgrammeZubehoumlrKommunikation aufrufen

Name der neuen Verbindung - z B Interface - eingeben

und OK waumlhlen Die Verbindung zwischen Computer und Interface wurde

uumlber einen USB-Seriell-Adapter hergestellt Dann erschei-nen zwei zusaumltzliche Eintraumlge (Motorola Comp Modem und COM5) in der Liste Prinzipiell muss eine COMx-Verbindung gewaumlhlt werden

Eigenschaften von COM 5 wie im Bild einstellen und OK

waumlhlen DateiEigenschaften aufrufen und ASCII-Konfiguration

waumlhlen

63

Haken bei Eingegebene Zeichen lokal ausgeben (lokales

Echo) setzen um eingegebenen Zeichen im Hyperterminal zu sehen

Bei funktionsfaumlhiger Verbindung erscheint nach Eingabe von Return die Befehlsliste des Interface

Durch Aufrufen von DateiSpeichern die erstellte Verbin-

dung z B auf dem Desktop speichern Dadurch braucht die Verbindung nicht immer wieder von neuem konfiguriert wer-den

Nach Aufrufen von DateiBeenden die bestehende Verbin-dung mit Ja beenden

64

Wurde ein falscher COM-Port gewaumlhlt reagiert das Inter-

face auf die Eingabe Return nicht Hyperterminal dann beenden

Der COM-Port kann dann nicht unter DateiEigenschaften im Hyperterminal aber unter Eigenschaften des Kontext-menuumls der Datei Interfaceht in der Registerkarte Verbin-den mit geaumlndert werden Dann OK waumlhlen und erneut Verbindung testen

65

455 Fernwartungssoftware TeamViewer 6 Host Auf der Webseite von Teamviewer GmbH unter Fuumlr unbeaufsichtigte Server TeamViewer Vollversion die Datei TeamViewer_Setup-wq herunterladen Das Programm muss auf dem RCL-Server und dem Computer der auf den RCL-Server zugreifen soll installiert werden Durch Doppelklick auf die Datei die Installation starten

Ausfuumlhren waumlhlen Weiter waumlhlen

Fuumlr die private nicht kommerzielle Nutzung ist Teamviewer kostenlos

privat nicht-kommerziell und Weiter waumlhlen

Beide Haumlkchen setzen und Weiter waumlhlen

66

Ja un Weiter waumlhlen Weiter

Computername und Kennwort fuumlr den Zugriff auf den RCL-Server oder den eigenen Computer vergeben Kenn wort notie-ren

Ein Teamviewerkonto ist nicht erforderlich Kann auch spaumlter noch eingerichtet werden

ID fuumlr den Computer auf dem das Programm installiert wird fuumlr Zugriff notieren

Das Programm wird gestartet Standardmaumlszligig vorein-gestellt ist der Start des Programms beim Start des Be-trienssystems

67

46 Selbstbau eines elementaren RCLs 461 Hard- und Software Auch ohne gleich ein vielleicht teures physikalisches Experiment zu steuern laumlsst sich mit wenigen Bauelementen ein elementares RCL realisieren Von einer Webseite im Internet sol-len eine Leuchtdiode (LED) ein- oder ausgeschaltet sowie der Zustand der Leuchtdiode und eines Tasters abgefragt werden An Hard- und Software werden benoumltigt

1 Low-Current-LED 5 mm 2 mA 1 Widerstand 18 kΩ 1 Taster und optional zwei 10-polige Wannenstecker mit ungefaumlhr 10 cm passendem Flachbandkabel und Buchsen

Interface in Basisschaltung Null-Modem-Kabel 12 V DC Steckernetzteil (larr 1)

Installierte Bascom-Demo-Version (larr 42)

AVR ISP-Programmer mit 10-poligem Programmierkabel

Installiertes und konfiguriertes AVR Studio 418 (larr 41)

Installiertes Paket XAMPP (larr 52)

Texteditor wie z B Notepad in Windows XP Professional

Konfigurierte Hyperterminalverbindung (larr 54)

462 Bestuumlckung der Platine Abb 29 zeigt zur Orientierung fuumlr das Einloumlten der Bauelemente die fertig bestuumlckte Platine des Interface

Abb 29 Mit elementarem RCL bestuumlckte Platine

des Interface

LED mit Vorwiderstand und der Taster sind rechts neben dem Mikrocontroller im Lochraster-bereich aufgebaut und uumlber Wannenstecker und Flachbandkabel mit dem Port A des Mikro-controllers verbunden (die drei Bauteile rechts neben dem ATmega16 werden nicht benouml-tigt) Tab 13 erlaumlutert die Schritte zur Bestuumlckung der Platine des Interface

68

Nr Schaltung Erlaumluterung

1

Die Leuchtdiode (LED) mit dem Pluspol (langes Beinchen) an PortA0 (PIN40 oben rechts) des Mikrocontrollers anloumlten

An das kurze Beinchen einen 18kΩ Widerstand loumlten dessen anderes Ende mit der Masse (GND) verbinden

2

Den Taster mit PortA1 (PIN39 = 2 Beinchen von oben rechts) und Masse (GND) verbinden

3

Draufsicht

Belegung des 10-poligen Wannensteckers 1 GND (Masse) im Foto oben links 2 +5 V 3 PortA0 4 PortA1 10 PortA7 im Foto unten rechts

Tab 13 Schritte zum Aufbau des elementaren RCLs

463 Lokal gesteuertes RCL Nachfolgend ist der Basic-Programmcode des Mikrocontrollers zur Steuerung und Abfrage der LED und des Tasters angegeben 01 $regfile = m16DEFdat Microcontroller ATmega16 02 $crystal = 11059200 110592MHz Quarz 03 $baud = 9600 Baudrate 04 05 ---[ Variables ]--------------------------------------------------------------- 06 Dim Rs232kommando As String 10 erst Befehlspuffer dann Kommando 07 Dim Parameter As String 10 Parameter 08 Dim Str_pos As Byte Position von Leerzeichen zur Trennung von Kommando und Pa-rameter 09 10 ---[ Initialisierung ]--------------------------------------------------------- 11 Ddra0 = 1 PortA0 als Ausgang fuumlr LED 12 Porta0 = 0 LED aus 13 Ddra1 = 0 PortA1 als Eingang fuumlr Taster 14 Porta1 = 1 Pull-Up aktivieren 15 16 ---[ Main program loop ]------------------------------------------------------- 17 Do Start der Endlos-Schleife 18 19 If Ischarwaiting() = 1 Then Zeichen uumlber RS232 empfangen 20 Input Rs232kommando neues Kommando lesen 21 Parameter = Parameter initialisieren 22 Str_pos = Instr(rs232kommando ) Leerzeichen im Kommando suchen 23 If Str_pos gt 0 Then falls Leerzeichen dann in Kommando+Parameter zerlegen 24 Incr Str_pos Str_pos soll jetzt auf 1Zeichen des Parameters zeigen 25 Parameter = Mid(rs232kommando Str_pos ) Parameter = Teilstring nach Leerzeichen 26 Parameter = Ucase(parameter) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 27 Str_pos = Str_pos - 2 Str_pos soll jetzt auf letztes Zeichen des Kommandos zeigen 28 Rs232kommando = Left(rs232kommando Str_pos)Kommando = Teilstring vor Leerzeichen 29 Rs232kommando = Ucase(rs232kommando) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 30 End If 31 32 Select Case Rs232kommando Eventhandler Interpretation der Kommandos 33 Case Print Hilfe Hilfeseite anzeigen 34 Print LED on - LED einschalten 35 Print LED off - LED ausschalten 36 Print LED - zeigt Status der LED an 37 Print SW - zeigt Status des Schalters an 38

1K8

LED rotmicroC PortA0(PIN40)

Taster

microC PortA1(PIN39)

1

3

2

69

39 Case LED If Parameter = ON Then LED schalten 40 Porta0 = 1 41 End If 42 If Parameter = OFF Then 43 Porta0 = 0 44 End If 45 46 Case LED If Porta0 = 0 Then Status der LED ausgeben 47 Print LED aus 48 Else 49 Print LED an 50 End If 51 52 Case SW If Pina1 = 1 Then Status des Schalters ausgeben 53 Print Taster offen 54 Else 55 Print Taster geschlossen 56 End If 57 58 Case Else Print gt Rs232kommando lt ungueltiger Befehl - weitere Infos mit Info bei unguumlltigen Eingaben 59 End Select 60 61 End If 62 63 Loop Endlos-Schleife Springe zu Do 64 65 End wird nie erreicht

Der erste Teil des Programms (Zeilen 1 - 15) enthaumllt die Systemparameter Variablen und Initialisierung der Ein- und Ausgaumlnge Der zweite Teil enthaumllt ab Zeile 17 das Hauptpro-gramm in dem Benutzereingaben uumlber die serielle Schnittstelle empfangen interpretiert und in entsprechende Anweisungen umgesetzt werden Tab 14 erlaumlutert den Programmcode de-taillierter

Zeilen Erlaumluterung

1 - 3 Diese Angaben teilen dem Compiler (Bascom) mit welcher Prozessor eingesetzt wird wie schnell dieser getaktet (Quarz) ist und mit welcher Uumlbertragungsgeschwindigkeit die Kommunikation uumlber die serielle Schnittstelle (RS232) mit dem PC erfolgen soll

6 - 8 Es werden drei Variablen genutzt Die Eingabe uumlber die serielle Schnittstelle wird in rs232kommando gespeichert Es wird ein Text der Form Kommando ltLeerzeichengt Parameter erwartet so dass die Variable Parameter den-selbigen aufnimmt Die Variable str_pos wird fuumlr die Trennung von Kommando und Parameter benoumltigt

11 - 14

Mit dem Befehl ddrPX (ddr = data direction) wird festgelegt ob ein Beinchen als Ausgang (=1) oder als Eingang (=0) arbeiten soll Der ATmega16 besitzt 32 Ein-Ausgaumlnge die in vier Ports (P=AD) zu je 8 Pins (X=07) unterteilt sind ddrA0 = 1 legt also das 1 Beinchen (Pin 0) von PortA als Ausgang (=1) fest Mit dem Befehl PortA0 =1 kann dieser Pin dann durch Zuweisen von 1 oder 0 an- bzw ausgeschaltet werden Im Datenblatt erfahren Sie welches der 40 Beinchen des Mikrocontrollers wie bezeichnet wird (Pin-Belegung) Wird ein Beinchen als Eingang verwendet (ddrA1 = 0) koumlnnen Sie optional einen so genannten Pull-Up-Widerstand aktivieren (PortA1=1) oder deaktivieren (PortA1=0) Auch hierzu sollten Sie sich unbedingt mit dem Datenblatt vertraut machen

17 63 Das Hauptprogramm besteht aus einer Endlosschleife d h der Mikrocontroller verrichtet ununterbrochen seinen Job so lange er mit Strom versorgt wird

19 - 30 Falls ein Zeichen uumlber die serielle Schnittstelle empfangen wurde wird dieses und alle folgenden gelesen Anschlie-szligend wird gepruumlft ob der empfangene Text von der Form Kommando ltLeerzeichengt Parameter ist so dass er ge-gebenenfalls in ein Kommando und einen Parameter zerlegt werden kann

32 - 59 Dieser Abschnitt wird mit Event-Handler bezeichnet Hier wird auf die Kommandos (Events) reagiert und die ent-sprechenden Schritte ausgefuumlhrt zB schalten LED je nach Wert der Variablen Parameter an- bzw ausschalten

46 52

In beiden Zeilen wird ein Wert eines Ports abgefragt Unterschiedlich ist dass in Zeile 46 der Status eines Ausgangs abgefragt wird (porta0) und in Zeile 52 der Zustand eines Eingangs (pina0) Die Anweisung IF porta0 = 0 THEN pruumlft (hier ist = ein Vergleich und KEINE Zuweisung) ob zuletzt die LED ausgeschaltet (Zuweisung porta0 = 0) wurde Die Anweisung IF pina1= 1 THEN liest den Status eines Eingangs Hier kann festgestellt werden ob der Eingang uumlber den internen Pull-UP-Widerstand auf +5V liegt (pina1 liefert 1) oder ob der Schalter den Eingang mit Masse (0V) verbindet (pina1 liefert 0)

Tab 14 Erlaumluterung des Mikrocontroller-Programmcodes fuumlr elementares RCL

70

In Bascom AVR eine neue Datei erzeugen (FileNew) den Programmcode ohne Kommenta-re eingeben und mit ProgramCompile (F7) eine Hexadezimaldatei erzeugen Die Hexadezi-maldatei mit dem AVR-Studio und dem AVR-ISP-Programmer in den Mikrocontroller schrei-ben (larr 222 Programmuumlbertragung) Nach dem Verbinden von Computer und Interface per Null-Modem-Kabel kann durch Eingabe von in das konfigurierte Hyperterminal die Befehls-liste in Abb 30 aufgerufen werden

Abb 30 Aufgerufene Befehlsliste im Hyperterminal

Durch Eingabe von LED on oder LED off kann die LED ein- und ausgeschaltet LED zeigt den Status der LED und sw den Status des Tasters an Alternativ zum Hyperterminal kann auch das Terminal in BASCOM unter ToolsTerminal Emulator verwendet werden (larr 422)

464 Ferngesteuertes RCL Zum Ansteuern des Interfaces und zum Bedienen des Versuchsaufbaus uumlber das Internet wird eine Webseite benoumltigt die dem Benutzer alle Bedienelemente des Experiments zur Verfuumlgung stellt

Der Benutzer benoumltigt anklickbare Buttons im Webbrowser

Der Webserver muss die Information welcher Button gedruumlckt wurde empfangen und ein entsprechendes Kommando uumlber die serielle Schnittstelle an das Interface senden

Beide Schritte sind im nachfolgenden PHPHTML-Quellcode zusammengefasst 01 ltDOCTYPE HTML PUBLIC -W3CDTD HTML 401 TransitionalEN httpwwww3orgTRhtml4loosedtdgt 02 lthtmlgt 03 ltheadgt 04 ltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1gt 05 lttitlegtelementares RCLlttitlegt 06 ltheadgt 07 08 ltbodygt 09 ltphp 10 if (isset($_POST[Kommando])) wurde bereits Kommando gesendet 11 if( ( $handle = fopen( COM1 w+ ) ) ) Schnittstelle oumlffnen 12

71

13 throw new Exception( Can not access serial port 2 ) ohne Erfolg 14 15 fwrite( $handle $_POST[Kommando] chr( 13 ) ) Befehl an Interface senden 16 switch ( $_POST[Kommando] ) Antwort von Interface auswerten 17 case LED $tmp = fgets( $handle ) Echo von Interface ignorieren 18 $antwort = fgets( $handle ) Antwort des Interfaces 19 echo Antwort $antwort Ausgabe auf Webseite 20 break switch verlassen 21 22 case SW $tmp = fgets( $handle ) Echo von Interface ignorieren 23 $antwort = fgets( $handle ) Antwort des Interfaces 24 echo Antwort $antwort Ausgabe auf Webseite 25 break switch verlassen 26 27 28 29 fclose( $handle ) Schnittstelle schlieszligen 30 31 else 32 `mode com1 BAUD=9600 PARITY=N data=8 stop=1 xon=off` Schnittstellenparameter setzen 33 34 35 gt 36 37 lth3gtBefehl sendenlth3gt 38 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 39 ltinput type=hidden name=Kommando value=LED ON gt 40 ltinput type=submit value=LED anschalten gt 41 ltformgt 42 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 43 ltinput type=hidden name=Kommando value=LED OFF gt 44 ltinput type=submit value=LED ausschalten gt 45 ltformgt 46 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 47 ltinput type=hidden name=Kommando value=LED gt 48 ltinput type=submit value=LED abfragen gt 49 ltformgt 50 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 51 ltinput type=hidden name=Kommando value=SW gt 52 ltinput type=submit value=Taster abfragen gt 53 ltformgt 54 ltbodygt 55 lthtmlgt Den Quellcode in den Texteditor kopieren und im Ordner htdocs von XAMPP z B unter rclphp speichern HTML-Dateien mit PHP-Code (Zeilen 9-35) muumlssen mit der Erweiterung php gespeichert werden damit der Apache Webserver zwischen HTML-Seiten mit und ohne PHP-Code unterscheiden kann Den installierten Apache Webserver starten (larr 452) und im Adressfeld des Webbrowsers die IP-Adresse http127001rclphp aufrufen Das Bedi-enfeld des elementaren RCLs in Abb 31 wird im Browserfenster angezeigt

72

Abb 31 Laborseite des elementaren RCLs

Im Bedienfeld kann die LED an- und ausgeschaltet sowie der Status von LED und Taster abgefragt werden

  • 0 Warum ein Tutorial zur RCL-Technik
  • 1 Technische Konzeption
    • 11 Einfuumlhrung
    • 12 Wahl der RCL-Technik
      • 2 Lokal gesteuertes RCL
        • 21 Interface
          • 211 Mikrocontroller
          • 212 Basisschaltung und Erweiterungsschaltungen
          • 213 Programmierung des Mikrocontrollers
            • 22 Hyperterminal
            • 23 Positionieren von Objekten
              • 231 Hybrid-Schrittmotoren
              • 232 Schrittmotorsteuerung und Positionierungsmechanik
                  • 3 Ferngesteuertes RCL
                    • 31 RCL-Server
                    • 32 Laborseite
                      • 321 Steuerung des RCLs uumlber das Bedienfeld
                      • 322 Videouumlbertragung im Webcamfeld
                        • 33 Standard-Lernumgebung
                          • 4 ANHANG
                            • 41 Interface in Basisschaltung
                              • 411 Schaltplan und Bauteilliste
                              • 412 Bestuumlckung der Platine
                                • 42 Erweiterungsschaltungen
                                  • 421 Uumlbersicht
                                  • 422 TMC222-Modul zur Schrittmotorsteuerung
                                    • 4221 Schaltplan und Bauteilliste
                                    • 4222 Bestuumlckung der Platine
                                    • 4223 Quellcode des Mikrocontroller-Programms
                                      • 423 Geschaltete Spannungsquellen und Verbraucher
                                      • 424 Steuerung von Gleichstrommotoren
                                        • 43 Quellcodes zum RCL Elektronenbeugung
                                          • 431 Mikrocontroller-Programmierung
                                          • 432 PHP-Programmierung
                                          • 433 Bedienfeld der Laborseite
                                          • 434 Webcamfeld der Laborseite
                                            • 44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung
                                              • 441 AVR-Studio 418
                                                • 4411 Installation
                                                • 4412 Konfiguration
                                                  • 442 BASCOM 11198 Demoversion
                                                    • 4421 Installation
                                                    • 4422 Konfiguration
                                                        • 45 Installation und Konfiguration von Programmen auf dem RCL-Server
                                                          • 451 Einrichten des Internet-Zugangs
                                                          • 452 Paket XAMPP 174
                                                          • 453 Videoserver webcamXP 5 Private
                                                          • 454 Terminalprogramm Hyperterminal
                                                          • 455 Fernwartungssoftware TeamViewer 6 Host
                                                            • 46 Selbstbau eines elementaren RCLs
                                                              • 461 Hard- und Software
                                                              • 462 Bestuumlckung der Platine
                                                              • 463 Lokal gesteuertes RCL
                                                              • 464 Ferngesteuertes RCL

54

Installupgrade hellip und Next waumlhlen Install waumlhlen Die Installation beginnt

Finish waumlhlen

4412 Konfiguration AVR Studio 418 in Windows XP Professional unter StartProgramme aufrufen

Startfenster mit Cancel schlieszligen Unter ToolsProgram AVR Auto Connect waumlhlen

55

Im eingeblendeten Fenster auf der Registerkarte Main als Device ATmega16 und als Programming Mode ISP mo-de waumlhlen

Optional kann Signatur gelesen werden

In der Registerkarte Fuses alle Haumlkchen und Auswahlfel-der wie angegeben waumlhlen

Dann Program waumlhlen

442 BASCOM 11198 Demoversion 4421 Installation Auf der Webseite von Bascom unter Bascom AVR Demo die Zip-Datei setupdemoexe her-untergeladen Durch Doppelklick auf den Dateinamen die Installation starten

Next waumlhlen I accept the agreement und Next waumlhlen

56

Next waumlhlen Installationsordner eingeben und Next waumlhlen

Eintrag im Start-Menuuml eingeben und Next waumlhlen Next waumlhlen

Yes restart the computer now und Finish waumlhlen

57

4422 Konfiguration Bascom AVR in Windows XP Professional unter StartProgramme zum Einstellen der Para-meter des Mikrocontrollers und des Terminals aufrufen

OptionsCompilerChip waumlhlen Einstellungen wie im Bild vornehmen und OK waumlhlen

Auf der Registerkarte Communications Einstellungen wie im Bild vornehmen und OK waumlhlen

Unter OptionsCommunication Einstellungen wie im Bild

vornehmen und OK waumlhlen FileNew waumlhlen Unter ToolsTerminal emulator das Terminal aufrufen und

eingeben Die Befehlsliste des RCLs Elektronenbeu-gung wird angezeigt

45 Installation und Konfiguration von Programmen auf dem RCL-Server Im Folgenden wird der Download die Installation und die Konfiguration von Programmen auf dem RCL-Server unter Windows XP Professional beschrieben Alle Anleitungen sind zeilen-weise von links nach rechts zu lesen Die Installation der Programme sollte in der angegebe-nen Reihenfolge erfolgen

58

451 Einrichten des Internet-Zugangs LAN-Verbindung unter StartSystemsteuerungNetzwerkverbindungen aufrufen

Internetprotokoll (TCPIP) und Eigenschaften waumlhlen Folgende IP-Adresse verwenden waumlhlen IP-Adressen ein-

geben und OK waumlhlen

452 Paket XAMPP 174 Unter apache friends - xampp fuumlr windows und XAMPP Windows 174 Installer anklicken und Datei xampp-win32-174-VC6-installerexe speichern Durch Doppelklick auf die Datei die Installation starten

Sprache und Ok waumlhlen Ok waumlhlen

59

Weiter waumlhlen Zielverzeichnis mit Durchsuchen waumlhlen oder eingeben

Apache nicht als Dienst installieren Fertig stellen waumlhlen

Ja waumlhlen Zum Starten des Apache Webservers das Control Panel

unter StartProgrammeXAMPP 173 for Windows mit Start starten Anstelle von Start erscheint Running

Zum Beenden des Apache Webservers Stop waumlhlen Zum Beenden des Control Panels Exit waumlhlen

60

453 Videoserver webcamXP 5 Private Auf der Webseite von Moonware Studios unter webcamXP 55xx die Datei wlite550 herun-terladen Durch Doppelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen I Agree waumlhlen

Next waumlhlen Auszliger webcamXP 5 brauchen keine weiteren Komponen-

ten installiert zu werden

Den vorgeschlagenen Ordner und Install waumlhlen Finish waumlhlen

61

WebcamXP unter StartProgramme aufrufen Zugesandte

Lizenz-Daten in das eingeblendete Fenster eingeben und Register waumlhlen

Beim Starten des Programms stellt webcamXP automa-tisch eine Verbindung zu den am Computer angeschlosse-nen Webcams her

Nach dem Start ist Uumlberwachen gewaumlhlt Durch Rechts-klick mit der Maus auf das Videofenster wird zu jeder Vi-deoquelle ein Kontextmenuuml angezeigt Wird kein Videobild dargestellt das Kontextmenuuml aufrufen Art der Videoquelle waumlhlen (hier USB) und unter den erkannten Videoquellen (hier USB-Videogeraumlt) die gewuumlnschte waumlhlen

Das Videoformat muss fuumlr eine passende Darstellung auf

der Laborseite auf 320 x 240 eingestellt sein Ist das nicht der Fall im Kontextmenuuml unter Video Format einstellen

In gleicher Weise kann eine zweite Videoquelle hinzugefuumlgt werden

In der Registerkarte Web Broadcast kann unter

Broadcast (HTTP) der Videoserver mit Ausschalten ge-stoppt und mit Aktivieren gestartet werden

Zur Zielwahl des Webservers (131246237167 - Internet D16W3X3J - Computer 127001 - Local Host) Videoser-ver stoppen und einstellen Videoserver wieder starten

62

454 Terminalprogramm Hyperterminal Hyperterminal in Windows XP Professional unter StartProgrammeZubehoumlrKommunikation aufrufen

Name der neuen Verbindung - z B Interface - eingeben

und OK waumlhlen Die Verbindung zwischen Computer und Interface wurde

uumlber einen USB-Seriell-Adapter hergestellt Dann erschei-nen zwei zusaumltzliche Eintraumlge (Motorola Comp Modem und COM5) in der Liste Prinzipiell muss eine COMx-Verbindung gewaumlhlt werden

Eigenschaften von COM 5 wie im Bild einstellen und OK

waumlhlen DateiEigenschaften aufrufen und ASCII-Konfiguration

waumlhlen

63

Haken bei Eingegebene Zeichen lokal ausgeben (lokales

Echo) setzen um eingegebenen Zeichen im Hyperterminal zu sehen

Bei funktionsfaumlhiger Verbindung erscheint nach Eingabe von Return die Befehlsliste des Interface

Durch Aufrufen von DateiSpeichern die erstellte Verbin-

dung z B auf dem Desktop speichern Dadurch braucht die Verbindung nicht immer wieder von neuem konfiguriert wer-den

Nach Aufrufen von DateiBeenden die bestehende Verbin-dung mit Ja beenden

64

Wurde ein falscher COM-Port gewaumlhlt reagiert das Inter-

face auf die Eingabe Return nicht Hyperterminal dann beenden

Der COM-Port kann dann nicht unter DateiEigenschaften im Hyperterminal aber unter Eigenschaften des Kontext-menuumls der Datei Interfaceht in der Registerkarte Verbin-den mit geaumlndert werden Dann OK waumlhlen und erneut Verbindung testen

65

455 Fernwartungssoftware TeamViewer 6 Host Auf der Webseite von Teamviewer GmbH unter Fuumlr unbeaufsichtigte Server TeamViewer Vollversion die Datei TeamViewer_Setup-wq herunterladen Das Programm muss auf dem RCL-Server und dem Computer der auf den RCL-Server zugreifen soll installiert werden Durch Doppelklick auf die Datei die Installation starten

Ausfuumlhren waumlhlen Weiter waumlhlen

Fuumlr die private nicht kommerzielle Nutzung ist Teamviewer kostenlos

privat nicht-kommerziell und Weiter waumlhlen

Beide Haumlkchen setzen und Weiter waumlhlen

66

Ja un Weiter waumlhlen Weiter

Computername und Kennwort fuumlr den Zugriff auf den RCL-Server oder den eigenen Computer vergeben Kenn wort notie-ren

Ein Teamviewerkonto ist nicht erforderlich Kann auch spaumlter noch eingerichtet werden

ID fuumlr den Computer auf dem das Programm installiert wird fuumlr Zugriff notieren

Das Programm wird gestartet Standardmaumlszligig vorein-gestellt ist der Start des Programms beim Start des Be-trienssystems

67

46 Selbstbau eines elementaren RCLs 461 Hard- und Software Auch ohne gleich ein vielleicht teures physikalisches Experiment zu steuern laumlsst sich mit wenigen Bauelementen ein elementares RCL realisieren Von einer Webseite im Internet sol-len eine Leuchtdiode (LED) ein- oder ausgeschaltet sowie der Zustand der Leuchtdiode und eines Tasters abgefragt werden An Hard- und Software werden benoumltigt

1 Low-Current-LED 5 mm 2 mA 1 Widerstand 18 kΩ 1 Taster und optional zwei 10-polige Wannenstecker mit ungefaumlhr 10 cm passendem Flachbandkabel und Buchsen

Interface in Basisschaltung Null-Modem-Kabel 12 V DC Steckernetzteil (larr 1)

Installierte Bascom-Demo-Version (larr 42)

AVR ISP-Programmer mit 10-poligem Programmierkabel

Installiertes und konfiguriertes AVR Studio 418 (larr 41)

Installiertes Paket XAMPP (larr 52)

Texteditor wie z B Notepad in Windows XP Professional

Konfigurierte Hyperterminalverbindung (larr 54)

462 Bestuumlckung der Platine Abb 29 zeigt zur Orientierung fuumlr das Einloumlten der Bauelemente die fertig bestuumlckte Platine des Interface

Abb 29 Mit elementarem RCL bestuumlckte Platine

des Interface

LED mit Vorwiderstand und der Taster sind rechts neben dem Mikrocontroller im Lochraster-bereich aufgebaut und uumlber Wannenstecker und Flachbandkabel mit dem Port A des Mikro-controllers verbunden (die drei Bauteile rechts neben dem ATmega16 werden nicht benouml-tigt) Tab 13 erlaumlutert die Schritte zur Bestuumlckung der Platine des Interface

68

Nr Schaltung Erlaumluterung

1

Die Leuchtdiode (LED) mit dem Pluspol (langes Beinchen) an PortA0 (PIN40 oben rechts) des Mikrocontrollers anloumlten

An das kurze Beinchen einen 18kΩ Widerstand loumlten dessen anderes Ende mit der Masse (GND) verbinden

2

Den Taster mit PortA1 (PIN39 = 2 Beinchen von oben rechts) und Masse (GND) verbinden

3

Draufsicht

Belegung des 10-poligen Wannensteckers 1 GND (Masse) im Foto oben links 2 +5 V 3 PortA0 4 PortA1 10 PortA7 im Foto unten rechts

Tab 13 Schritte zum Aufbau des elementaren RCLs

463 Lokal gesteuertes RCL Nachfolgend ist der Basic-Programmcode des Mikrocontrollers zur Steuerung und Abfrage der LED und des Tasters angegeben 01 $regfile = m16DEFdat Microcontroller ATmega16 02 $crystal = 11059200 110592MHz Quarz 03 $baud = 9600 Baudrate 04 05 ---[ Variables ]--------------------------------------------------------------- 06 Dim Rs232kommando As String 10 erst Befehlspuffer dann Kommando 07 Dim Parameter As String 10 Parameter 08 Dim Str_pos As Byte Position von Leerzeichen zur Trennung von Kommando und Pa-rameter 09 10 ---[ Initialisierung ]--------------------------------------------------------- 11 Ddra0 = 1 PortA0 als Ausgang fuumlr LED 12 Porta0 = 0 LED aus 13 Ddra1 = 0 PortA1 als Eingang fuumlr Taster 14 Porta1 = 1 Pull-Up aktivieren 15 16 ---[ Main program loop ]------------------------------------------------------- 17 Do Start der Endlos-Schleife 18 19 If Ischarwaiting() = 1 Then Zeichen uumlber RS232 empfangen 20 Input Rs232kommando neues Kommando lesen 21 Parameter = Parameter initialisieren 22 Str_pos = Instr(rs232kommando ) Leerzeichen im Kommando suchen 23 If Str_pos gt 0 Then falls Leerzeichen dann in Kommando+Parameter zerlegen 24 Incr Str_pos Str_pos soll jetzt auf 1Zeichen des Parameters zeigen 25 Parameter = Mid(rs232kommando Str_pos ) Parameter = Teilstring nach Leerzeichen 26 Parameter = Ucase(parameter) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 27 Str_pos = Str_pos - 2 Str_pos soll jetzt auf letztes Zeichen des Kommandos zeigen 28 Rs232kommando = Left(rs232kommando Str_pos)Kommando = Teilstring vor Leerzeichen 29 Rs232kommando = Ucase(rs232kommando) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 30 End If 31 32 Select Case Rs232kommando Eventhandler Interpretation der Kommandos 33 Case Print Hilfe Hilfeseite anzeigen 34 Print LED on - LED einschalten 35 Print LED off - LED ausschalten 36 Print LED - zeigt Status der LED an 37 Print SW - zeigt Status des Schalters an 38

1K8

LED rotmicroC PortA0(PIN40)

Taster

microC PortA1(PIN39)

1

3

2

69

39 Case LED If Parameter = ON Then LED schalten 40 Porta0 = 1 41 End If 42 If Parameter = OFF Then 43 Porta0 = 0 44 End If 45 46 Case LED If Porta0 = 0 Then Status der LED ausgeben 47 Print LED aus 48 Else 49 Print LED an 50 End If 51 52 Case SW If Pina1 = 1 Then Status des Schalters ausgeben 53 Print Taster offen 54 Else 55 Print Taster geschlossen 56 End If 57 58 Case Else Print gt Rs232kommando lt ungueltiger Befehl - weitere Infos mit Info bei unguumlltigen Eingaben 59 End Select 60 61 End If 62 63 Loop Endlos-Schleife Springe zu Do 64 65 End wird nie erreicht

Der erste Teil des Programms (Zeilen 1 - 15) enthaumllt die Systemparameter Variablen und Initialisierung der Ein- und Ausgaumlnge Der zweite Teil enthaumllt ab Zeile 17 das Hauptpro-gramm in dem Benutzereingaben uumlber die serielle Schnittstelle empfangen interpretiert und in entsprechende Anweisungen umgesetzt werden Tab 14 erlaumlutert den Programmcode de-taillierter

Zeilen Erlaumluterung

1 - 3 Diese Angaben teilen dem Compiler (Bascom) mit welcher Prozessor eingesetzt wird wie schnell dieser getaktet (Quarz) ist und mit welcher Uumlbertragungsgeschwindigkeit die Kommunikation uumlber die serielle Schnittstelle (RS232) mit dem PC erfolgen soll

6 - 8 Es werden drei Variablen genutzt Die Eingabe uumlber die serielle Schnittstelle wird in rs232kommando gespeichert Es wird ein Text der Form Kommando ltLeerzeichengt Parameter erwartet so dass die Variable Parameter den-selbigen aufnimmt Die Variable str_pos wird fuumlr die Trennung von Kommando und Parameter benoumltigt

11 - 14

Mit dem Befehl ddrPX (ddr = data direction) wird festgelegt ob ein Beinchen als Ausgang (=1) oder als Eingang (=0) arbeiten soll Der ATmega16 besitzt 32 Ein-Ausgaumlnge die in vier Ports (P=AD) zu je 8 Pins (X=07) unterteilt sind ddrA0 = 1 legt also das 1 Beinchen (Pin 0) von PortA als Ausgang (=1) fest Mit dem Befehl PortA0 =1 kann dieser Pin dann durch Zuweisen von 1 oder 0 an- bzw ausgeschaltet werden Im Datenblatt erfahren Sie welches der 40 Beinchen des Mikrocontrollers wie bezeichnet wird (Pin-Belegung) Wird ein Beinchen als Eingang verwendet (ddrA1 = 0) koumlnnen Sie optional einen so genannten Pull-Up-Widerstand aktivieren (PortA1=1) oder deaktivieren (PortA1=0) Auch hierzu sollten Sie sich unbedingt mit dem Datenblatt vertraut machen

17 63 Das Hauptprogramm besteht aus einer Endlosschleife d h der Mikrocontroller verrichtet ununterbrochen seinen Job so lange er mit Strom versorgt wird

19 - 30 Falls ein Zeichen uumlber die serielle Schnittstelle empfangen wurde wird dieses und alle folgenden gelesen Anschlie-szligend wird gepruumlft ob der empfangene Text von der Form Kommando ltLeerzeichengt Parameter ist so dass er ge-gebenenfalls in ein Kommando und einen Parameter zerlegt werden kann

32 - 59 Dieser Abschnitt wird mit Event-Handler bezeichnet Hier wird auf die Kommandos (Events) reagiert und die ent-sprechenden Schritte ausgefuumlhrt zB schalten LED je nach Wert der Variablen Parameter an- bzw ausschalten

46 52

In beiden Zeilen wird ein Wert eines Ports abgefragt Unterschiedlich ist dass in Zeile 46 der Status eines Ausgangs abgefragt wird (porta0) und in Zeile 52 der Zustand eines Eingangs (pina0) Die Anweisung IF porta0 = 0 THEN pruumlft (hier ist = ein Vergleich und KEINE Zuweisung) ob zuletzt die LED ausgeschaltet (Zuweisung porta0 = 0) wurde Die Anweisung IF pina1= 1 THEN liest den Status eines Eingangs Hier kann festgestellt werden ob der Eingang uumlber den internen Pull-UP-Widerstand auf +5V liegt (pina1 liefert 1) oder ob der Schalter den Eingang mit Masse (0V) verbindet (pina1 liefert 0)

Tab 14 Erlaumluterung des Mikrocontroller-Programmcodes fuumlr elementares RCL

70

In Bascom AVR eine neue Datei erzeugen (FileNew) den Programmcode ohne Kommenta-re eingeben und mit ProgramCompile (F7) eine Hexadezimaldatei erzeugen Die Hexadezi-maldatei mit dem AVR-Studio und dem AVR-ISP-Programmer in den Mikrocontroller schrei-ben (larr 222 Programmuumlbertragung) Nach dem Verbinden von Computer und Interface per Null-Modem-Kabel kann durch Eingabe von in das konfigurierte Hyperterminal die Befehls-liste in Abb 30 aufgerufen werden

Abb 30 Aufgerufene Befehlsliste im Hyperterminal

Durch Eingabe von LED on oder LED off kann die LED ein- und ausgeschaltet LED zeigt den Status der LED und sw den Status des Tasters an Alternativ zum Hyperterminal kann auch das Terminal in BASCOM unter ToolsTerminal Emulator verwendet werden (larr 422)

464 Ferngesteuertes RCL Zum Ansteuern des Interfaces und zum Bedienen des Versuchsaufbaus uumlber das Internet wird eine Webseite benoumltigt die dem Benutzer alle Bedienelemente des Experiments zur Verfuumlgung stellt

Der Benutzer benoumltigt anklickbare Buttons im Webbrowser

Der Webserver muss die Information welcher Button gedruumlckt wurde empfangen und ein entsprechendes Kommando uumlber die serielle Schnittstelle an das Interface senden

Beide Schritte sind im nachfolgenden PHPHTML-Quellcode zusammengefasst 01 ltDOCTYPE HTML PUBLIC -W3CDTD HTML 401 TransitionalEN httpwwww3orgTRhtml4loosedtdgt 02 lthtmlgt 03 ltheadgt 04 ltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1gt 05 lttitlegtelementares RCLlttitlegt 06 ltheadgt 07 08 ltbodygt 09 ltphp 10 if (isset($_POST[Kommando])) wurde bereits Kommando gesendet 11 if( ( $handle = fopen( COM1 w+ ) ) ) Schnittstelle oumlffnen 12

71

13 throw new Exception( Can not access serial port 2 ) ohne Erfolg 14 15 fwrite( $handle $_POST[Kommando] chr( 13 ) ) Befehl an Interface senden 16 switch ( $_POST[Kommando] ) Antwort von Interface auswerten 17 case LED $tmp = fgets( $handle ) Echo von Interface ignorieren 18 $antwort = fgets( $handle ) Antwort des Interfaces 19 echo Antwort $antwort Ausgabe auf Webseite 20 break switch verlassen 21 22 case SW $tmp = fgets( $handle ) Echo von Interface ignorieren 23 $antwort = fgets( $handle ) Antwort des Interfaces 24 echo Antwort $antwort Ausgabe auf Webseite 25 break switch verlassen 26 27 28 29 fclose( $handle ) Schnittstelle schlieszligen 30 31 else 32 `mode com1 BAUD=9600 PARITY=N data=8 stop=1 xon=off` Schnittstellenparameter setzen 33 34 35 gt 36 37 lth3gtBefehl sendenlth3gt 38 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 39 ltinput type=hidden name=Kommando value=LED ON gt 40 ltinput type=submit value=LED anschalten gt 41 ltformgt 42 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 43 ltinput type=hidden name=Kommando value=LED OFF gt 44 ltinput type=submit value=LED ausschalten gt 45 ltformgt 46 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 47 ltinput type=hidden name=Kommando value=LED gt 48 ltinput type=submit value=LED abfragen gt 49 ltformgt 50 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 51 ltinput type=hidden name=Kommando value=SW gt 52 ltinput type=submit value=Taster abfragen gt 53 ltformgt 54 ltbodygt 55 lthtmlgt Den Quellcode in den Texteditor kopieren und im Ordner htdocs von XAMPP z B unter rclphp speichern HTML-Dateien mit PHP-Code (Zeilen 9-35) muumlssen mit der Erweiterung php gespeichert werden damit der Apache Webserver zwischen HTML-Seiten mit und ohne PHP-Code unterscheiden kann Den installierten Apache Webserver starten (larr 452) und im Adressfeld des Webbrowsers die IP-Adresse http127001rclphp aufrufen Das Bedi-enfeld des elementaren RCLs in Abb 31 wird im Browserfenster angezeigt

72

Abb 31 Laborseite des elementaren RCLs

Im Bedienfeld kann die LED an- und ausgeschaltet sowie der Status von LED und Taster abgefragt werden

  • 0 Warum ein Tutorial zur RCL-Technik
  • 1 Technische Konzeption
    • 11 Einfuumlhrung
    • 12 Wahl der RCL-Technik
      • 2 Lokal gesteuertes RCL
        • 21 Interface
          • 211 Mikrocontroller
          • 212 Basisschaltung und Erweiterungsschaltungen
          • 213 Programmierung des Mikrocontrollers
            • 22 Hyperterminal
            • 23 Positionieren von Objekten
              • 231 Hybrid-Schrittmotoren
              • 232 Schrittmotorsteuerung und Positionierungsmechanik
                  • 3 Ferngesteuertes RCL
                    • 31 RCL-Server
                    • 32 Laborseite
                      • 321 Steuerung des RCLs uumlber das Bedienfeld
                      • 322 Videouumlbertragung im Webcamfeld
                        • 33 Standard-Lernumgebung
                          • 4 ANHANG
                            • 41 Interface in Basisschaltung
                              • 411 Schaltplan und Bauteilliste
                              • 412 Bestuumlckung der Platine
                                • 42 Erweiterungsschaltungen
                                  • 421 Uumlbersicht
                                  • 422 TMC222-Modul zur Schrittmotorsteuerung
                                    • 4221 Schaltplan und Bauteilliste
                                    • 4222 Bestuumlckung der Platine
                                    • 4223 Quellcode des Mikrocontroller-Programms
                                      • 423 Geschaltete Spannungsquellen und Verbraucher
                                      • 424 Steuerung von Gleichstrommotoren
                                        • 43 Quellcodes zum RCL Elektronenbeugung
                                          • 431 Mikrocontroller-Programmierung
                                          • 432 PHP-Programmierung
                                          • 433 Bedienfeld der Laborseite
                                          • 434 Webcamfeld der Laborseite
                                            • 44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung
                                              • 441 AVR-Studio 418
                                                • 4411 Installation
                                                • 4412 Konfiguration
                                                  • 442 BASCOM 11198 Demoversion
                                                    • 4421 Installation
                                                    • 4422 Konfiguration
                                                        • 45 Installation und Konfiguration von Programmen auf dem RCL-Server
                                                          • 451 Einrichten des Internet-Zugangs
                                                          • 452 Paket XAMPP 174
                                                          • 453 Videoserver webcamXP 5 Private
                                                          • 454 Terminalprogramm Hyperterminal
                                                          • 455 Fernwartungssoftware TeamViewer 6 Host
                                                            • 46 Selbstbau eines elementaren RCLs
                                                              • 461 Hard- und Software
                                                              • 462 Bestuumlckung der Platine
                                                              • 463 Lokal gesteuertes RCL
                                                              • 464 Ferngesteuertes RCL

55

Im eingeblendeten Fenster auf der Registerkarte Main als Device ATmega16 und als Programming Mode ISP mo-de waumlhlen

Optional kann Signatur gelesen werden

In der Registerkarte Fuses alle Haumlkchen und Auswahlfel-der wie angegeben waumlhlen

Dann Program waumlhlen

442 BASCOM 11198 Demoversion 4421 Installation Auf der Webseite von Bascom unter Bascom AVR Demo die Zip-Datei setupdemoexe her-untergeladen Durch Doppelklick auf den Dateinamen die Installation starten

Next waumlhlen I accept the agreement und Next waumlhlen

56

Next waumlhlen Installationsordner eingeben und Next waumlhlen

Eintrag im Start-Menuuml eingeben und Next waumlhlen Next waumlhlen

Yes restart the computer now und Finish waumlhlen

57

4422 Konfiguration Bascom AVR in Windows XP Professional unter StartProgramme zum Einstellen der Para-meter des Mikrocontrollers und des Terminals aufrufen

OptionsCompilerChip waumlhlen Einstellungen wie im Bild vornehmen und OK waumlhlen

Auf der Registerkarte Communications Einstellungen wie im Bild vornehmen und OK waumlhlen

Unter OptionsCommunication Einstellungen wie im Bild

vornehmen und OK waumlhlen FileNew waumlhlen Unter ToolsTerminal emulator das Terminal aufrufen und

eingeben Die Befehlsliste des RCLs Elektronenbeu-gung wird angezeigt

45 Installation und Konfiguration von Programmen auf dem RCL-Server Im Folgenden wird der Download die Installation und die Konfiguration von Programmen auf dem RCL-Server unter Windows XP Professional beschrieben Alle Anleitungen sind zeilen-weise von links nach rechts zu lesen Die Installation der Programme sollte in der angegebe-nen Reihenfolge erfolgen

58

451 Einrichten des Internet-Zugangs LAN-Verbindung unter StartSystemsteuerungNetzwerkverbindungen aufrufen

Internetprotokoll (TCPIP) und Eigenschaften waumlhlen Folgende IP-Adresse verwenden waumlhlen IP-Adressen ein-

geben und OK waumlhlen

452 Paket XAMPP 174 Unter apache friends - xampp fuumlr windows und XAMPP Windows 174 Installer anklicken und Datei xampp-win32-174-VC6-installerexe speichern Durch Doppelklick auf die Datei die Installation starten

Sprache und Ok waumlhlen Ok waumlhlen

59

Weiter waumlhlen Zielverzeichnis mit Durchsuchen waumlhlen oder eingeben

Apache nicht als Dienst installieren Fertig stellen waumlhlen

Ja waumlhlen Zum Starten des Apache Webservers das Control Panel

unter StartProgrammeXAMPP 173 for Windows mit Start starten Anstelle von Start erscheint Running

Zum Beenden des Apache Webservers Stop waumlhlen Zum Beenden des Control Panels Exit waumlhlen

60

453 Videoserver webcamXP 5 Private Auf der Webseite von Moonware Studios unter webcamXP 55xx die Datei wlite550 herun-terladen Durch Doppelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen I Agree waumlhlen

Next waumlhlen Auszliger webcamXP 5 brauchen keine weiteren Komponen-

ten installiert zu werden

Den vorgeschlagenen Ordner und Install waumlhlen Finish waumlhlen

61

WebcamXP unter StartProgramme aufrufen Zugesandte

Lizenz-Daten in das eingeblendete Fenster eingeben und Register waumlhlen

Beim Starten des Programms stellt webcamXP automa-tisch eine Verbindung zu den am Computer angeschlosse-nen Webcams her

Nach dem Start ist Uumlberwachen gewaumlhlt Durch Rechts-klick mit der Maus auf das Videofenster wird zu jeder Vi-deoquelle ein Kontextmenuuml angezeigt Wird kein Videobild dargestellt das Kontextmenuuml aufrufen Art der Videoquelle waumlhlen (hier USB) und unter den erkannten Videoquellen (hier USB-Videogeraumlt) die gewuumlnschte waumlhlen

Das Videoformat muss fuumlr eine passende Darstellung auf

der Laborseite auf 320 x 240 eingestellt sein Ist das nicht der Fall im Kontextmenuuml unter Video Format einstellen

In gleicher Weise kann eine zweite Videoquelle hinzugefuumlgt werden

In der Registerkarte Web Broadcast kann unter

Broadcast (HTTP) der Videoserver mit Ausschalten ge-stoppt und mit Aktivieren gestartet werden

Zur Zielwahl des Webservers (131246237167 - Internet D16W3X3J - Computer 127001 - Local Host) Videoser-ver stoppen und einstellen Videoserver wieder starten

62

454 Terminalprogramm Hyperterminal Hyperterminal in Windows XP Professional unter StartProgrammeZubehoumlrKommunikation aufrufen

Name der neuen Verbindung - z B Interface - eingeben

und OK waumlhlen Die Verbindung zwischen Computer und Interface wurde

uumlber einen USB-Seriell-Adapter hergestellt Dann erschei-nen zwei zusaumltzliche Eintraumlge (Motorola Comp Modem und COM5) in der Liste Prinzipiell muss eine COMx-Verbindung gewaumlhlt werden

Eigenschaften von COM 5 wie im Bild einstellen und OK

waumlhlen DateiEigenschaften aufrufen und ASCII-Konfiguration

waumlhlen

63

Haken bei Eingegebene Zeichen lokal ausgeben (lokales

Echo) setzen um eingegebenen Zeichen im Hyperterminal zu sehen

Bei funktionsfaumlhiger Verbindung erscheint nach Eingabe von Return die Befehlsliste des Interface

Durch Aufrufen von DateiSpeichern die erstellte Verbin-

dung z B auf dem Desktop speichern Dadurch braucht die Verbindung nicht immer wieder von neuem konfiguriert wer-den

Nach Aufrufen von DateiBeenden die bestehende Verbin-dung mit Ja beenden

64

Wurde ein falscher COM-Port gewaumlhlt reagiert das Inter-

face auf die Eingabe Return nicht Hyperterminal dann beenden

Der COM-Port kann dann nicht unter DateiEigenschaften im Hyperterminal aber unter Eigenschaften des Kontext-menuumls der Datei Interfaceht in der Registerkarte Verbin-den mit geaumlndert werden Dann OK waumlhlen und erneut Verbindung testen

65

455 Fernwartungssoftware TeamViewer 6 Host Auf der Webseite von Teamviewer GmbH unter Fuumlr unbeaufsichtigte Server TeamViewer Vollversion die Datei TeamViewer_Setup-wq herunterladen Das Programm muss auf dem RCL-Server und dem Computer der auf den RCL-Server zugreifen soll installiert werden Durch Doppelklick auf die Datei die Installation starten

Ausfuumlhren waumlhlen Weiter waumlhlen

Fuumlr die private nicht kommerzielle Nutzung ist Teamviewer kostenlos

privat nicht-kommerziell und Weiter waumlhlen

Beide Haumlkchen setzen und Weiter waumlhlen

66

Ja un Weiter waumlhlen Weiter

Computername und Kennwort fuumlr den Zugriff auf den RCL-Server oder den eigenen Computer vergeben Kenn wort notie-ren

Ein Teamviewerkonto ist nicht erforderlich Kann auch spaumlter noch eingerichtet werden

ID fuumlr den Computer auf dem das Programm installiert wird fuumlr Zugriff notieren

Das Programm wird gestartet Standardmaumlszligig vorein-gestellt ist der Start des Programms beim Start des Be-trienssystems

67

46 Selbstbau eines elementaren RCLs 461 Hard- und Software Auch ohne gleich ein vielleicht teures physikalisches Experiment zu steuern laumlsst sich mit wenigen Bauelementen ein elementares RCL realisieren Von einer Webseite im Internet sol-len eine Leuchtdiode (LED) ein- oder ausgeschaltet sowie der Zustand der Leuchtdiode und eines Tasters abgefragt werden An Hard- und Software werden benoumltigt

1 Low-Current-LED 5 mm 2 mA 1 Widerstand 18 kΩ 1 Taster und optional zwei 10-polige Wannenstecker mit ungefaumlhr 10 cm passendem Flachbandkabel und Buchsen

Interface in Basisschaltung Null-Modem-Kabel 12 V DC Steckernetzteil (larr 1)

Installierte Bascom-Demo-Version (larr 42)

AVR ISP-Programmer mit 10-poligem Programmierkabel

Installiertes und konfiguriertes AVR Studio 418 (larr 41)

Installiertes Paket XAMPP (larr 52)

Texteditor wie z B Notepad in Windows XP Professional

Konfigurierte Hyperterminalverbindung (larr 54)

462 Bestuumlckung der Platine Abb 29 zeigt zur Orientierung fuumlr das Einloumlten der Bauelemente die fertig bestuumlckte Platine des Interface

Abb 29 Mit elementarem RCL bestuumlckte Platine

des Interface

LED mit Vorwiderstand und der Taster sind rechts neben dem Mikrocontroller im Lochraster-bereich aufgebaut und uumlber Wannenstecker und Flachbandkabel mit dem Port A des Mikro-controllers verbunden (die drei Bauteile rechts neben dem ATmega16 werden nicht benouml-tigt) Tab 13 erlaumlutert die Schritte zur Bestuumlckung der Platine des Interface

68

Nr Schaltung Erlaumluterung

1

Die Leuchtdiode (LED) mit dem Pluspol (langes Beinchen) an PortA0 (PIN40 oben rechts) des Mikrocontrollers anloumlten

An das kurze Beinchen einen 18kΩ Widerstand loumlten dessen anderes Ende mit der Masse (GND) verbinden

2

Den Taster mit PortA1 (PIN39 = 2 Beinchen von oben rechts) und Masse (GND) verbinden

3

Draufsicht

Belegung des 10-poligen Wannensteckers 1 GND (Masse) im Foto oben links 2 +5 V 3 PortA0 4 PortA1 10 PortA7 im Foto unten rechts

Tab 13 Schritte zum Aufbau des elementaren RCLs

463 Lokal gesteuertes RCL Nachfolgend ist der Basic-Programmcode des Mikrocontrollers zur Steuerung und Abfrage der LED und des Tasters angegeben 01 $regfile = m16DEFdat Microcontroller ATmega16 02 $crystal = 11059200 110592MHz Quarz 03 $baud = 9600 Baudrate 04 05 ---[ Variables ]--------------------------------------------------------------- 06 Dim Rs232kommando As String 10 erst Befehlspuffer dann Kommando 07 Dim Parameter As String 10 Parameter 08 Dim Str_pos As Byte Position von Leerzeichen zur Trennung von Kommando und Pa-rameter 09 10 ---[ Initialisierung ]--------------------------------------------------------- 11 Ddra0 = 1 PortA0 als Ausgang fuumlr LED 12 Porta0 = 0 LED aus 13 Ddra1 = 0 PortA1 als Eingang fuumlr Taster 14 Porta1 = 1 Pull-Up aktivieren 15 16 ---[ Main program loop ]------------------------------------------------------- 17 Do Start der Endlos-Schleife 18 19 If Ischarwaiting() = 1 Then Zeichen uumlber RS232 empfangen 20 Input Rs232kommando neues Kommando lesen 21 Parameter = Parameter initialisieren 22 Str_pos = Instr(rs232kommando ) Leerzeichen im Kommando suchen 23 If Str_pos gt 0 Then falls Leerzeichen dann in Kommando+Parameter zerlegen 24 Incr Str_pos Str_pos soll jetzt auf 1Zeichen des Parameters zeigen 25 Parameter = Mid(rs232kommando Str_pos ) Parameter = Teilstring nach Leerzeichen 26 Parameter = Ucase(parameter) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 27 Str_pos = Str_pos - 2 Str_pos soll jetzt auf letztes Zeichen des Kommandos zeigen 28 Rs232kommando = Left(rs232kommando Str_pos)Kommando = Teilstring vor Leerzeichen 29 Rs232kommando = Ucase(rs232kommando) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 30 End If 31 32 Select Case Rs232kommando Eventhandler Interpretation der Kommandos 33 Case Print Hilfe Hilfeseite anzeigen 34 Print LED on - LED einschalten 35 Print LED off - LED ausschalten 36 Print LED - zeigt Status der LED an 37 Print SW - zeigt Status des Schalters an 38

1K8

LED rotmicroC PortA0(PIN40)

Taster

microC PortA1(PIN39)

1

3

2

69

39 Case LED If Parameter = ON Then LED schalten 40 Porta0 = 1 41 End If 42 If Parameter = OFF Then 43 Porta0 = 0 44 End If 45 46 Case LED If Porta0 = 0 Then Status der LED ausgeben 47 Print LED aus 48 Else 49 Print LED an 50 End If 51 52 Case SW If Pina1 = 1 Then Status des Schalters ausgeben 53 Print Taster offen 54 Else 55 Print Taster geschlossen 56 End If 57 58 Case Else Print gt Rs232kommando lt ungueltiger Befehl - weitere Infos mit Info bei unguumlltigen Eingaben 59 End Select 60 61 End If 62 63 Loop Endlos-Schleife Springe zu Do 64 65 End wird nie erreicht

Der erste Teil des Programms (Zeilen 1 - 15) enthaumllt die Systemparameter Variablen und Initialisierung der Ein- und Ausgaumlnge Der zweite Teil enthaumllt ab Zeile 17 das Hauptpro-gramm in dem Benutzereingaben uumlber die serielle Schnittstelle empfangen interpretiert und in entsprechende Anweisungen umgesetzt werden Tab 14 erlaumlutert den Programmcode de-taillierter

Zeilen Erlaumluterung

1 - 3 Diese Angaben teilen dem Compiler (Bascom) mit welcher Prozessor eingesetzt wird wie schnell dieser getaktet (Quarz) ist und mit welcher Uumlbertragungsgeschwindigkeit die Kommunikation uumlber die serielle Schnittstelle (RS232) mit dem PC erfolgen soll

6 - 8 Es werden drei Variablen genutzt Die Eingabe uumlber die serielle Schnittstelle wird in rs232kommando gespeichert Es wird ein Text der Form Kommando ltLeerzeichengt Parameter erwartet so dass die Variable Parameter den-selbigen aufnimmt Die Variable str_pos wird fuumlr die Trennung von Kommando und Parameter benoumltigt

11 - 14

Mit dem Befehl ddrPX (ddr = data direction) wird festgelegt ob ein Beinchen als Ausgang (=1) oder als Eingang (=0) arbeiten soll Der ATmega16 besitzt 32 Ein-Ausgaumlnge die in vier Ports (P=AD) zu je 8 Pins (X=07) unterteilt sind ddrA0 = 1 legt also das 1 Beinchen (Pin 0) von PortA als Ausgang (=1) fest Mit dem Befehl PortA0 =1 kann dieser Pin dann durch Zuweisen von 1 oder 0 an- bzw ausgeschaltet werden Im Datenblatt erfahren Sie welches der 40 Beinchen des Mikrocontrollers wie bezeichnet wird (Pin-Belegung) Wird ein Beinchen als Eingang verwendet (ddrA1 = 0) koumlnnen Sie optional einen so genannten Pull-Up-Widerstand aktivieren (PortA1=1) oder deaktivieren (PortA1=0) Auch hierzu sollten Sie sich unbedingt mit dem Datenblatt vertraut machen

17 63 Das Hauptprogramm besteht aus einer Endlosschleife d h der Mikrocontroller verrichtet ununterbrochen seinen Job so lange er mit Strom versorgt wird

19 - 30 Falls ein Zeichen uumlber die serielle Schnittstelle empfangen wurde wird dieses und alle folgenden gelesen Anschlie-szligend wird gepruumlft ob der empfangene Text von der Form Kommando ltLeerzeichengt Parameter ist so dass er ge-gebenenfalls in ein Kommando und einen Parameter zerlegt werden kann

32 - 59 Dieser Abschnitt wird mit Event-Handler bezeichnet Hier wird auf die Kommandos (Events) reagiert und die ent-sprechenden Schritte ausgefuumlhrt zB schalten LED je nach Wert der Variablen Parameter an- bzw ausschalten

46 52

In beiden Zeilen wird ein Wert eines Ports abgefragt Unterschiedlich ist dass in Zeile 46 der Status eines Ausgangs abgefragt wird (porta0) und in Zeile 52 der Zustand eines Eingangs (pina0) Die Anweisung IF porta0 = 0 THEN pruumlft (hier ist = ein Vergleich und KEINE Zuweisung) ob zuletzt die LED ausgeschaltet (Zuweisung porta0 = 0) wurde Die Anweisung IF pina1= 1 THEN liest den Status eines Eingangs Hier kann festgestellt werden ob der Eingang uumlber den internen Pull-UP-Widerstand auf +5V liegt (pina1 liefert 1) oder ob der Schalter den Eingang mit Masse (0V) verbindet (pina1 liefert 0)

Tab 14 Erlaumluterung des Mikrocontroller-Programmcodes fuumlr elementares RCL

70

In Bascom AVR eine neue Datei erzeugen (FileNew) den Programmcode ohne Kommenta-re eingeben und mit ProgramCompile (F7) eine Hexadezimaldatei erzeugen Die Hexadezi-maldatei mit dem AVR-Studio und dem AVR-ISP-Programmer in den Mikrocontroller schrei-ben (larr 222 Programmuumlbertragung) Nach dem Verbinden von Computer und Interface per Null-Modem-Kabel kann durch Eingabe von in das konfigurierte Hyperterminal die Befehls-liste in Abb 30 aufgerufen werden

Abb 30 Aufgerufene Befehlsliste im Hyperterminal

Durch Eingabe von LED on oder LED off kann die LED ein- und ausgeschaltet LED zeigt den Status der LED und sw den Status des Tasters an Alternativ zum Hyperterminal kann auch das Terminal in BASCOM unter ToolsTerminal Emulator verwendet werden (larr 422)

464 Ferngesteuertes RCL Zum Ansteuern des Interfaces und zum Bedienen des Versuchsaufbaus uumlber das Internet wird eine Webseite benoumltigt die dem Benutzer alle Bedienelemente des Experiments zur Verfuumlgung stellt

Der Benutzer benoumltigt anklickbare Buttons im Webbrowser

Der Webserver muss die Information welcher Button gedruumlckt wurde empfangen und ein entsprechendes Kommando uumlber die serielle Schnittstelle an das Interface senden

Beide Schritte sind im nachfolgenden PHPHTML-Quellcode zusammengefasst 01 ltDOCTYPE HTML PUBLIC -W3CDTD HTML 401 TransitionalEN httpwwww3orgTRhtml4loosedtdgt 02 lthtmlgt 03 ltheadgt 04 ltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1gt 05 lttitlegtelementares RCLlttitlegt 06 ltheadgt 07 08 ltbodygt 09 ltphp 10 if (isset($_POST[Kommando])) wurde bereits Kommando gesendet 11 if( ( $handle = fopen( COM1 w+ ) ) ) Schnittstelle oumlffnen 12

71

13 throw new Exception( Can not access serial port 2 ) ohne Erfolg 14 15 fwrite( $handle $_POST[Kommando] chr( 13 ) ) Befehl an Interface senden 16 switch ( $_POST[Kommando] ) Antwort von Interface auswerten 17 case LED $tmp = fgets( $handle ) Echo von Interface ignorieren 18 $antwort = fgets( $handle ) Antwort des Interfaces 19 echo Antwort $antwort Ausgabe auf Webseite 20 break switch verlassen 21 22 case SW $tmp = fgets( $handle ) Echo von Interface ignorieren 23 $antwort = fgets( $handle ) Antwort des Interfaces 24 echo Antwort $antwort Ausgabe auf Webseite 25 break switch verlassen 26 27 28 29 fclose( $handle ) Schnittstelle schlieszligen 30 31 else 32 `mode com1 BAUD=9600 PARITY=N data=8 stop=1 xon=off` Schnittstellenparameter setzen 33 34 35 gt 36 37 lth3gtBefehl sendenlth3gt 38 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 39 ltinput type=hidden name=Kommando value=LED ON gt 40 ltinput type=submit value=LED anschalten gt 41 ltformgt 42 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 43 ltinput type=hidden name=Kommando value=LED OFF gt 44 ltinput type=submit value=LED ausschalten gt 45 ltformgt 46 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 47 ltinput type=hidden name=Kommando value=LED gt 48 ltinput type=submit value=LED abfragen gt 49 ltformgt 50 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 51 ltinput type=hidden name=Kommando value=SW gt 52 ltinput type=submit value=Taster abfragen gt 53 ltformgt 54 ltbodygt 55 lthtmlgt Den Quellcode in den Texteditor kopieren und im Ordner htdocs von XAMPP z B unter rclphp speichern HTML-Dateien mit PHP-Code (Zeilen 9-35) muumlssen mit der Erweiterung php gespeichert werden damit der Apache Webserver zwischen HTML-Seiten mit und ohne PHP-Code unterscheiden kann Den installierten Apache Webserver starten (larr 452) und im Adressfeld des Webbrowsers die IP-Adresse http127001rclphp aufrufen Das Bedi-enfeld des elementaren RCLs in Abb 31 wird im Browserfenster angezeigt

72

Abb 31 Laborseite des elementaren RCLs

Im Bedienfeld kann die LED an- und ausgeschaltet sowie der Status von LED und Taster abgefragt werden

  • 0 Warum ein Tutorial zur RCL-Technik
  • 1 Technische Konzeption
    • 11 Einfuumlhrung
    • 12 Wahl der RCL-Technik
      • 2 Lokal gesteuertes RCL
        • 21 Interface
          • 211 Mikrocontroller
          • 212 Basisschaltung und Erweiterungsschaltungen
          • 213 Programmierung des Mikrocontrollers
            • 22 Hyperterminal
            • 23 Positionieren von Objekten
              • 231 Hybrid-Schrittmotoren
              • 232 Schrittmotorsteuerung und Positionierungsmechanik
                  • 3 Ferngesteuertes RCL
                    • 31 RCL-Server
                    • 32 Laborseite
                      • 321 Steuerung des RCLs uumlber das Bedienfeld
                      • 322 Videouumlbertragung im Webcamfeld
                        • 33 Standard-Lernumgebung
                          • 4 ANHANG
                            • 41 Interface in Basisschaltung
                              • 411 Schaltplan und Bauteilliste
                              • 412 Bestuumlckung der Platine
                                • 42 Erweiterungsschaltungen
                                  • 421 Uumlbersicht
                                  • 422 TMC222-Modul zur Schrittmotorsteuerung
                                    • 4221 Schaltplan und Bauteilliste
                                    • 4222 Bestuumlckung der Platine
                                    • 4223 Quellcode des Mikrocontroller-Programms
                                      • 423 Geschaltete Spannungsquellen und Verbraucher
                                      • 424 Steuerung von Gleichstrommotoren
                                        • 43 Quellcodes zum RCL Elektronenbeugung
                                          • 431 Mikrocontroller-Programmierung
                                          • 432 PHP-Programmierung
                                          • 433 Bedienfeld der Laborseite
                                          • 434 Webcamfeld der Laborseite
                                            • 44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung
                                              • 441 AVR-Studio 418
                                                • 4411 Installation
                                                • 4412 Konfiguration
                                                  • 442 BASCOM 11198 Demoversion
                                                    • 4421 Installation
                                                    • 4422 Konfiguration
                                                        • 45 Installation und Konfiguration von Programmen auf dem RCL-Server
                                                          • 451 Einrichten des Internet-Zugangs
                                                          • 452 Paket XAMPP 174
                                                          • 453 Videoserver webcamXP 5 Private
                                                          • 454 Terminalprogramm Hyperterminal
                                                          • 455 Fernwartungssoftware TeamViewer 6 Host
                                                            • 46 Selbstbau eines elementaren RCLs
                                                              • 461 Hard- und Software
                                                              • 462 Bestuumlckung der Platine
                                                              • 463 Lokal gesteuertes RCL
                                                              • 464 Ferngesteuertes RCL

56

Next waumlhlen Installationsordner eingeben und Next waumlhlen

Eintrag im Start-Menuuml eingeben und Next waumlhlen Next waumlhlen

Yes restart the computer now und Finish waumlhlen

57

4422 Konfiguration Bascom AVR in Windows XP Professional unter StartProgramme zum Einstellen der Para-meter des Mikrocontrollers und des Terminals aufrufen

OptionsCompilerChip waumlhlen Einstellungen wie im Bild vornehmen und OK waumlhlen

Auf der Registerkarte Communications Einstellungen wie im Bild vornehmen und OK waumlhlen

Unter OptionsCommunication Einstellungen wie im Bild

vornehmen und OK waumlhlen FileNew waumlhlen Unter ToolsTerminal emulator das Terminal aufrufen und

eingeben Die Befehlsliste des RCLs Elektronenbeu-gung wird angezeigt

45 Installation und Konfiguration von Programmen auf dem RCL-Server Im Folgenden wird der Download die Installation und die Konfiguration von Programmen auf dem RCL-Server unter Windows XP Professional beschrieben Alle Anleitungen sind zeilen-weise von links nach rechts zu lesen Die Installation der Programme sollte in der angegebe-nen Reihenfolge erfolgen

58

451 Einrichten des Internet-Zugangs LAN-Verbindung unter StartSystemsteuerungNetzwerkverbindungen aufrufen

Internetprotokoll (TCPIP) und Eigenschaften waumlhlen Folgende IP-Adresse verwenden waumlhlen IP-Adressen ein-

geben und OK waumlhlen

452 Paket XAMPP 174 Unter apache friends - xampp fuumlr windows und XAMPP Windows 174 Installer anklicken und Datei xampp-win32-174-VC6-installerexe speichern Durch Doppelklick auf die Datei die Installation starten

Sprache und Ok waumlhlen Ok waumlhlen

59

Weiter waumlhlen Zielverzeichnis mit Durchsuchen waumlhlen oder eingeben

Apache nicht als Dienst installieren Fertig stellen waumlhlen

Ja waumlhlen Zum Starten des Apache Webservers das Control Panel

unter StartProgrammeXAMPP 173 for Windows mit Start starten Anstelle von Start erscheint Running

Zum Beenden des Apache Webservers Stop waumlhlen Zum Beenden des Control Panels Exit waumlhlen

60

453 Videoserver webcamXP 5 Private Auf der Webseite von Moonware Studios unter webcamXP 55xx die Datei wlite550 herun-terladen Durch Doppelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen I Agree waumlhlen

Next waumlhlen Auszliger webcamXP 5 brauchen keine weiteren Komponen-

ten installiert zu werden

Den vorgeschlagenen Ordner und Install waumlhlen Finish waumlhlen

61

WebcamXP unter StartProgramme aufrufen Zugesandte

Lizenz-Daten in das eingeblendete Fenster eingeben und Register waumlhlen

Beim Starten des Programms stellt webcamXP automa-tisch eine Verbindung zu den am Computer angeschlosse-nen Webcams her

Nach dem Start ist Uumlberwachen gewaumlhlt Durch Rechts-klick mit der Maus auf das Videofenster wird zu jeder Vi-deoquelle ein Kontextmenuuml angezeigt Wird kein Videobild dargestellt das Kontextmenuuml aufrufen Art der Videoquelle waumlhlen (hier USB) und unter den erkannten Videoquellen (hier USB-Videogeraumlt) die gewuumlnschte waumlhlen

Das Videoformat muss fuumlr eine passende Darstellung auf

der Laborseite auf 320 x 240 eingestellt sein Ist das nicht der Fall im Kontextmenuuml unter Video Format einstellen

In gleicher Weise kann eine zweite Videoquelle hinzugefuumlgt werden

In der Registerkarte Web Broadcast kann unter

Broadcast (HTTP) der Videoserver mit Ausschalten ge-stoppt und mit Aktivieren gestartet werden

Zur Zielwahl des Webservers (131246237167 - Internet D16W3X3J - Computer 127001 - Local Host) Videoser-ver stoppen und einstellen Videoserver wieder starten

62

454 Terminalprogramm Hyperterminal Hyperterminal in Windows XP Professional unter StartProgrammeZubehoumlrKommunikation aufrufen

Name der neuen Verbindung - z B Interface - eingeben

und OK waumlhlen Die Verbindung zwischen Computer und Interface wurde

uumlber einen USB-Seriell-Adapter hergestellt Dann erschei-nen zwei zusaumltzliche Eintraumlge (Motorola Comp Modem und COM5) in der Liste Prinzipiell muss eine COMx-Verbindung gewaumlhlt werden

Eigenschaften von COM 5 wie im Bild einstellen und OK

waumlhlen DateiEigenschaften aufrufen und ASCII-Konfiguration

waumlhlen

63

Haken bei Eingegebene Zeichen lokal ausgeben (lokales

Echo) setzen um eingegebenen Zeichen im Hyperterminal zu sehen

Bei funktionsfaumlhiger Verbindung erscheint nach Eingabe von Return die Befehlsliste des Interface

Durch Aufrufen von DateiSpeichern die erstellte Verbin-

dung z B auf dem Desktop speichern Dadurch braucht die Verbindung nicht immer wieder von neuem konfiguriert wer-den

Nach Aufrufen von DateiBeenden die bestehende Verbin-dung mit Ja beenden

64

Wurde ein falscher COM-Port gewaumlhlt reagiert das Inter-

face auf die Eingabe Return nicht Hyperterminal dann beenden

Der COM-Port kann dann nicht unter DateiEigenschaften im Hyperterminal aber unter Eigenschaften des Kontext-menuumls der Datei Interfaceht in der Registerkarte Verbin-den mit geaumlndert werden Dann OK waumlhlen und erneut Verbindung testen

65

455 Fernwartungssoftware TeamViewer 6 Host Auf der Webseite von Teamviewer GmbH unter Fuumlr unbeaufsichtigte Server TeamViewer Vollversion die Datei TeamViewer_Setup-wq herunterladen Das Programm muss auf dem RCL-Server und dem Computer der auf den RCL-Server zugreifen soll installiert werden Durch Doppelklick auf die Datei die Installation starten

Ausfuumlhren waumlhlen Weiter waumlhlen

Fuumlr die private nicht kommerzielle Nutzung ist Teamviewer kostenlos

privat nicht-kommerziell und Weiter waumlhlen

Beide Haumlkchen setzen und Weiter waumlhlen

66

Ja un Weiter waumlhlen Weiter

Computername und Kennwort fuumlr den Zugriff auf den RCL-Server oder den eigenen Computer vergeben Kenn wort notie-ren

Ein Teamviewerkonto ist nicht erforderlich Kann auch spaumlter noch eingerichtet werden

ID fuumlr den Computer auf dem das Programm installiert wird fuumlr Zugriff notieren

Das Programm wird gestartet Standardmaumlszligig vorein-gestellt ist der Start des Programms beim Start des Be-trienssystems

67

46 Selbstbau eines elementaren RCLs 461 Hard- und Software Auch ohne gleich ein vielleicht teures physikalisches Experiment zu steuern laumlsst sich mit wenigen Bauelementen ein elementares RCL realisieren Von einer Webseite im Internet sol-len eine Leuchtdiode (LED) ein- oder ausgeschaltet sowie der Zustand der Leuchtdiode und eines Tasters abgefragt werden An Hard- und Software werden benoumltigt

1 Low-Current-LED 5 mm 2 mA 1 Widerstand 18 kΩ 1 Taster und optional zwei 10-polige Wannenstecker mit ungefaumlhr 10 cm passendem Flachbandkabel und Buchsen

Interface in Basisschaltung Null-Modem-Kabel 12 V DC Steckernetzteil (larr 1)

Installierte Bascom-Demo-Version (larr 42)

AVR ISP-Programmer mit 10-poligem Programmierkabel

Installiertes und konfiguriertes AVR Studio 418 (larr 41)

Installiertes Paket XAMPP (larr 52)

Texteditor wie z B Notepad in Windows XP Professional

Konfigurierte Hyperterminalverbindung (larr 54)

462 Bestuumlckung der Platine Abb 29 zeigt zur Orientierung fuumlr das Einloumlten der Bauelemente die fertig bestuumlckte Platine des Interface

Abb 29 Mit elementarem RCL bestuumlckte Platine

des Interface

LED mit Vorwiderstand und der Taster sind rechts neben dem Mikrocontroller im Lochraster-bereich aufgebaut und uumlber Wannenstecker und Flachbandkabel mit dem Port A des Mikro-controllers verbunden (die drei Bauteile rechts neben dem ATmega16 werden nicht benouml-tigt) Tab 13 erlaumlutert die Schritte zur Bestuumlckung der Platine des Interface

68

Nr Schaltung Erlaumluterung

1

Die Leuchtdiode (LED) mit dem Pluspol (langes Beinchen) an PortA0 (PIN40 oben rechts) des Mikrocontrollers anloumlten

An das kurze Beinchen einen 18kΩ Widerstand loumlten dessen anderes Ende mit der Masse (GND) verbinden

2

Den Taster mit PortA1 (PIN39 = 2 Beinchen von oben rechts) und Masse (GND) verbinden

3

Draufsicht

Belegung des 10-poligen Wannensteckers 1 GND (Masse) im Foto oben links 2 +5 V 3 PortA0 4 PortA1 10 PortA7 im Foto unten rechts

Tab 13 Schritte zum Aufbau des elementaren RCLs

463 Lokal gesteuertes RCL Nachfolgend ist der Basic-Programmcode des Mikrocontrollers zur Steuerung und Abfrage der LED und des Tasters angegeben 01 $regfile = m16DEFdat Microcontroller ATmega16 02 $crystal = 11059200 110592MHz Quarz 03 $baud = 9600 Baudrate 04 05 ---[ Variables ]--------------------------------------------------------------- 06 Dim Rs232kommando As String 10 erst Befehlspuffer dann Kommando 07 Dim Parameter As String 10 Parameter 08 Dim Str_pos As Byte Position von Leerzeichen zur Trennung von Kommando und Pa-rameter 09 10 ---[ Initialisierung ]--------------------------------------------------------- 11 Ddra0 = 1 PortA0 als Ausgang fuumlr LED 12 Porta0 = 0 LED aus 13 Ddra1 = 0 PortA1 als Eingang fuumlr Taster 14 Porta1 = 1 Pull-Up aktivieren 15 16 ---[ Main program loop ]------------------------------------------------------- 17 Do Start der Endlos-Schleife 18 19 If Ischarwaiting() = 1 Then Zeichen uumlber RS232 empfangen 20 Input Rs232kommando neues Kommando lesen 21 Parameter = Parameter initialisieren 22 Str_pos = Instr(rs232kommando ) Leerzeichen im Kommando suchen 23 If Str_pos gt 0 Then falls Leerzeichen dann in Kommando+Parameter zerlegen 24 Incr Str_pos Str_pos soll jetzt auf 1Zeichen des Parameters zeigen 25 Parameter = Mid(rs232kommando Str_pos ) Parameter = Teilstring nach Leerzeichen 26 Parameter = Ucase(parameter) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 27 Str_pos = Str_pos - 2 Str_pos soll jetzt auf letztes Zeichen des Kommandos zeigen 28 Rs232kommando = Left(rs232kommando Str_pos)Kommando = Teilstring vor Leerzeichen 29 Rs232kommando = Ucase(rs232kommando) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 30 End If 31 32 Select Case Rs232kommando Eventhandler Interpretation der Kommandos 33 Case Print Hilfe Hilfeseite anzeigen 34 Print LED on - LED einschalten 35 Print LED off - LED ausschalten 36 Print LED - zeigt Status der LED an 37 Print SW - zeigt Status des Schalters an 38

1K8

LED rotmicroC PortA0(PIN40)

Taster

microC PortA1(PIN39)

1

3

2

69

39 Case LED If Parameter = ON Then LED schalten 40 Porta0 = 1 41 End If 42 If Parameter = OFF Then 43 Porta0 = 0 44 End If 45 46 Case LED If Porta0 = 0 Then Status der LED ausgeben 47 Print LED aus 48 Else 49 Print LED an 50 End If 51 52 Case SW If Pina1 = 1 Then Status des Schalters ausgeben 53 Print Taster offen 54 Else 55 Print Taster geschlossen 56 End If 57 58 Case Else Print gt Rs232kommando lt ungueltiger Befehl - weitere Infos mit Info bei unguumlltigen Eingaben 59 End Select 60 61 End If 62 63 Loop Endlos-Schleife Springe zu Do 64 65 End wird nie erreicht

Der erste Teil des Programms (Zeilen 1 - 15) enthaumllt die Systemparameter Variablen und Initialisierung der Ein- und Ausgaumlnge Der zweite Teil enthaumllt ab Zeile 17 das Hauptpro-gramm in dem Benutzereingaben uumlber die serielle Schnittstelle empfangen interpretiert und in entsprechende Anweisungen umgesetzt werden Tab 14 erlaumlutert den Programmcode de-taillierter

Zeilen Erlaumluterung

1 - 3 Diese Angaben teilen dem Compiler (Bascom) mit welcher Prozessor eingesetzt wird wie schnell dieser getaktet (Quarz) ist und mit welcher Uumlbertragungsgeschwindigkeit die Kommunikation uumlber die serielle Schnittstelle (RS232) mit dem PC erfolgen soll

6 - 8 Es werden drei Variablen genutzt Die Eingabe uumlber die serielle Schnittstelle wird in rs232kommando gespeichert Es wird ein Text der Form Kommando ltLeerzeichengt Parameter erwartet so dass die Variable Parameter den-selbigen aufnimmt Die Variable str_pos wird fuumlr die Trennung von Kommando und Parameter benoumltigt

11 - 14

Mit dem Befehl ddrPX (ddr = data direction) wird festgelegt ob ein Beinchen als Ausgang (=1) oder als Eingang (=0) arbeiten soll Der ATmega16 besitzt 32 Ein-Ausgaumlnge die in vier Ports (P=AD) zu je 8 Pins (X=07) unterteilt sind ddrA0 = 1 legt also das 1 Beinchen (Pin 0) von PortA als Ausgang (=1) fest Mit dem Befehl PortA0 =1 kann dieser Pin dann durch Zuweisen von 1 oder 0 an- bzw ausgeschaltet werden Im Datenblatt erfahren Sie welches der 40 Beinchen des Mikrocontrollers wie bezeichnet wird (Pin-Belegung) Wird ein Beinchen als Eingang verwendet (ddrA1 = 0) koumlnnen Sie optional einen so genannten Pull-Up-Widerstand aktivieren (PortA1=1) oder deaktivieren (PortA1=0) Auch hierzu sollten Sie sich unbedingt mit dem Datenblatt vertraut machen

17 63 Das Hauptprogramm besteht aus einer Endlosschleife d h der Mikrocontroller verrichtet ununterbrochen seinen Job so lange er mit Strom versorgt wird

19 - 30 Falls ein Zeichen uumlber die serielle Schnittstelle empfangen wurde wird dieses und alle folgenden gelesen Anschlie-szligend wird gepruumlft ob der empfangene Text von der Form Kommando ltLeerzeichengt Parameter ist so dass er ge-gebenenfalls in ein Kommando und einen Parameter zerlegt werden kann

32 - 59 Dieser Abschnitt wird mit Event-Handler bezeichnet Hier wird auf die Kommandos (Events) reagiert und die ent-sprechenden Schritte ausgefuumlhrt zB schalten LED je nach Wert der Variablen Parameter an- bzw ausschalten

46 52

In beiden Zeilen wird ein Wert eines Ports abgefragt Unterschiedlich ist dass in Zeile 46 der Status eines Ausgangs abgefragt wird (porta0) und in Zeile 52 der Zustand eines Eingangs (pina0) Die Anweisung IF porta0 = 0 THEN pruumlft (hier ist = ein Vergleich und KEINE Zuweisung) ob zuletzt die LED ausgeschaltet (Zuweisung porta0 = 0) wurde Die Anweisung IF pina1= 1 THEN liest den Status eines Eingangs Hier kann festgestellt werden ob der Eingang uumlber den internen Pull-UP-Widerstand auf +5V liegt (pina1 liefert 1) oder ob der Schalter den Eingang mit Masse (0V) verbindet (pina1 liefert 0)

Tab 14 Erlaumluterung des Mikrocontroller-Programmcodes fuumlr elementares RCL

70

In Bascom AVR eine neue Datei erzeugen (FileNew) den Programmcode ohne Kommenta-re eingeben und mit ProgramCompile (F7) eine Hexadezimaldatei erzeugen Die Hexadezi-maldatei mit dem AVR-Studio und dem AVR-ISP-Programmer in den Mikrocontroller schrei-ben (larr 222 Programmuumlbertragung) Nach dem Verbinden von Computer und Interface per Null-Modem-Kabel kann durch Eingabe von in das konfigurierte Hyperterminal die Befehls-liste in Abb 30 aufgerufen werden

Abb 30 Aufgerufene Befehlsliste im Hyperterminal

Durch Eingabe von LED on oder LED off kann die LED ein- und ausgeschaltet LED zeigt den Status der LED und sw den Status des Tasters an Alternativ zum Hyperterminal kann auch das Terminal in BASCOM unter ToolsTerminal Emulator verwendet werden (larr 422)

464 Ferngesteuertes RCL Zum Ansteuern des Interfaces und zum Bedienen des Versuchsaufbaus uumlber das Internet wird eine Webseite benoumltigt die dem Benutzer alle Bedienelemente des Experiments zur Verfuumlgung stellt

Der Benutzer benoumltigt anklickbare Buttons im Webbrowser

Der Webserver muss die Information welcher Button gedruumlckt wurde empfangen und ein entsprechendes Kommando uumlber die serielle Schnittstelle an das Interface senden

Beide Schritte sind im nachfolgenden PHPHTML-Quellcode zusammengefasst 01 ltDOCTYPE HTML PUBLIC -W3CDTD HTML 401 TransitionalEN httpwwww3orgTRhtml4loosedtdgt 02 lthtmlgt 03 ltheadgt 04 ltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1gt 05 lttitlegtelementares RCLlttitlegt 06 ltheadgt 07 08 ltbodygt 09 ltphp 10 if (isset($_POST[Kommando])) wurde bereits Kommando gesendet 11 if( ( $handle = fopen( COM1 w+ ) ) ) Schnittstelle oumlffnen 12

71

13 throw new Exception( Can not access serial port 2 ) ohne Erfolg 14 15 fwrite( $handle $_POST[Kommando] chr( 13 ) ) Befehl an Interface senden 16 switch ( $_POST[Kommando] ) Antwort von Interface auswerten 17 case LED $tmp = fgets( $handle ) Echo von Interface ignorieren 18 $antwort = fgets( $handle ) Antwort des Interfaces 19 echo Antwort $antwort Ausgabe auf Webseite 20 break switch verlassen 21 22 case SW $tmp = fgets( $handle ) Echo von Interface ignorieren 23 $antwort = fgets( $handle ) Antwort des Interfaces 24 echo Antwort $antwort Ausgabe auf Webseite 25 break switch verlassen 26 27 28 29 fclose( $handle ) Schnittstelle schlieszligen 30 31 else 32 `mode com1 BAUD=9600 PARITY=N data=8 stop=1 xon=off` Schnittstellenparameter setzen 33 34 35 gt 36 37 lth3gtBefehl sendenlth3gt 38 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 39 ltinput type=hidden name=Kommando value=LED ON gt 40 ltinput type=submit value=LED anschalten gt 41 ltformgt 42 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 43 ltinput type=hidden name=Kommando value=LED OFF gt 44 ltinput type=submit value=LED ausschalten gt 45 ltformgt 46 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 47 ltinput type=hidden name=Kommando value=LED gt 48 ltinput type=submit value=LED abfragen gt 49 ltformgt 50 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 51 ltinput type=hidden name=Kommando value=SW gt 52 ltinput type=submit value=Taster abfragen gt 53 ltformgt 54 ltbodygt 55 lthtmlgt Den Quellcode in den Texteditor kopieren und im Ordner htdocs von XAMPP z B unter rclphp speichern HTML-Dateien mit PHP-Code (Zeilen 9-35) muumlssen mit der Erweiterung php gespeichert werden damit der Apache Webserver zwischen HTML-Seiten mit und ohne PHP-Code unterscheiden kann Den installierten Apache Webserver starten (larr 452) und im Adressfeld des Webbrowsers die IP-Adresse http127001rclphp aufrufen Das Bedi-enfeld des elementaren RCLs in Abb 31 wird im Browserfenster angezeigt

72

Abb 31 Laborseite des elementaren RCLs

Im Bedienfeld kann die LED an- und ausgeschaltet sowie der Status von LED und Taster abgefragt werden

  • 0 Warum ein Tutorial zur RCL-Technik
  • 1 Technische Konzeption
    • 11 Einfuumlhrung
    • 12 Wahl der RCL-Technik
      • 2 Lokal gesteuertes RCL
        • 21 Interface
          • 211 Mikrocontroller
          • 212 Basisschaltung und Erweiterungsschaltungen
          • 213 Programmierung des Mikrocontrollers
            • 22 Hyperterminal
            • 23 Positionieren von Objekten
              • 231 Hybrid-Schrittmotoren
              • 232 Schrittmotorsteuerung und Positionierungsmechanik
                  • 3 Ferngesteuertes RCL
                    • 31 RCL-Server
                    • 32 Laborseite
                      • 321 Steuerung des RCLs uumlber das Bedienfeld
                      • 322 Videouumlbertragung im Webcamfeld
                        • 33 Standard-Lernumgebung
                          • 4 ANHANG
                            • 41 Interface in Basisschaltung
                              • 411 Schaltplan und Bauteilliste
                              • 412 Bestuumlckung der Platine
                                • 42 Erweiterungsschaltungen
                                  • 421 Uumlbersicht
                                  • 422 TMC222-Modul zur Schrittmotorsteuerung
                                    • 4221 Schaltplan und Bauteilliste
                                    • 4222 Bestuumlckung der Platine
                                    • 4223 Quellcode des Mikrocontroller-Programms
                                      • 423 Geschaltete Spannungsquellen und Verbraucher
                                      • 424 Steuerung von Gleichstrommotoren
                                        • 43 Quellcodes zum RCL Elektronenbeugung
                                          • 431 Mikrocontroller-Programmierung
                                          • 432 PHP-Programmierung
                                          • 433 Bedienfeld der Laborseite
                                          • 434 Webcamfeld der Laborseite
                                            • 44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung
                                              • 441 AVR-Studio 418
                                                • 4411 Installation
                                                • 4412 Konfiguration
                                                  • 442 BASCOM 11198 Demoversion
                                                    • 4421 Installation
                                                    • 4422 Konfiguration
                                                        • 45 Installation und Konfiguration von Programmen auf dem RCL-Server
                                                          • 451 Einrichten des Internet-Zugangs
                                                          • 452 Paket XAMPP 174
                                                          • 453 Videoserver webcamXP 5 Private
                                                          • 454 Terminalprogramm Hyperterminal
                                                          • 455 Fernwartungssoftware TeamViewer 6 Host
                                                            • 46 Selbstbau eines elementaren RCLs
                                                              • 461 Hard- und Software
                                                              • 462 Bestuumlckung der Platine
                                                              • 463 Lokal gesteuertes RCL
                                                              • 464 Ferngesteuertes RCL

57

4422 Konfiguration Bascom AVR in Windows XP Professional unter StartProgramme zum Einstellen der Para-meter des Mikrocontrollers und des Terminals aufrufen

OptionsCompilerChip waumlhlen Einstellungen wie im Bild vornehmen und OK waumlhlen

Auf der Registerkarte Communications Einstellungen wie im Bild vornehmen und OK waumlhlen

Unter OptionsCommunication Einstellungen wie im Bild

vornehmen und OK waumlhlen FileNew waumlhlen Unter ToolsTerminal emulator das Terminal aufrufen und

eingeben Die Befehlsliste des RCLs Elektronenbeu-gung wird angezeigt

45 Installation und Konfiguration von Programmen auf dem RCL-Server Im Folgenden wird der Download die Installation und die Konfiguration von Programmen auf dem RCL-Server unter Windows XP Professional beschrieben Alle Anleitungen sind zeilen-weise von links nach rechts zu lesen Die Installation der Programme sollte in der angegebe-nen Reihenfolge erfolgen

58

451 Einrichten des Internet-Zugangs LAN-Verbindung unter StartSystemsteuerungNetzwerkverbindungen aufrufen

Internetprotokoll (TCPIP) und Eigenschaften waumlhlen Folgende IP-Adresse verwenden waumlhlen IP-Adressen ein-

geben und OK waumlhlen

452 Paket XAMPP 174 Unter apache friends - xampp fuumlr windows und XAMPP Windows 174 Installer anklicken und Datei xampp-win32-174-VC6-installerexe speichern Durch Doppelklick auf die Datei die Installation starten

Sprache und Ok waumlhlen Ok waumlhlen

59

Weiter waumlhlen Zielverzeichnis mit Durchsuchen waumlhlen oder eingeben

Apache nicht als Dienst installieren Fertig stellen waumlhlen

Ja waumlhlen Zum Starten des Apache Webservers das Control Panel

unter StartProgrammeXAMPP 173 for Windows mit Start starten Anstelle von Start erscheint Running

Zum Beenden des Apache Webservers Stop waumlhlen Zum Beenden des Control Panels Exit waumlhlen

60

453 Videoserver webcamXP 5 Private Auf der Webseite von Moonware Studios unter webcamXP 55xx die Datei wlite550 herun-terladen Durch Doppelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen I Agree waumlhlen

Next waumlhlen Auszliger webcamXP 5 brauchen keine weiteren Komponen-

ten installiert zu werden

Den vorgeschlagenen Ordner und Install waumlhlen Finish waumlhlen

61

WebcamXP unter StartProgramme aufrufen Zugesandte

Lizenz-Daten in das eingeblendete Fenster eingeben und Register waumlhlen

Beim Starten des Programms stellt webcamXP automa-tisch eine Verbindung zu den am Computer angeschlosse-nen Webcams her

Nach dem Start ist Uumlberwachen gewaumlhlt Durch Rechts-klick mit der Maus auf das Videofenster wird zu jeder Vi-deoquelle ein Kontextmenuuml angezeigt Wird kein Videobild dargestellt das Kontextmenuuml aufrufen Art der Videoquelle waumlhlen (hier USB) und unter den erkannten Videoquellen (hier USB-Videogeraumlt) die gewuumlnschte waumlhlen

Das Videoformat muss fuumlr eine passende Darstellung auf

der Laborseite auf 320 x 240 eingestellt sein Ist das nicht der Fall im Kontextmenuuml unter Video Format einstellen

In gleicher Weise kann eine zweite Videoquelle hinzugefuumlgt werden

In der Registerkarte Web Broadcast kann unter

Broadcast (HTTP) der Videoserver mit Ausschalten ge-stoppt und mit Aktivieren gestartet werden

Zur Zielwahl des Webservers (131246237167 - Internet D16W3X3J - Computer 127001 - Local Host) Videoser-ver stoppen und einstellen Videoserver wieder starten

62

454 Terminalprogramm Hyperterminal Hyperterminal in Windows XP Professional unter StartProgrammeZubehoumlrKommunikation aufrufen

Name der neuen Verbindung - z B Interface - eingeben

und OK waumlhlen Die Verbindung zwischen Computer und Interface wurde

uumlber einen USB-Seriell-Adapter hergestellt Dann erschei-nen zwei zusaumltzliche Eintraumlge (Motorola Comp Modem und COM5) in der Liste Prinzipiell muss eine COMx-Verbindung gewaumlhlt werden

Eigenschaften von COM 5 wie im Bild einstellen und OK

waumlhlen DateiEigenschaften aufrufen und ASCII-Konfiguration

waumlhlen

63

Haken bei Eingegebene Zeichen lokal ausgeben (lokales

Echo) setzen um eingegebenen Zeichen im Hyperterminal zu sehen

Bei funktionsfaumlhiger Verbindung erscheint nach Eingabe von Return die Befehlsliste des Interface

Durch Aufrufen von DateiSpeichern die erstellte Verbin-

dung z B auf dem Desktop speichern Dadurch braucht die Verbindung nicht immer wieder von neuem konfiguriert wer-den

Nach Aufrufen von DateiBeenden die bestehende Verbin-dung mit Ja beenden

64

Wurde ein falscher COM-Port gewaumlhlt reagiert das Inter-

face auf die Eingabe Return nicht Hyperterminal dann beenden

Der COM-Port kann dann nicht unter DateiEigenschaften im Hyperterminal aber unter Eigenschaften des Kontext-menuumls der Datei Interfaceht in der Registerkarte Verbin-den mit geaumlndert werden Dann OK waumlhlen und erneut Verbindung testen

65

455 Fernwartungssoftware TeamViewer 6 Host Auf der Webseite von Teamviewer GmbH unter Fuumlr unbeaufsichtigte Server TeamViewer Vollversion die Datei TeamViewer_Setup-wq herunterladen Das Programm muss auf dem RCL-Server und dem Computer der auf den RCL-Server zugreifen soll installiert werden Durch Doppelklick auf die Datei die Installation starten

Ausfuumlhren waumlhlen Weiter waumlhlen

Fuumlr die private nicht kommerzielle Nutzung ist Teamviewer kostenlos

privat nicht-kommerziell und Weiter waumlhlen

Beide Haumlkchen setzen und Weiter waumlhlen

66

Ja un Weiter waumlhlen Weiter

Computername und Kennwort fuumlr den Zugriff auf den RCL-Server oder den eigenen Computer vergeben Kenn wort notie-ren

Ein Teamviewerkonto ist nicht erforderlich Kann auch spaumlter noch eingerichtet werden

ID fuumlr den Computer auf dem das Programm installiert wird fuumlr Zugriff notieren

Das Programm wird gestartet Standardmaumlszligig vorein-gestellt ist der Start des Programms beim Start des Be-trienssystems

67

46 Selbstbau eines elementaren RCLs 461 Hard- und Software Auch ohne gleich ein vielleicht teures physikalisches Experiment zu steuern laumlsst sich mit wenigen Bauelementen ein elementares RCL realisieren Von einer Webseite im Internet sol-len eine Leuchtdiode (LED) ein- oder ausgeschaltet sowie der Zustand der Leuchtdiode und eines Tasters abgefragt werden An Hard- und Software werden benoumltigt

1 Low-Current-LED 5 mm 2 mA 1 Widerstand 18 kΩ 1 Taster und optional zwei 10-polige Wannenstecker mit ungefaumlhr 10 cm passendem Flachbandkabel und Buchsen

Interface in Basisschaltung Null-Modem-Kabel 12 V DC Steckernetzteil (larr 1)

Installierte Bascom-Demo-Version (larr 42)

AVR ISP-Programmer mit 10-poligem Programmierkabel

Installiertes und konfiguriertes AVR Studio 418 (larr 41)

Installiertes Paket XAMPP (larr 52)

Texteditor wie z B Notepad in Windows XP Professional

Konfigurierte Hyperterminalverbindung (larr 54)

462 Bestuumlckung der Platine Abb 29 zeigt zur Orientierung fuumlr das Einloumlten der Bauelemente die fertig bestuumlckte Platine des Interface

Abb 29 Mit elementarem RCL bestuumlckte Platine

des Interface

LED mit Vorwiderstand und der Taster sind rechts neben dem Mikrocontroller im Lochraster-bereich aufgebaut und uumlber Wannenstecker und Flachbandkabel mit dem Port A des Mikro-controllers verbunden (die drei Bauteile rechts neben dem ATmega16 werden nicht benouml-tigt) Tab 13 erlaumlutert die Schritte zur Bestuumlckung der Platine des Interface

68

Nr Schaltung Erlaumluterung

1

Die Leuchtdiode (LED) mit dem Pluspol (langes Beinchen) an PortA0 (PIN40 oben rechts) des Mikrocontrollers anloumlten

An das kurze Beinchen einen 18kΩ Widerstand loumlten dessen anderes Ende mit der Masse (GND) verbinden

2

Den Taster mit PortA1 (PIN39 = 2 Beinchen von oben rechts) und Masse (GND) verbinden

3

Draufsicht

Belegung des 10-poligen Wannensteckers 1 GND (Masse) im Foto oben links 2 +5 V 3 PortA0 4 PortA1 10 PortA7 im Foto unten rechts

Tab 13 Schritte zum Aufbau des elementaren RCLs

463 Lokal gesteuertes RCL Nachfolgend ist der Basic-Programmcode des Mikrocontrollers zur Steuerung und Abfrage der LED und des Tasters angegeben 01 $regfile = m16DEFdat Microcontroller ATmega16 02 $crystal = 11059200 110592MHz Quarz 03 $baud = 9600 Baudrate 04 05 ---[ Variables ]--------------------------------------------------------------- 06 Dim Rs232kommando As String 10 erst Befehlspuffer dann Kommando 07 Dim Parameter As String 10 Parameter 08 Dim Str_pos As Byte Position von Leerzeichen zur Trennung von Kommando und Pa-rameter 09 10 ---[ Initialisierung ]--------------------------------------------------------- 11 Ddra0 = 1 PortA0 als Ausgang fuumlr LED 12 Porta0 = 0 LED aus 13 Ddra1 = 0 PortA1 als Eingang fuumlr Taster 14 Porta1 = 1 Pull-Up aktivieren 15 16 ---[ Main program loop ]------------------------------------------------------- 17 Do Start der Endlos-Schleife 18 19 If Ischarwaiting() = 1 Then Zeichen uumlber RS232 empfangen 20 Input Rs232kommando neues Kommando lesen 21 Parameter = Parameter initialisieren 22 Str_pos = Instr(rs232kommando ) Leerzeichen im Kommando suchen 23 If Str_pos gt 0 Then falls Leerzeichen dann in Kommando+Parameter zerlegen 24 Incr Str_pos Str_pos soll jetzt auf 1Zeichen des Parameters zeigen 25 Parameter = Mid(rs232kommando Str_pos ) Parameter = Teilstring nach Leerzeichen 26 Parameter = Ucase(parameter) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 27 Str_pos = Str_pos - 2 Str_pos soll jetzt auf letztes Zeichen des Kommandos zeigen 28 Rs232kommando = Left(rs232kommando Str_pos)Kommando = Teilstring vor Leerzeichen 29 Rs232kommando = Ucase(rs232kommando) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 30 End If 31 32 Select Case Rs232kommando Eventhandler Interpretation der Kommandos 33 Case Print Hilfe Hilfeseite anzeigen 34 Print LED on - LED einschalten 35 Print LED off - LED ausschalten 36 Print LED - zeigt Status der LED an 37 Print SW - zeigt Status des Schalters an 38

1K8

LED rotmicroC PortA0(PIN40)

Taster

microC PortA1(PIN39)

1

3

2

69

39 Case LED If Parameter = ON Then LED schalten 40 Porta0 = 1 41 End If 42 If Parameter = OFF Then 43 Porta0 = 0 44 End If 45 46 Case LED If Porta0 = 0 Then Status der LED ausgeben 47 Print LED aus 48 Else 49 Print LED an 50 End If 51 52 Case SW If Pina1 = 1 Then Status des Schalters ausgeben 53 Print Taster offen 54 Else 55 Print Taster geschlossen 56 End If 57 58 Case Else Print gt Rs232kommando lt ungueltiger Befehl - weitere Infos mit Info bei unguumlltigen Eingaben 59 End Select 60 61 End If 62 63 Loop Endlos-Schleife Springe zu Do 64 65 End wird nie erreicht

Der erste Teil des Programms (Zeilen 1 - 15) enthaumllt die Systemparameter Variablen und Initialisierung der Ein- und Ausgaumlnge Der zweite Teil enthaumllt ab Zeile 17 das Hauptpro-gramm in dem Benutzereingaben uumlber die serielle Schnittstelle empfangen interpretiert und in entsprechende Anweisungen umgesetzt werden Tab 14 erlaumlutert den Programmcode de-taillierter

Zeilen Erlaumluterung

1 - 3 Diese Angaben teilen dem Compiler (Bascom) mit welcher Prozessor eingesetzt wird wie schnell dieser getaktet (Quarz) ist und mit welcher Uumlbertragungsgeschwindigkeit die Kommunikation uumlber die serielle Schnittstelle (RS232) mit dem PC erfolgen soll

6 - 8 Es werden drei Variablen genutzt Die Eingabe uumlber die serielle Schnittstelle wird in rs232kommando gespeichert Es wird ein Text der Form Kommando ltLeerzeichengt Parameter erwartet so dass die Variable Parameter den-selbigen aufnimmt Die Variable str_pos wird fuumlr die Trennung von Kommando und Parameter benoumltigt

11 - 14

Mit dem Befehl ddrPX (ddr = data direction) wird festgelegt ob ein Beinchen als Ausgang (=1) oder als Eingang (=0) arbeiten soll Der ATmega16 besitzt 32 Ein-Ausgaumlnge die in vier Ports (P=AD) zu je 8 Pins (X=07) unterteilt sind ddrA0 = 1 legt also das 1 Beinchen (Pin 0) von PortA als Ausgang (=1) fest Mit dem Befehl PortA0 =1 kann dieser Pin dann durch Zuweisen von 1 oder 0 an- bzw ausgeschaltet werden Im Datenblatt erfahren Sie welches der 40 Beinchen des Mikrocontrollers wie bezeichnet wird (Pin-Belegung) Wird ein Beinchen als Eingang verwendet (ddrA1 = 0) koumlnnen Sie optional einen so genannten Pull-Up-Widerstand aktivieren (PortA1=1) oder deaktivieren (PortA1=0) Auch hierzu sollten Sie sich unbedingt mit dem Datenblatt vertraut machen

17 63 Das Hauptprogramm besteht aus einer Endlosschleife d h der Mikrocontroller verrichtet ununterbrochen seinen Job so lange er mit Strom versorgt wird

19 - 30 Falls ein Zeichen uumlber die serielle Schnittstelle empfangen wurde wird dieses und alle folgenden gelesen Anschlie-szligend wird gepruumlft ob der empfangene Text von der Form Kommando ltLeerzeichengt Parameter ist so dass er ge-gebenenfalls in ein Kommando und einen Parameter zerlegt werden kann

32 - 59 Dieser Abschnitt wird mit Event-Handler bezeichnet Hier wird auf die Kommandos (Events) reagiert und die ent-sprechenden Schritte ausgefuumlhrt zB schalten LED je nach Wert der Variablen Parameter an- bzw ausschalten

46 52

In beiden Zeilen wird ein Wert eines Ports abgefragt Unterschiedlich ist dass in Zeile 46 der Status eines Ausgangs abgefragt wird (porta0) und in Zeile 52 der Zustand eines Eingangs (pina0) Die Anweisung IF porta0 = 0 THEN pruumlft (hier ist = ein Vergleich und KEINE Zuweisung) ob zuletzt die LED ausgeschaltet (Zuweisung porta0 = 0) wurde Die Anweisung IF pina1= 1 THEN liest den Status eines Eingangs Hier kann festgestellt werden ob der Eingang uumlber den internen Pull-UP-Widerstand auf +5V liegt (pina1 liefert 1) oder ob der Schalter den Eingang mit Masse (0V) verbindet (pina1 liefert 0)

Tab 14 Erlaumluterung des Mikrocontroller-Programmcodes fuumlr elementares RCL

70

In Bascom AVR eine neue Datei erzeugen (FileNew) den Programmcode ohne Kommenta-re eingeben und mit ProgramCompile (F7) eine Hexadezimaldatei erzeugen Die Hexadezi-maldatei mit dem AVR-Studio und dem AVR-ISP-Programmer in den Mikrocontroller schrei-ben (larr 222 Programmuumlbertragung) Nach dem Verbinden von Computer und Interface per Null-Modem-Kabel kann durch Eingabe von in das konfigurierte Hyperterminal die Befehls-liste in Abb 30 aufgerufen werden

Abb 30 Aufgerufene Befehlsliste im Hyperterminal

Durch Eingabe von LED on oder LED off kann die LED ein- und ausgeschaltet LED zeigt den Status der LED und sw den Status des Tasters an Alternativ zum Hyperterminal kann auch das Terminal in BASCOM unter ToolsTerminal Emulator verwendet werden (larr 422)

464 Ferngesteuertes RCL Zum Ansteuern des Interfaces und zum Bedienen des Versuchsaufbaus uumlber das Internet wird eine Webseite benoumltigt die dem Benutzer alle Bedienelemente des Experiments zur Verfuumlgung stellt

Der Benutzer benoumltigt anklickbare Buttons im Webbrowser

Der Webserver muss die Information welcher Button gedruumlckt wurde empfangen und ein entsprechendes Kommando uumlber die serielle Schnittstelle an das Interface senden

Beide Schritte sind im nachfolgenden PHPHTML-Quellcode zusammengefasst 01 ltDOCTYPE HTML PUBLIC -W3CDTD HTML 401 TransitionalEN httpwwww3orgTRhtml4loosedtdgt 02 lthtmlgt 03 ltheadgt 04 ltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1gt 05 lttitlegtelementares RCLlttitlegt 06 ltheadgt 07 08 ltbodygt 09 ltphp 10 if (isset($_POST[Kommando])) wurde bereits Kommando gesendet 11 if( ( $handle = fopen( COM1 w+ ) ) ) Schnittstelle oumlffnen 12

71

13 throw new Exception( Can not access serial port 2 ) ohne Erfolg 14 15 fwrite( $handle $_POST[Kommando] chr( 13 ) ) Befehl an Interface senden 16 switch ( $_POST[Kommando] ) Antwort von Interface auswerten 17 case LED $tmp = fgets( $handle ) Echo von Interface ignorieren 18 $antwort = fgets( $handle ) Antwort des Interfaces 19 echo Antwort $antwort Ausgabe auf Webseite 20 break switch verlassen 21 22 case SW $tmp = fgets( $handle ) Echo von Interface ignorieren 23 $antwort = fgets( $handle ) Antwort des Interfaces 24 echo Antwort $antwort Ausgabe auf Webseite 25 break switch verlassen 26 27 28 29 fclose( $handle ) Schnittstelle schlieszligen 30 31 else 32 `mode com1 BAUD=9600 PARITY=N data=8 stop=1 xon=off` Schnittstellenparameter setzen 33 34 35 gt 36 37 lth3gtBefehl sendenlth3gt 38 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 39 ltinput type=hidden name=Kommando value=LED ON gt 40 ltinput type=submit value=LED anschalten gt 41 ltformgt 42 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 43 ltinput type=hidden name=Kommando value=LED OFF gt 44 ltinput type=submit value=LED ausschalten gt 45 ltformgt 46 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 47 ltinput type=hidden name=Kommando value=LED gt 48 ltinput type=submit value=LED abfragen gt 49 ltformgt 50 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 51 ltinput type=hidden name=Kommando value=SW gt 52 ltinput type=submit value=Taster abfragen gt 53 ltformgt 54 ltbodygt 55 lthtmlgt Den Quellcode in den Texteditor kopieren und im Ordner htdocs von XAMPP z B unter rclphp speichern HTML-Dateien mit PHP-Code (Zeilen 9-35) muumlssen mit der Erweiterung php gespeichert werden damit der Apache Webserver zwischen HTML-Seiten mit und ohne PHP-Code unterscheiden kann Den installierten Apache Webserver starten (larr 452) und im Adressfeld des Webbrowsers die IP-Adresse http127001rclphp aufrufen Das Bedi-enfeld des elementaren RCLs in Abb 31 wird im Browserfenster angezeigt

72

Abb 31 Laborseite des elementaren RCLs

Im Bedienfeld kann die LED an- und ausgeschaltet sowie der Status von LED und Taster abgefragt werden

  • 0 Warum ein Tutorial zur RCL-Technik
  • 1 Technische Konzeption
    • 11 Einfuumlhrung
    • 12 Wahl der RCL-Technik
      • 2 Lokal gesteuertes RCL
        • 21 Interface
          • 211 Mikrocontroller
          • 212 Basisschaltung und Erweiterungsschaltungen
          • 213 Programmierung des Mikrocontrollers
            • 22 Hyperterminal
            • 23 Positionieren von Objekten
              • 231 Hybrid-Schrittmotoren
              • 232 Schrittmotorsteuerung und Positionierungsmechanik
                  • 3 Ferngesteuertes RCL
                    • 31 RCL-Server
                    • 32 Laborseite
                      • 321 Steuerung des RCLs uumlber das Bedienfeld
                      • 322 Videouumlbertragung im Webcamfeld
                        • 33 Standard-Lernumgebung
                          • 4 ANHANG
                            • 41 Interface in Basisschaltung
                              • 411 Schaltplan und Bauteilliste
                              • 412 Bestuumlckung der Platine
                                • 42 Erweiterungsschaltungen
                                  • 421 Uumlbersicht
                                  • 422 TMC222-Modul zur Schrittmotorsteuerung
                                    • 4221 Schaltplan und Bauteilliste
                                    • 4222 Bestuumlckung der Platine
                                    • 4223 Quellcode des Mikrocontroller-Programms
                                      • 423 Geschaltete Spannungsquellen und Verbraucher
                                      • 424 Steuerung von Gleichstrommotoren
                                        • 43 Quellcodes zum RCL Elektronenbeugung
                                          • 431 Mikrocontroller-Programmierung
                                          • 432 PHP-Programmierung
                                          • 433 Bedienfeld der Laborseite
                                          • 434 Webcamfeld der Laborseite
                                            • 44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung
                                              • 441 AVR-Studio 418
                                                • 4411 Installation
                                                • 4412 Konfiguration
                                                  • 442 BASCOM 11198 Demoversion
                                                    • 4421 Installation
                                                    • 4422 Konfiguration
                                                        • 45 Installation und Konfiguration von Programmen auf dem RCL-Server
                                                          • 451 Einrichten des Internet-Zugangs
                                                          • 452 Paket XAMPP 174
                                                          • 453 Videoserver webcamXP 5 Private
                                                          • 454 Terminalprogramm Hyperterminal
                                                          • 455 Fernwartungssoftware TeamViewer 6 Host
                                                            • 46 Selbstbau eines elementaren RCLs
                                                              • 461 Hard- und Software
                                                              • 462 Bestuumlckung der Platine
                                                              • 463 Lokal gesteuertes RCL
                                                              • 464 Ferngesteuertes RCL

58

451 Einrichten des Internet-Zugangs LAN-Verbindung unter StartSystemsteuerungNetzwerkverbindungen aufrufen

Internetprotokoll (TCPIP) und Eigenschaften waumlhlen Folgende IP-Adresse verwenden waumlhlen IP-Adressen ein-

geben und OK waumlhlen

452 Paket XAMPP 174 Unter apache friends - xampp fuumlr windows und XAMPP Windows 174 Installer anklicken und Datei xampp-win32-174-VC6-installerexe speichern Durch Doppelklick auf die Datei die Installation starten

Sprache und Ok waumlhlen Ok waumlhlen

59

Weiter waumlhlen Zielverzeichnis mit Durchsuchen waumlhlen oder eingeben

Apache nicht als Dienst installieren Fertig stellen waumlhlen

Ja waumlhlen Zum Starten des Apache Webservers das Control Panel

unter StartProgrammeXAMPP 173 for Windows mit Start starten Anstelle von Start erscheint Running

Zum Beenden des Apache Webservers Stop waumlhlen Zum Beenden des Control Panels Exit waumlhlen

60

453 Videoserver webcamXP 5 Private Auf der Webseite von Moonware Studios unter webcamXP 55xx die Datei wlite550 herun-terladen Durch Doppelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen I Agree waumlhlen

Next waumlhlen Auszliger webcamXP 5 brauchen keine weiteren Komponen-

ten installiert zu werden

Den vorgeschlagenen Ordner und Install waumlhlen Finish waumlhlen

61

WebcamXP unter StartProgramme aufrufen Zugesandte

Lizenz-Daten in das eingeblendete Fenster eingeben und Register waumlhlen

Beim Starten des Programms stellt webcamXP automa-tisch eine Verbindung zu den am Computer angeschlosse-nen Webcams her

Nach dem Start ist Uumlberwachen gewaumlhlt Durch Rechts-klick mit der Maus auf das Videofenster wird zu jeder Vi-deoquelle ein Kontextmenuuml angezeigt Wird kein Videobild dargestellt das Kontextmenuuml aufrufen Art der Videoquelle waumlhlen (hier USB) und unter den erkannten Videoquellen (hier USB-Videogeraumlt) die gewuumlnschte waumlhlen

Das Videoformat muss fuumlr eine passende Darstellung auf

der Laborseite auf 320 x 240 eingestellt sein Ist das nicht der Fall im Kontextmenuuml unter Video Format einstellen

In gleicher Weise kann eine zweite Videoquelle hinzugefuumlgt werden

In der Registerkarte Web Broadcast kann unter

Broadcast (HTTP) der Videoserver mit Ausschalten ge-stoppt und mit Aktivieren gestartet werden

Zur Zielwahl des Webservers (131246237167 - Internet D16W3X3J - Computer 127001 - Local Host) Videoser-ver stoppen und einstellen Videoserver wieder starten

62

454 Terminalprogramm Hyperterminal Hyperterminal in Windows XP Professional unter StartProgrammeZubehoumlrKommunikation aufrufen

Name der neuen Verbindung - z B Interface - eingeben

und OK waumlhlen Die Verbindung zwischen Computer und Interface wurde

uumlber einen USB-Seriell-Adapter hergestellt Dann erschei-nen zwei zusaumltzliche Eintraumlge (Motorola Comp Modem und COM5) in der Liste Prinzipiell muss eine COMx-Verbindung gewaumlhlt werden

Eigenschaften von COM 5 wie im Bild einstellen und OK

waumlhlen DateiEigenschaften aufrufen und ASCII-Konfiguration

waumlhlen

63

Haken bei Eingegebene Zeichen lokal ausgeben (lokales

Echo) setzen um eingegebenen Zeichen im Hyperterminal zu sehen

Bei funktionsfaumlhiger Verbindung erscheint nach Eingabe von Return die Befehlsliste des Interface

Durch Aufrufen von DateiSpeichern die erstellte Verbin-

dung z B auf dem Desktop speichern Dadurch braucht die Verbindung nicht immer wieder von neuem konfiguriert wer-den

Nach Aufrufen von DateiBeenden die bestehende Verbin-dung mit Ja beenden

64

Wurde ein falscher COM-Port gewaumlhlt reagiert das Inter-

face auf die Eingabe Return nicht Hyperterminal dann beenden

Der COM-Port kann dann nicht unter DateiEigenschaften im Hyperterminal aber unter Eigenschaften des Kontext-menuumls der Datei Interfaceht in der Registerkarte Verbin-den mit geaumlndert werden Dann OK waumlhlen und erneut Verbindung testen

65

455 Fernwartungssoftware TeamViewer 6 Host Auf der Webseite von Teamviewer GmbH unter Fuumlr unbeaufsichtigte Server TeamViewer Vollversion die Datei TeamViewer_Setup-wq herunterladen Das Programm muss auf dem RCL-Server und dem Computer der auf den RCL-Server zugreifen soll installiert werden Durch Doppelklick auf die Datei die Installation starten

Ausfuumlhren waumlhlen Weiter waumlhlen

Fuumlr die private nicht kommerzielle Nutzung ist Teamviewer kostenlos

privat nicht-kommerziell und Weiter waumlhlen

Beide Haumlkchen setzen und Weiter waumlhlen

66

Ja un Weiter waumlhlen Weiter

Computername und Kennwort fuumlr den Zugriff auf den RCL-Server oder den eigenen Computer vergeben Kenn wort notie-ren

Ein Teamviewerkonto ist nicht erforderlich Kann auch spaumlter noch eingerichtet werden

ID fuumlr den Computer auf dem das Programm installiert wird fuumlr Zugriff notieren

Das Programm wird gestartet Standardmaumlszligig vorein-gestellt ist der Start des Programms beim Start des Be-trienssystems

67

46 Selbstbau eines elementaren RCLs 461 Hard- und Software Auch ohne gleich ein vielleicht teures physikalisches Experiment zu steuern laumlsst sich mit wenigen Bauelementen ein elementares RCL realisieren Von einer Webseite im Internet sol-len eine Leuchtdiode (LED) ein- oder ausgeschaltet sowie der Zustand der Leuchtdiode und eines Tasters abgefragt werden An Hard- und Software werden benoumltigt

1 Low-Current-LED 5 mm 2 mA 1 Widerstand 18 kΩ 1 Taster und optional zwei 10-polige Wannenstecker mit ungefaumlhr 10 cm passendem Flachbandkabel und Buchsen

Interface in Basisschaltung Null-Modem-Kabel 12 V DC Steckernetzteil (larr 1)

Installierte Bascom-Demo-Version (larr 42)

AVR ISP-Programmer mit 10-poligem Programmierkabel

Installiertes und konfiguriertes AVR Studio 418 (larr 41)

Installiertes Paket XAMPP (larr 52)

Texteditor wie z B Notepad in Windows XP Professional

Konfigurierte Hyperterminalverbindung (larr 54)

462 Bestuumlckung der Platine Abb 29 zeigt zur Orientierung fuumlr das Einloumlten der Bauelemente die fertig bestuumlckte Platine des Interface

Abb 29 Mit elementarem RCL bestuumlckte Platine

des Interface

LED mit Vorwiderstand und der Taster sind rechts neben dem Mikrocontroller im Lochraster-bereich aufgebaut und uumlber Wannenstecker und Flachbandkabel mit dem Port A des Mikro-controllers verbunden (die drei Bauteile rechts neben dem ATmega16 werden nicht benouml-tigt) Tab 13 erlaumlutert die Schritte zur Bestuumlckung der Platine des Interface

68

Nr Schaltung Erlaumluterung

1

Die Leuchtdiode (LED) mit dem Pluspol (langes Beinchen) an PortA0 (PIN40 oben rechts) des Mikrocontrollers anloumlten

An das kurze Beinchen einen 18kΩ Widerstand loumlten dessen anderes Ende mit der Masse (GND) verbinden

2

Den Taster mit PortA1 (PIN39 = 2 Beinchen von oben rechts) und Masse (GND) verbinden

3

Draufsicht

Belegung des 10-poligen Wannensteckers 1 GND (Masse) im Foto oben links 2 +5 V 3 PortA0 4 PortA1 10 PortA7 im Foto unten rechts

Tab 13 Schritte zum Aufbau des elementaren RCLs

463 Lokal gesteuertes RCL Nachfolgend ist der Basic-Programmcode des Mikrocontrollers zur Steuerung und Abfrage der LED und des Tasters angegeben 01 $regfile = m16DEFdat Microcontroller ATmega16 02 $crystal = 11059200 110592MHz Quarz 03 $baud = 9600 Baudrate 04 05 ---[ Variables ]--------------------------------------------------------------- 06 Dim Rs232kommando As String 10 erst Befehlspuffer dann Kommando 07 Dim Parameter As String 10 Parameter 08 Dim Str_pos As Byte Position von Leerzeichen zur Trennung von Kommando und Pa-rameter 09 10 ---[ Initialisierung ]--------------------------------------------------------- 11 Ddra0 = 1 PortA0 als Ausgang fuumlr LED 12 Porta0 = 0 LED aus 13 Ddra1 = 0 PortA1 als Eingang fuumlr Taster 14 Porta1 = 1 Pull-Up aktivieren 15 16 ---[ Main program loop ]------------------------------------------------------- 17 Do Start der Endlos-Schleife 18 19 If Ischarwaiting() = 1 Then Zeichen uumlber RS232 empfangen 20 Input Rs232kommando neues Kommando lesen 21 Parameter = Parameter initialisieren 22 Str_pos = Instr(rs232kommando ) Leerzeichen im Kommando suchen 23 If Str_pos gt 0 Then falls Leerzeichen dann in Kommando+Parameter zerlegen 24 Incr Str_pos Str_pos soll jetzt auf 1Zeichen des Parameters zeigen 25 Parameter = Mid(rs232kommando Str_pos ) Parameter = Teilstring nach Leerzeichen 26 Parameter = Ucase(parameter) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 27 Str_pos = Str_pos - 2 Str_pos soll jetzt auf letztes Zeichen des Kommandos zeigen 28 Rs232kommando = Left(rs232kommando Str_pos)Kommando = Teilstring vor Leerzeichen 29 Rs232kommando = Ucase(rs232kommando) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 30 End If 31 32 Select Case Rs232kommando Eventhandler Interpretation der Kommandos 33 Case Print Hilfe Hilfeseite anzeigen 34 Print LED on - LED einschalten 35 Print LED off - LED ausschalten 36 Print LED - zeigt Status der LED an 37 Print SW - zeigt Status des Schalters an 38

1K8

LED rotmicroC PortA0(PIN40)

Taster

microC PortA1(PIN39)

1

3

2

69

39 Case LED If Parameter = ON Then LED schalten 40 Porta0 = 1 41 End If 42 If Parameter = OFF Then 43 Porta0 = 0 44 End If 45 46 Case LED If Porta0 = 0 Then Status der LED ausgeben 47 Print LED aus 48 Else 49 Print LED an 50 End If 51 52 Case SW If Pina1 = 1 Then Status des Schalters ausgeben 53 Print Taster offen 54 Else 55 Print Taster geschlossen 56 End If 57 58 Case Else Print gt Rs232kommando lt ungueltiger Befehl - weitere Infos mit Info bei unguumlltigen Eingaben 59 End Select 60 61 End If 62 63 Loop Endlos-Schleife Springe zu Do 64 65 End wird nie erreicht

Der erste Teil des Programms (Zeilen 1 - 15) enthaumllt die Systemparameter Variablen und Initialisierung der Ein- und Ausgaumlnge Der zweite Teil enthaumllt ab Zeile 17 das Hauptpro-gramm in dem Benutzereingaben uumlber die serielle Schnittstelle empfangen interpretiert und in entsprechende Anweisungen umgesetzt werden Tab 14 erlaumlutert den Programmcode de-taillierter

Zeilen Erlaumluterung

1 - 3 Diese Angaben teilen dem Compiler (Bascom) mit welcher Prozessor eingesetzt wird wie schnell dieser getaktet (Quarz) ist und mit welcher Uumlbertragungsgeschwindigkeit die Kommunikation uumlber die serielle Schnittstelle (RS232) mit dem PC erfolgen soll

6 - 8 Es werden drei Variablen genutzt Die Eingabe uumlber die serielle Schnittstelle wird in rs232kommando gespeichert Es wird ein Text der Form Kommando ltLeerzeichengt Parameter erwartet so dass die Variable Parameter den-selbigen aufnimmt Die Variable str_pos wird fuumlr die Trennung von Kommando und Parameter benoumltigt

11 - 14

Mit dem Befehl ddrPX (ddr = data direction) wird festgelegt ob ein Beinchen als Ausgang (=1) oder als Eingang (=0) arbeiten soll Der ATmega16 besitzt 32 Ein-Ausgaumlnge die in vier Ports (P=AD) zu je 8 Pins (X=07) unterteilt sind ddrA0 = 1 legt also das 1 Beinchen (Pin 0) von PortA als Ausgang (=1) fest Mit dem Befehl PortA0 =1 kann dieser Pin dann durch Zuweisen von 1 oder 0 an- bzw ausgeschaltet werden Im Datenblatt erfahren Sie welches der 40 Beinchen des Mikrocontrollers wie bezeichnet wird (Pin-Belegung) Wird ein Beinchen als Eingang verwendet (ddrA1 = 0) koumlnnen Sie optional einen so genannten Pull-Up-Widerstand aktivieren (PortA1=1) oder deaktivieren (PortA1=0) Auch hierzu sollten Sie sich unbedingt mit dem Datenblatt vertraut machen

17 63 Das Hauptprogramm besteht aus einer Endlosschleife d h der Mikrocontroller verrichtet ununterbrochen seinen Job so lange er mit Strom versorgt wird

19 - 30 Falls ein Zeichen uumlber die serielle Schnittstelle empfangen wurde wird dieses und alle folgenden gelesen Anschlie-szligend wird gepruumlft ob der empfangene Text von der Form Kommando ltLeerzeichengt Parameter ist so dass er ge-gebenenfalls in ein Kommando und einen Parameter zerlegt werden kann

32 - 59 Dieser Abschnitt wird mit Event-Handler bezeichnet Hier wird auf die Kommandos (Events) reagiert und die ent-sprechenden Schritte ausgefuumlhrt zB schalten LED je nach Wert der Variablen Parameter an- bzw ausschalten

46 52

In beiden Zeilen wird ein Wert eines Ports abgefragt Unterschiedlich ist dass in Zeile 46 der Status eines Ausgangs abgefragt wird (porta0) und in Zeile 52 der Zustand eines Eingangs (pina0) Die Anweisung IF porta0 = 0 THEN pruumlft (hier ist = ein Vergleich und KEINE Zuweisung) ob zuletzt die LED ausgeschaltet (Zuweisung porta0 = 0) wurde Die Anweisung IF pina1= 1 THEN liest den Status eines Eingangs Hier kann festgestellt werden ob der Eingang uumlber den internen Pull-UP-Widerstand auf +5V liegt (pina1 liefert 1) oder ob der Schalter den Eingang mit Masse (0V) verbindet (pina1 liefert 0)

Tab 14 Erlaumluterung des Mikrocontroller-Programmcodes fuumlr elementares RCL

70

In Bascom AVR eine neue Datei erzeugen (FileNew) den Programmcode ohne Kommenta-re eingeben und mit ProgramCompile (F7) eine Hexadezimaldatei erzeugen Die Hexadezi-maldatei mit dem AVR-Studio und dem AVR-ISP-Programmer in den Mikrocontroller schrei-ben (larr 222 Programmuumlbertragung) Nach dem Verbinden von Computer und Interface per Null-Modem-Kabel kann durch Eingabe von in das konfigurierte Hyperterminal die Befehls-liste in Abb 30 aufgerufen werden

Abb 30 Aufgerufene Befehlsliste im Hyperterminal

Durch Eingabe von LED on oder LED off kann die LED ein- und ausgeschaltet LED zeigt den Status der LED und sw den Status des Tasters an Alternativ zum Hyperterminal kann auch das Terminal in BASCOM unter ToolsTerminal Emulator verwendet werden (larr 422)

464 Ferngesteuertes RCL Zum Ansteuern des Interfaces und zum Bedienen des Versuchsaufbaus uumlber das Internet wird eine Webseite benoumltigt die dem Benutzer alle Bedienelemente des Experiments zur Verfuumlgung stellt

Der Benutzer benoumltigt anklickbare Buttons im Webbrowser

Der Webserver muss die Information welcher Button gedruumlckt wurde empfangen und ein entsprechendes Kommando uumlber die serielle Schnittstelle an das Interface senden

Beide Schritte sind im nachfolgenden PHPHTML-Quellcode zusammengefasst 01 ltDOCTYPE HTML PUBLIC -W3CDTD HTML 401 TransitionalEN httpwwww3orgTRhtml4loosedtdgt 02 lthtmlgt 03 ltheadgt 04 ltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1gt 05 lttitlegtelementares RCLlttitlegt 06 ltheadgt 07 08 ltbodygt 09 ltphp 10 if (isset($_POST[Kommando])) wurde bereits Kommando gesendet 11 if( ( $handle = fopen( COM1 w+ ) ) ) Schnittstelle oumlffnen 12

71

13 throw new Exception( Can not access serial port 2 ) ohne Erfolg 14 15 fwrite( $handle $_POST[Kommando] chr( 13 ) ) Befehl an Interface senden 16 switch ( $_POST[Kommando] ) Antwort von Interface auswerten 17 case LED $tmp = fgets( $handle ) Echo von Interface ignorieren 18 $antwort = fgets( $handle ) Antwort des Interfaces 19 echo Antwort $antwort Ausgabe auf Webseite 20 break switch verlassen 21 22 case SW $tmp = fgets( $handle ) Echo von Interface ignorieren 23 $antwort = fgets( $handle ) Antwort des Interfaces 24 echo Antwort $antwort Ausgabe auf Webseite 25 break switch verlassen 26 27 28 29 fclose( $handle ) Schnittstelle schlieszligen 30 31 else 32 `mode com1 BAUD=9600 PARITY=N data=8 stop=1 xon=off` Schnittstellenparameter setzen 33 34 35 gt 36 37 lth3gtBefehl sendenlth3gt 38 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 39 ltinput type=hidden name=Kommando value=LED ON gt 40 ltinput type=submit value=LED anschalten gt 41 ltformgt 42 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 43 ltinput type=hidden name=Kommando value=LED OFF gt 44 ltinput type=submit value=LED ausschalten gt 45 ltformgt 46 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 47 ltinput type=hidden name=Kommando value=LED gt 48 ltinput type=submit value=LED abfragen gt 49 ltformgt 50 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 51 ltinput type=hidden name=Kommando value=SW gt 52 ltinput type=submit value=Taster abfragen gt 53 ltformgt 54 ltbodygt 55 lthtmlgt Den Quellcode in den Texteditor kopieren und im Ordner htdocs von XAMPP z B unter rclphp speichern HTML-Dateien mit PHP-Code (Zeilen 9-35) muumlssen mit der Erweiterung php gespeichert werden damit der Apache Webserver zwischen HTML-Seiten mit und ohne PHP-Code unterscheiden kann Den installierten Apache Webserver starten (larr 452) und im Adressfeld des Webbrowsers die IP-Adresse http127001rclphp aufrufen Das Bedi-enfeld des elementaren RCLs in Abb 31 wird im Browserfenster angezeigt

72

Abb 31 Laborseite des elementaren RCLs

Im Bedienfeld kann die LED an- und ausgeschaltet sowie der Status von LED und Taster abgefragt werden

  • 0 Warum ein Tutorial zur RCL-Technik
  • 1 Technische Konzeption
    • 11 Einfuumlhrung
    • 12 Wahl der RCL-Technik
      • 2 Lokal gesteuertes RCL
        • 21 Interface
          • 211 Mikrocontroller
          • 212 Basisschaltung und Erweiterungsschaltungen
          • 213 Programmierung des Mikrocontrollers
            • 22 Hyperterminal
            • 23 Positionieren von Objekten
              • 231 Hybrid-Schrittmotoren
              • 232 Schrittmotorsteuerung und Positionierungsmechanik
                  • 3 Ferngesteuertes RCL
                    • 31 RCL-Server
                    • 32 Laborseite
                      • 321 Steuerung des RCLs uumlber das Bedienfeld
                      • 322 Videouumlbertragung im Webcamfeld
                        • 33 Standard-Lernumgebung
                          • 4 ANHANG
                            • 41 Interface in Basisschaltung
                              • 411 Schaltplan und Bauteilliste
                              • 412 Bestuumlckung der Platine
                                • 42 Erweiterungsschaltungen
                                  • 421 Uumlbersicht
                                  • 422 TMC222-Modul zur Schrittmotorsteuerung
                                    • 4221 Schaltplan und Bauteilliste
                                    • 4222 Bestuumlckung der Platine
                                    • 4223 Quellcode des Mikrocontroller-Programms
                                      • 423 Geschaltete Spannungsquellen und Verbraucher
                                      • 424 Steuerung von Gleichstrommotoren
                                        • 43 Quellcodes zum RCL Elektronenbeugung
                                          • 431 Mikrocontroller-Programmierung
                                          • 432 PHP-Programmierung
                                          • 433 Bedienfeld der Laborseite
                                          • 434 Webcamfeld der Laborseite
                                            • 44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung
                                              • 441 AVR-Studio 418
                                                • 4411 Installation
                                                • 4412 Konfiguration
                                                  • 442 BASCOM 11198 Demoversion
                                                    • 4421 Installation
                                                    • 4422 Konfiguration
                                                        • 45 Installation und Konfiguration von Programmen auf dem RCL-Server
                                                          • 451 Einrichten des Internet-Zugangs
                                                          • 452 Paket XAMPP 174
                                                          • 453 Videoserver webcamXP 5 Private
                                                          • 454 Terminalprogramm Hyperterminal
                                                          • 455 Fernwartungssoftware TeamViewer 6 Host
                                                            • 46 Selbstbau eines elementaren RCLs
                                                              • 461 Hard- und Software
                                                              • 462 Bestuumlckung der Platine
                                                              • 463 Lokal gesteuertes RCL
                                                              • 464 Ferngesteuertes RCL

59

Weiter waumlhlen Zielverzeichnis mit Durchsuchen waumlhlen oder eingeben

Apache nicht als Dienst installieren Fertig stellen waumlhlen

Ja waumlhlen Zum Starten des Apache Webservers das Control Panel

unter StartProgrammeXAMPP 173 for Windows mit Start starten Anstelle von Start erscheint Running

Zum Beenden des Apache Webservers Stop waumlhlen Zum Beenden des Control Panels Exit waumlhlen

60

453 Videoserver webcamXP 5 Private Auf der Webseite von Moonware Studios unter webcamXP 55xx die Datei wlite550 herun-terladen Durch Doppelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen I Agree waumlhlen

Next waumlhlen Auszliger webcamXP 5 brauchen keine weiteren Komponen-

ten installiert zu werden

Den vorgeschlagenen Ordner und Install waumlhlen Finish waumlhlen

61

WebcamXP unter StartProgramme aufrufen Zugesandte

Lizenz-Daten in das eingeblendete Fenster eingeben und Register waumlhlen

Beim Starten des Programms stellt webcamXP automa-tisch eine Verbindung zu den am Computer angeschlosse-nen Webcams her

Nach dem Start ist Uumlberwachen gewaumlhlt Durch Rechts-klick mit der Maus auf das Videofenster wird zu jeder Vi-deoquelle ein Kontextmenuuml angezeigt Wird kein Videobild dargestellt das Kontextmenuuml aufrufen Art der Videoquelle waumlhlen (hier USB) und unter den erkannten Videoquellen (hier USB-Videogeraumlt) die gewuumlnschte waumlhlen

Das Videoformat muss fuumlr eine passende Darstellung auf

der Laborseite auf 320 x 240 eingestellt sein Ist das nicht der Fall im Kontextmenuuml unter Video Format einstellen

In gleicher Weise kann eine zweite Videoquelle hinzugefuumlgt werden

In der Registerkarte Web Broadcast kann unter

Broadcast (HTTP) der Videoserver mit Ausschalten ge-stoppt und mit Aktivieren gestartet werden

Zur Zielwahl des Webservers (131246237167 - Internet D16W3X3J - Computer 127001 - Local Host) Videoser-ver stoppen und einstellen Videoserver wieder starten

62

454 Terminalprogramm Hyperterminal Hyperterminal in Windows XP Professional unter StartProgrammeZubehoumlrKommunikation aufrufen

Name der neuen Verbindung - z B Interface - eingeben

und OK waumlhlen Die Verbindung zwischen Computer und Interface wurde

uumlber einen USB-Seriell-Adapter hergestellt Dann erschei-nen zwei zusaumltzliche Eintraumlge (Motorola Comp Modem und COM5) in der Liste Prinzipiell muss eine COMx-Verbindung gewaumlhlt werden

Eigenschaften von COM 5 wie im Bild einstellen und OK

waumlhlen DateiEigenschaften aufrufen und ASCII-Konfiguration

waumlhlen

63

Haken bei Eingegebene Zeichen lokal ausgeben (lokales

Echo) setzen um eingegebenen Zeichen im Hyperterminal zu sehen

Bei funktionsfaumlhiger Verbindung erscheint nach Eingabe von Return die Befehlsliste des Interface

Durch Aufrufen von DateiSpeichern die erstellte Verbin-

dung z B auf dem Desktop speichern Dadurch braucht die Verbindung nicht immer wieder von neuem konfiguriert wer-den

Nach Aufrufen von DateiBeenden die bestehende Verbin-dung mit Ja beenden

64

Wurde ein falscher COM-Port gewaumlhlt reagiert das Inter-

face auf die Eingabe Return nicht Hyperterminal dann beenden

Der COM-Port kann dann nicht unter DateiEigenschaften im Hyperterminal aber unter Eigenschaften des Kontext-menuumls der Datei Interfaceht in der Registerkarte Verbin-den mit geaumlndert werden Dann OK waumlhlen und erneut Verbindung testen

65

455 Fernwartungssoftware TeamViewer 6 Host Auf der Webseite von Teamviewer GmbH unter Fuumlr unbeaufsichtigte Server TeamViewer Vollversion die Datei TeamViewer_Setup-wq herunterladen Das Programm muss auf dem RCL-Server und dem Computer der auf den RCL-Server zugreifen soll installiert werden Durch Doppelklick auf die Datei die Installation starten

Ausfuumlhren waumlhlen Weiter waumlhlen

Fuumlr die private nicht kommerzielle Nutzung ist Teamviewer kostenlos

privat nicht-kommerziell und Weiter waumlhlen

Beide Haumlkchen setzen und Weiter waumlhlen

66

Ja un Weiter waumlhlen Weiter

Computername und Kennwort fuumlr den Zugriff auf den RCL-Server oder den eigenen Computer vergeben Kenn wort notie-ren

Ein Teamviewerkonto ist nicht erforderlich Kann auch spaumlter noch eingerichtet werden

ID fuumlr den Computer auf dem das Programm installiert wird fuumlr Zugriff notieren

Das Programm wird gestartet Standardmaumlszligig vorein-gestellt ist der Start des Programms beim Start des Be-trienssystems

67

46 Selbstbau eines elementaren RCLs 461 Hard- und Software Auch ohne gleich ein vielleicht teures physikalisches Experiment zu steuern laumlsst sich mit wenigen Bauelementen ein elementares RCL realisieren Von einer Webseite im Internet sol-len eine Leuchtdiode (LED) ein- oder ausgeschaltet sowie der Zustand der Leuchtdiode und eines Tasters abgefragt werden An Hard- und Software werden benoumltigt

1 Low-Current-LED 5 mm 2 mA 1 Widerstand 18 kΩ 1 Taster und optional zwei 10-polige Wannenstecker mit ungefaumlhr 10 cm passendem Flachbandkabel und Buchsen

Interface in Basisschaltung Null-Modem-Kabel 12 V DC Steckernetzteil (larr 1)

Installierte Bascom-Demo-Version (larr 42)

AVR ISP-Programmer mit 10-poligem Programmierkabel

Installiertes und konfiguriertes AVR Studio 418 (larr 41)

Installiertes Paket XAMPP (larr 52)

Texteditor wie z B Notepad in Windows XP Professional

Konfigurierte Hyperterminalverbindung (larr 54)

462 Bestuumlckung der Platine Abb 29 zeigt zur Orientierung fuumlr das Einloumlten der Bauelemente die fertig bestuumlckte Platine des Interface

Abb 29 Mit elementarem RCL bestuumlckte Platine

des Interface

LED mit Vorwiderstand und der Taster sind rechts neben dem Mikrocontroller im Lochraster-bereich aufgebaut und uumlber Wannenstecker und Flachbandkabel mit dem Port A des Mikro-controllers verbunden (die drei Bauteile rechts neben dem ATmega16 werden nicht benouml-tigt) Tab 13 erlaumlutert die Schritte zur Bestuumlckung der Platine des Interface

68

Nr Schaltung Erlaumluterung

1

Die Leuchtdiode (LED) mit dem Pluspol (langes Beinchen) an PortA0 (PIN40 oben rechts) des Mikrocontrollers anloumlten

An das kurze Beinchen einen 18kΩ Widerstand loumlten dessen anderes Ende mit der Masse (GND) verbinden

2

Den Taster mit PortA1 (PIN39 = 2 Beinchen von oben rechts) und Masse (GND) verbinden

3

Draufsicht

Belegung des 10-poligen Wannensteckers 1 GND (Masse) im Foto oben links 2 +5 V 3 PortA0 4 PortA1 10 PortA7 im Foto unten rechts

Tab 13 Schritte zum Aufbau des elementaren RCLs

463 Lokal gesteuertes RCL Nachfolgend ist der Basic-Programmcode des Mikrocontrollers zur Steuerung und Abfrage der LED und des Tasters angegeben 01 $regfile = m16DEFdat Microcontroller ATmega16 02 $crystal = 11059200 110592MHz Quarz 03 $baud = 9600 Baudrate 04 05 ---[ Variables ]--------------------------------------------------------------- 06 Dim Rs232kommando As String 10 erst Befehlspuffer dann Kommando 07 Dim Parameter As String 10 Parameter 08 Dim Str_pos As Byte Position von Leerzeichen zur Trennung von Kommando und Pa-rameter 09 10 ---[ Initialisierung ]--------------------------------------------------------- 11 Ddra0 = 1 PortA0 als Ausgang fuumlr LED 12 Porta0 = 0 LED aus 13 Ddra1 = 0 PortA1 als Eingang fuumlr Taster 14 Porta1 = 1 Pull-Up aktivieren 15 16 ---[ Main program loop ]------------------------------------------------------- 17 Do Start der Endlos-Schleife 18 19 If Ischarwaiting() = 1 Then Zeichen uumlber RS232 empfangen 20 Input Rs232kommando neues Kommando lesen 21 Parameter = Parameter initialisieren 22 Str_pos = Instr(rs232kommando ) Leerzeichen im Kommando suchen 23 If Str_pos gt 0 Then falls Leerzeichen dann in Kommando+Parameter zerlegen 24 Incr Str_pos Str_pos soll jetzt auf 1Zeichen des Parameters zeigen 25 Parameter = Mid(rs232kommando Str_pos ) Parameter = Teilstring nach Leerzeichen 26 Parameter = Ucase(parameter) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 27 Str_pos = Str_pos - 2 Str_pos soll jetzt auf letztes Zeichen des Kommandos zeigen 28 Rs232kommando = Left(rs232kommando Str_pos)Kommando = Teilstring vor Leerzeichen 29 Rs232kommando = Ucase(rs232kommando) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 30 End If 31 32 Select Case Rs232kommando Eventhandler Interpretation der Kommandos 33 Case Print Hilfe Hilfeseite anzeigen 34 Print LED on - LED einschalten 35 Print LED off - LED ausschalten 36 Print LED - zeigt Status der LED an 37 Print SW - zeigt Status des Schalters an 38

1K8

LED rotmicroC PortA0(PIN40)

Taster

microC PortA1(PIN39)

1

3

2

69

39 Case LED If Parameter = ON Then LED schalten 40 Porta0 = 1 41 End If 42 If Parameter = OFF Then 43 Porta0 = 0 44 End If 45 46 Case LED If Porta0 = 0 Then Status der LED ausgeben 47 Print LED aus 48 Else 49 Print LED an 50 End If 51 52 Case SW If Pina1 = 1 Then Status des Schalters ausgeben 53 Print Taster offen 54 Else 55 Print Taster geschlossen 56 End If 57 58 Case Else Print gt Rs232kommando lt ungueltiger Befehl - weitere Infos mit Info bei unguumlltigen Eingaben 59 End Select 60 61 End If 62 63 Loop Endlos-Schleife Springe zu Do 64 65 End wird nie erreicht

Der erste Teil des Programms (Zeilen 1 - 15) enthaumllt die Systemparameter Variablen und Initialisierung der Ein- und Ausgaumlnge Der zweite Teil enthaumllt ab Zeile 17 das Hauptpro-gramm in dem Benutzereingaben uumlber die serielle Schnittstelle empfangen interpretiert und in entsprechende Anweisungen umgesetzt werden Tab 14 erlaumlutert den Programmcode de-taillierter

Zeilen Erlaumluterung

1 - 3 Diese Angaben teilen dem Compiler (Bascom) mit welcher Prozessor eingesetzt wird wie schnell dieser getaktet (Quarz) ist und mit welcher Uumlbertragungsgeschwindigkeit die Kommunikation uumlber die serielle Schnittstelle (RS232) mit dem PC erfolgen soll

6 - 8 Es werden drei Variablen genutzt Die Eingabe uumlber die serielle Schnittstelle wird in rs232kommando gespeichert Es wird ein Text der Form Kommando ltLeerzeichengt Parameter erwartet so dass die Variable Parameter den-selbigen aufnimmt Die Variable str_pos wird fuumlr die Trennung von Kommando und Parameter benoumltigt

11 - 14

Mit dem Befehl ddrPX (ddr = data direction) wird festgelegt ob ein Beinchen als Ausgang (=1) oder als Eingang (=0) arbeiten soll Der ATmega16 besitzt 32 Ein-Ausgaumlnge die in vier Ports (P=AD) zu je 8 Pins (X=07) unterteilt sind ddrA0 = 1 legt also das 1 Beinchen (Pin 0) von PortA als Ausgang (=1) fest Mit dem Befehl PortA0 =1 kann dieser Pin dann durch Zuweisen von 1 oder 0 an- bzw ausgeschaltet werden Im Datenblatt erfahren Sie welches der 40 Beinchen des Mikrocontrollers wie bezeichnet wird (Pin-Belegung) Wird ein Beinchen als Eingang verwendet (ddrA1 = 0) koumlnnen Sie optional einen so genannten Pull-Up-Widerstand aktivieren (PortA1=1) oder deaktivieren (PortA1=0) Auch hierzu sollten Sie sich unbedingt mit dem Datenblatt vertraut machen

17 63 Das Hauptprogramm besteht aus einer Endlosschleife d h der Mikrocontroller verrichtet ununterbrochen seinen Job so lange er mit Strom versorgt wird

19 - 30 Falls ein Zeichen uumlber die serielle Schnittstelle empfangen wurde wird dieses und alle folgenden gelesen Anschlie-szligend wird gepruumlft ob der empfangene Text von der Form Kommando ltLeerzeichengt Parameter ist so dass er ge-gebenenfalls in ein Kommando und einen Parameter zerlegt werden kann

32 - 59 Dieser Abschnitt wird mit Event-Handler bezeichnet Hier wird auf die Kommandos (Events) reagiert und die ent-sprechenden Schritte ausgefuumlhrt zB schalten LED je nach Wert der Variablen Parameter an- bzw ausschalten

46 52

In beiden Zeilen wird ein Wert eines Ports abgefragt Unterschiedlich ist dass in Zeile 46 der Status eines Ausgangs abgefragt wird (porta0) und in Zeile 52 der Zustand eines Eingangs (pina0) Die Anweisung IF porta0 = 0 THEN pruumlft (hier ist = ein Vergleich und KEINE Zuweisung) ob zuletzt die LED ausgeschaltet (Zuweisung porta0 = 0) wurde Die Anweisung IF pina1= 1 THEN liest den Status eines Eingangs Hier kann festgestellt werden ob der Eingang uumlber den internen Pull-UP-Widerstand auf +5V liegt (pina1 liefert 1) oder ob der Schalter den Eingang mit Masse (0V) verbindet (pina1 liefert 0)

Tab 14 Erlaumluterung des Mikrocontroller-Programmcodes fuumlr elementares RCL

70

In Bascom AVR eine neue Datei erzeugen (FileNew) den Programmcode ohne Kommenta-re eingeben und mit ProgramCompile (F7) eine Hexadezimaldatei erzeugen Die Hexadezi-maldatei mit dem AVR-Studio und dem AVR-ISP-Programmer in den Mikrocontroller schrei-ben (larr 222 Programmuumlbertragung) Nach dem Verbinden von Computer und Interface per Null-Modem-Kabel kann durch Eingabe von in das konfigurierte Hyperterminal die Befehls-liste in Abb 30 aufgerufen werden

Abb 30 Aufgerufene Befehlsliste im Hyperterminal

Durch Eingabe von LED on oder LED off kann die LED ein- und ausgeschaltet LED zeigt den Status der LED und sw den Status des Tasters an Alternativ zum Hyperterminal kann auch das Terminal in BASCOM unter ToolsTerminal Emulator verwendet werden (larr 422)

464 Ferngesteuertes RCL Zum Ansteuern des Interfaces und zum Bedienen des Versuchsaufbaus uumlber das Internet wird eine Webseite benoumltigt die dem Benutzer alle Bedienelemente des Experiments zur Verfuumlgung stellt

Der Benutzer benoumltigt anklickbare Buttons im Webbrowser

Der Webserver muss die Information welcher Button gedruumlckt wurde empfangen und ein entsprechendes Kommando uumlber die serielle Schnittstelle an das Interface senden

Beide Schritte sind im nachfolgenden PHPHTML-Quellcode zusammengefasst 01 ltDOCTYPE HTML PUBLIC -W3CDTD HTML 401 TransitionalEN httpwwww3orgTRhtml4loosedtdgt 02 lthtmlgt 03 ltheadgt 04 ltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1gt 05 lttitlegtelementares RCLlttitlegt 06 ltheadgt 07 08 ltbodygt 09 ltphp 10 if (isset($_POST[Kommando])) wurde bereits Kommando gesendet 11 if( ( $handle = fopen( COM1 w+ ) ) ) Schnittstelle oumlffnen 12

71

13 throw new Exception( Can not access serial port 2 ) ohne Erfolg 14 15 fwrite( $handle $_POST[Kommando] chr( 13 ) ) Befehl an Interface senden 16 switch ( $_POST[Kommando] ) Antwort von Interface auswerten 17 case LED $tmp = fgets( $handle ) Echo von Interface ignorieren 18 $antwort = fgets( $handle ) Antwort des Interfaces 19 echo Antwort $antwort Ausgabe auf Webseite 20 break switch verlassen 21 22 case SW $tmp = fgets( $handle ) Echo von Interface ignorieren 23 $antwort = fgets( $handle ) Antwort des Interfaces 24 echo Antwort $antwort Ausgabe auf Webseite 25 break switch verlassen 26 27 28 29 fclose( $handle ) Schnittstelle schlieszligen 30 31 else 32 `mode com1 BAUD=9600 PARITY=N data=8 stop=1 xon=off` Schnittstellenparameter setzen 33 34 35 gt 36 37 lth3gtBefehl sendenlth3gt 38 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 39 ltinput type=hidden name=Kommando value=LED ON gt 40 ltinput type=submit value=LED anschalten gt 41 ltformgt 42 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 43 ltinput type=hidden name=Kommando value=LED OFF gt 44 ltinput type=submit value=LED ausschalten gt 45 ltformgt 46 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 47 ltinput type=hidden name=Kommando value=LED gt 48 ltinput type=submit value=LED abfragen gt 49 ltformgt 50 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 51 ltinput type=hidden name=Kommando value=SW gt 52 ltinput type=submit value=Taster abfragen gt 53 ltformgt 54 ltbodygt 55 lthtmlgt Den Quellcode in den Texteditor kopieren und im Ordner htdocs von XAMPP z B unter rclphp speichern HTML-Dateien mit PHP-Code (Zeilen 9-35) muumlssen mit der Erweiterung php gespeichert werden damit der Apache Webserver zwischen HTML-Seiten mit und ohne PHP-Code unterscheiden kann Den installierten Apache Webserver starten (larr 452) und im Adressfeld des Webbrowsers die IP-Adresse http127001rclphp aufrufen Das Bedi-enfeld des elementaren RCLs in Abb 31 wird im Browserfenster angezeigt

72

Abb 31 Laborseite des elementaren RCLs

Im Bedienfeld kann die LED an- und ausgeschaltet sowie der Status von LED und Taster abgefragt werden

  • 0 Warum ein Tutorial zur RCL-Technik
  • 1 Technische Konzeption
    • 11 Einfuumlhrung
    • 12 Wahl der RCL-Technik
      • 2 Lokal gesteuertes RCL
        • 21 Interface
          • 211 Mikrocontroller
          • 212 Basisschaltung und Erweiterungsschaltungen
          • 213 Programmierung des Mikrocontrollers
            • 22 Hyperterminal
            • 23 Positionieren von Objekten
              • 231 Hybrid-Schrittmotoren
              • 232 Schrittmotorsteuerung und Positionierungsmechanik
                  • 3 Ferngesteuertes RCL
                    • 31 RCL-Server
                    • 32 Laborseite
                      • 321 Steuerung des RCLs uumlber das Bedienfeld
                      • 322 Videouumlbertragung im Webcamfeld
                        • 33 Standard-Lernumgebung
                          • 4 ANHANG
                            • 41 Interface in Basisschaltung
                              • 411 Schaltplan und Bauteilliste
                              • 412 Bestuumlckung der Platine
                                • 42 Erweiterungsschaltungen
                                  • 421 Uumlbersicht
                                  • 422 TMC222-Modul zur Schrittmotorsteuerung
                                    • 4221 Schaltplan und Bauteilliste
                                    • 4222 Bestuumlckung der Platine
                                    • 4223 Quellcode des Mikrocontroller-Programms
                                      • 423 Geschaltete Spannungsquellen und Verbraucher
                                      • 424 Steuerung von Gleichstrommotoren
                                        • 43 Quellcodes zum RCL Elektronenbeugung
                                          • 431 Mikrocontroller-Programmierung
                                          • 432 PHP-Programmierung
                                          • 433 Bedienfeld der Laborseite
                                          • 434 Webcamfeld der Laborseite
                                            • 44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung
                                              • 441 AVR-Studio 418
                                                • 4411 Installation
                                                • 4412 Konfiguration
                                                  • 442 BASCOM 11198 Demoversion
                                                    • 4421 Installation
                                                    • 4422 Konfiguration
                                                        • 45 Installation und Konfiguration von Programmen auf dem RCL-Server
                                                          • 451 Einrichten des Internet-Zugangs
                                                          • 452 Paket XAMPP 174
                                                          • 453 Videoserver webcamXP 5 Private
                                                          • 454 Terminalprogramm Hyperterminal
                                                          • 455 Fernwartungssoftware TeamViewer 6 Host
                                                            • 46 Selbstbau eines elementaren RCLs
                                                              • 461 Hard- und Software
                                                              • 462 Bestuumlckung der Platine
                                                              • 463 Lokal gesteuertes RCL
                                                              • 464 Ferngesteuertes RCL

60

453 Videoserver webcamXP 5 Private Auf der Webseite von Moonware Studios unter webcamXP 55xx die Datei wlite550 herun-terladen Durch Doppelklick auf den Dateinamen die Installation starten

Ausfuumlhren waumlhlen I Agree waumlhlen

Next waumlhlen Auszliger webcamXP 5 brauchen keine weiteren Komponen-

ten installiert zu werden

Den vorgeschlagenen Ordner und Install waumlhlen Finish waumlhlen

61

WebcamXP unter StartProgramme aufrufen Zugesandte

Lizenz-Daten in das eingeblendete Fenster eingeben und Register waumlhlen

Beim Starten des Programms stellt webcamXP automa-tisch eine Verbindung zu den am Computer angeschlosse-nen Webcams her

Nach dem Start ist Uumlberwachen gewaumlhlt Durch Rechts-klick mit der Maus auf das Videofenster wird zu jeder Vi-deoquelle ein Kontextmenuuml angezeigt Wird kein Videobild dargestellt das Kontextmenuuml aufrufen Art der Videoquelle waumlhlen (hier USB) und unter den erkannten Videoquellen (hier USB-Videogeraumlt) die gewuumlnschte waumlhlen

Das Videoformat muss fuumlr eine passende Darstellung auf

der Laborseite auf 320 x 240 eingestellt sein Ist das nicht der Fall im Kontextmenuuml unter Video Format einstellen

In gleicher Weise kann eine zweite Videoquelle hinzugefuumlgt werden

In der Registerkarte Web Broadcast kann unter

Broadcast (HTTP) der Videoserver mit Ausschalten ge-stoppt und mit Aktivieren gestartet werden

Zur Zielwahl des Webservers (131246237167 - Internet D16W3X3J - Computer 127001 - Local Host) Videoser-ver stoppen und einstellen Videoserver wieder starten

62

454 Terminalprogramm Hyperterminal Hyperterminal in Windows XP Professional unter StartProgrammeZubehoumlrKommunikation aufrufen

Name der neuen Verbindung - z B Interface - eingeben

und OK waumlhlen Die Verbindung zwischen Computer und Interface wurde

uumlber einen USB-Seriell-Adapter hergestellt Dann erschei-nen zwei zusaumltzliche Eintraumlge (Motorola Comp Modem und COM5) in der Liste Prinzipiell muss eine COMx-Verbindung gewaumlhlt werden

Eigenschaften von COM 5 wie im Bild einstellen und OK

waumlhlen DateiEigenschaften aufrufen und ASCII-Konfiguration

waumlhlen

63

Haken bei Eingegebene Zeichen lokal ausgeben (lokales

Echo) setzen um eingegebenen Zeichen im Hyperterminal zu sehen

Bei funktionsfaumlhiger Verbindung erscheint nach Eingabe von Return die Befehlsliste des Interface

Durch Aufrufen von DateiSpeichern die erstellte Verbin-

dung z B auf dem Desktop speichern Dadurch braucht die Verbindung nicht immer wieder von neuem konfiguriert wer-den

Nach Aufrufen von DateiBeenden die bestehende Verbin-dung mit Ja beenden

64

Wurde ein falscher COM-Port gewaumlhlt reagiert das Inter-

face auf die Eingabe Return nicht Hyperterminal dann beenden

Der COM-Port kann dann nicht unter DateiEigenschaften im Hyperterminal aber unter Eigenschaften des Kontext-menuumls der Datei Interfaceht in der Registerkarte Verbin-den mit geaumlndert werden Dann OK waumlhlen und erneut Verbindung testen

65

455 Fernwartungssoftware TeamViewer 6 Host Auf der Webseite von Teamviewer GmbH unter Fuumlr unbeaufsichtigte Server TeamViewer Vollversion die Datei TeamViewer_Setup-wq herunterladen Das Programm muss auf dem RCL-Server und dem Computer der auf den RCL-Server zugreifen soll installiert werden Durch Doppelklick auf die Datei die Installation starten

Ausfuumlhren waumlhlen Weiter waumlhlen

Fuumlr die private nicht kommerzielle Nutzung ist Teamviewer kostenlos

privat nicht-kommerziell und Weiter waumlhlen

Beide Haumlkchen setzen und Weiter waumlhlen

66

Ja un Weiter waumlhlen Weiter

Computername und Kennwort fuumlr den Zugriff auf den RCL-Server oder den eigenen Computer vergeben Kenn wort notie-ren

Ein Teamviewerkonto ist nicht erforderlich Kann auch spaumlter noch eingerichtet werden

ID fuumlr den Computer auf dem das Programm installiert wird fuumlr Zugriff notieren

Das Programm wird gestartet Standardmaumlszligig vorein-gestellt ist der Start des Programms beim Start des Be-trienssystems

67

46 Selbstbau eines elementaren RCLs 461 Hard- und Software Auch ohne gleich ein vielleicht teures physikalisches Experiment zu steuern laumlsst sich mit wenigen Bauelementen ein elementares RCL realisieren Von einer Webseite im Internet sol-len eine Leuchtdiode (LED) ein- oder ausgeschaltet sowie der Zustand der Leuchtdiode und eines Tasters abgefragt werden An Hard- und Software werden benoumltigt

1 Low-Current-LED 5 mm 2 mA 1 Widerstand 18 kΩ 1 Taster und optional zwei 10-polige Wannenstecker mit ungefaumlhr 10 cm passendem Flachbandkabel und Buchsen

Interface in Basisschaltung Null-Modem-Kabel 12 V DC Steckernetzteil (larr 1)

Installierte Bascom-Demo-Version (larr 42)

AVR ISP-Programmer mit 10-poligem Programmierkabel

Installiertes und konfiguriertes AVR Studio 418 (larr 41)

Installiertes Paket XAMPP (larr 52)

Texteditor wie z B Notepad in Windows XP Professional

Konfigurierte Hyperterminalverbindung (larr 54)

462 Bestuumlckung der Platine Abb 29 zeigt zur Orientierung fuumlr das Einloumlten der Bauelemente die fertig bestuumlckte Platine des Interface

Abb 29 Mit elementarem RCL bestuumlckte Platine

des Interface

LED mit Vorwiderstand und der Taster sind rechts neben dem Mikrocontroller im Lochraster-bereich aufgebaut und uumlber Wannenstecker und Flachbandkabel mit dem Port A des Mikro-controllers verbunden (die drei Bauteile rechts neben dem ATmega16 werden nicht benouml-tigt) Tab 13 erlaumlutert die Schritte zur Bestuumlckung der Platine des Interface

68

Nr Schaltung Erlaumluterung

1

Die Leuchtdiode (LED) mit dem Pluspol (langes Beinchen) an PortA0 (PIN40 oben rechts) des Mikrocontrollers anloumlten

An das kurze Beinchen einen 18kΩ Widerstand loumlten dessen anderes Ende mit der Masse (GND) verbinden

2

Den Taster mit PortA1 (PIN39 = 2 Beinchen von oben rechts) und Masse (GND) verbinden

3

Draufsicht

Belegung des 10-poligen Wannensteckers 1 GND (Masse) im Foto oben links 2 +5 V 3 PortA0 4 PortA1 10 PortA7 im Foto unten rechts

Tab 13 Schritte zum Aufbau des elementaren RCLs

463 Lokal gesteuertes RCL Nachfolgend ist der Basic-Programmcode des Mikrocontrollers zur Steuerung und Abfrage der LED und des Tasters angegeben 01 $regfile = m16DEFdat Microcontroller ATmega16 02 $crystal = 11059200 110592MHz Quarz 03 $baud = 9600 Baudrate 04 05 ---[ Variables ]--------------------------------------------------------------- 06 Dim Rs232kommando As String 10 erst Befehlspuffer dann Kommando 07 Dim Parameter As String 10 Parameter 08 Dim Str_pos As Byte Position von Leerzeichen zur Trennung von Kommando und Pa-rameter 09 10 ---[ Initialisierung ]--------------------------------------------------------- 11 Ddra0 = 1 PortA0 als Ausgang fuumlr LED 12 Porta0 = 0 LED aus 13 Ddra1 = 0 PortA1 als Eingang fuumlr Taster 14 Porta1 = 1 Pull-Up aktivieren 15 16 ---[ Main program loop ]------------------------------------------------------- 17 Do Start der Endlos-Schleife 18 19 If Ischarwaiting() = 1 Then Zeichen uumlber RS232 empfangen 20 Input Rs232kommando neues Kommando lesen 21 Parameter = Parameter initialisieren 22 Str_pos = Instr(rs232kommando ) Leerzeichen im Kommando suchen 23 If Str_pos gt 0 Then falls Leerzeichen dann in Kommando+Parameter zerlegen 24 Incr Str_pos Str_pos soll jetzt auf 1Zeichen des Parameters zeigen 25 Parameter = Mid(rs232kommando Str_pos ) Parameter = Teilstring nach Leerzeichen 26 Parameter = Ucase(parameter) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 27 Str_pos = Str_pos - 2 Str_pos soll jetzt auf letztes Zeichen des Kommandos zeigen 28 Rs232kommando = Left(rs232kommando Str_pos)Kommando = Teilstring vor Leerzeichen 29 Rs232kommando = Ucase(rs232kommando) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 30 End If 31 32 Select Case Rs232kommando Eventhandler Interpretation der Kommandos 33 Case Print Hilfe Hilfeseite anzeigen 34 Print LED on - LED einschalten 35 Print LED off - LED ausschalten 36 Print LED - zeigt Status der LED an 37 Print SW - zeigt Status des Schalters an 38

1K8

LED rotmicroC PortA0(PIN40)

Taster

microC PortA1(PIN39)

1

3

2

69

39 Case LED If Parameter = ON Then LED schalten 40 Porta0 = 1 41 End If 42 If Parameter = OFF Then 43 Porta0 = 0 44 End If 45 46 Case LED If Porta0 = 0 Then Status der LED ausgeben 47 Print LED aus 48 Else 49 Print LED an 50 End If 51 52 Case SW If Pina1 = 1 Then Status des Schalters ausgeben 53 Print Taster offen 54 Else 55 Print Taster geschlossen 56 End If 57 58 Case Else Print gt Rs232kommando lt ungueltiger Befehl - weitere Infos mit Info bei unguumlltigen Eingaben 59 End Select 60 61 End If 62 63 Loop Endlos-Schleife Springe zu Do 64 65 End wird nie erreicht

Der erste Teil des Programms (Zeilen 1 - 15) enthaumllt die Systemparameter Variablen und Initialisierung der Ein- und Ausgaumlnge Der zweite Teil enthaumllt ab Zeile 17 das Hauptpro-gramm in dem Benutzereingaben uumlber die serielle Schnittstelle empfangen interpretiert und in entsprechende Anweisungen umgesetzt werden Tab 14 erlaumlutert den Programmcode de-taillierter

Zeilen Erlaumluterung

1 - 3 Diese Angaben teilen dem Compiler (Bascom) mit welcher Prozessor eingesetzt wird wie schnell dieser getaktet (Quarz) ist und mit welcher Uumlbertragungsgeschwindigkeit die Kommunikation uumlber die serielle Schnittstelle (RS232) mit dem PC erfolgen soll

6 - 8 Es werden drei Variablen genutzt Die Eingabe uumlber die serielle Schnittstelle wird in rs232kommando gespeichert Es wird ein Text der Form Kommando ltLeerzeichengt Parameter erwartet so dass die Variable Parameter den-selbigen aufnimmt Die Variable str_pos wird fuumlr die Trennung von Kommando und Parameter benoumltigt

11 - 14

Mit dem Befehl ddrPX (ddr = data direction) wird festgelegt ob ein Beinchen als Ausgang (=1) oder als Eingang (=0) arbeiten soll Der ATmega16 besitzt 32 Ein-Ausgaumlnge die in vier Ports (P=AD) zu je 8 Pins (X=07) unterteilt sind ddrA0 = 1 legt also das 1 Beinchen (Pin 0) von PortA als Ausgang (=1) fest Mit dem Befehl PortA0 =1 kann dieser Pin dann durch Zuweisen von 1 oder 0 an- bzw ausgeschaltet werden Im Datenblatt erfahren Sie welches der 40 Beinchen des Mikrocontrollers wie bezeichnet wird (Pin-Belegung) Wird ein Beinchen als Eingang verwendet (ddrA1 = 0) koumlnnen Sie optional einen so genannten Pull-Up-Widerstand aktivieren (PortA1=1) oder deaktivieren (PortA1=0) Auch hierzu sollten Sie sich unbedingt mit dem Datenblatt vertraut machen

17 63 Das Hauptprogramm besteht aus einer Endlosschleife d h der Mikrocontroller verrichtet ununterbrochen seinen Job so lange er mit Strom versorgt wird

19 - 30 Falls ein Zeichen uumlber die serielle Schnittstelle empfangen wurde wird dieses und alle folgenden gelesen Anschlie-szligend wird gepruumlft ob der empfangene Text von der Form Kommando ltLeerzeichengt Parameter ist so dass er ge-gebenenfalls in ein Kommando und einen Parameter zerlegt werden kann

32 - 59 Dieser Abschnitt wird mit Event-Handler bezeichnet Hier wird auf die Kommandos (Events) reagiert und die ent-sprechenden Schritte ausgefuumlhrt zB schalten LED je nach Wert der Variablen Parameter an- bzw ausschalten

46 52

In beiden Zeilen wird ein Wert eines Ports abgefragt Unterschiedlich ist dass in Zeile 46 der Status eines Ausgangs abgefragt wird (porta0) und in Zeile 52 der Zustand eines Eingangs (pina0) Die Anweisung IF porta0 = 0 THEN pruumlft (hier ist = ein Vergleich und KEINE Zuweisung) ob zuletzt die LED ausgeschaltet (Zuweisung porta0 = 0) wurde Die Anweisung IF pina1= 1 THEN liest den Status eines Eingangs Hier kann festgestellt werden ob der Eingang uumlber den internen Pull-UP-Widerstand auf +5V liegt (pina1 liefert 1) oder ob der Schalter den Eingang mit Masse (0V) verbindet (pina1 liefert 0)

Tab 14 Erlaumluterung des Mikrocontroller-Programmcodes fuumlr elementares RCL

70

In Bascom AVR eine neue Datei erzeugen (FileNew) den Programmcode ohne Kommenta-re eingeben und mit ProgramCompile (F7) eine Hexadezimaldatei erzeugen Die Hexadezi-maldatei mit dem AVR-Studio und dem AVR-ISP-Programmer in den Mikrocontroller schrei-ben (larr 222 Programmuumlbertragung) Nach dem Verbinden von Computer und Interface per Null-Modem-Kabel kann durch Eingabe von in das konfigurierte Hyperterminal die Befehls-liste in Abb 30 aufgerufen werden

Abb 30 Aufgerufene Befehlsliste im Hyperterminal

Durch Eingabe von LED on oder LED off kann die LED ein- und ausgeschaltet LED zeigt den Status der LED und sw den Status des Tasters an Alternativ zum Hyperterminal kann auch das Terminal in BASCOM unter ToolsTerminal Emulator verwendet werden (larr 422)

464 Ferngesteuertes RCL Zum Ansteuern des Interfaces und zum Bedienen des Versuchsaufbaus uumlber das Internet wird eine Webseite benoumltigt die dem Benutzer alle Bedienelemente des Experiments zur Verfuumlgung stellt

Der Benutzer benoumltigt anklickbare Buttons im Webbrowser

Der Webserver muss die Information welcher Button gedruumlckt wurde empfangen und ein entsprechendes Kommando uumlber die serielle Schnittstelle an das Interface senden

Beide Schritte sind im nachfolgenden PHPHTML-Quellcode zusammengefasst 01 ltDOCTYPE HTML PUBLIC -W3CDTD HTML 401 TransitionalEN httpwwww3orgTRhtml4loosedtdgt 02 lthtmlgt 03 ltheadgt 04 ltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1gt 05 lttitlegtelementares RCLlttitlegt 06 ltheadgt 07 08 ltbodygt 09 ltphp 10 if (isset($_POST[Kommando])) wurde bereits Kommando gesendet 11 if( ( $handle = fopen( COM1 w+ ) ) ) Schnittstelle oumlffnen 12

71

13 throw new Exception( Can not access serial port 2 ) ohne Erfolg 14 15 fwrite( $handle $_POST[Kommando] chr( 13 ) ) Befehl an Interface senden 16 switch ( $_POST[Kommando] ) Antwort von Interface auswerten 17 case LED $tmp = fgets( $handle ) Echo von Interface ignorieren 18 $antwort = fgets( $handle ) Antwort des Interfaces 19 echo Antwort $antwort Ausgabe auf Webseite 20 break switch verlassen 21 22 case SW $tmp = fgets( $handle ) Echo von Interface ignorieren 23 $antwort = fgets( $handle ) Antwort des Interfaces 24 echo Antwort $antwort Ausgabe auf Webseite 25 break switch verlassen 26 27 28 29 fclose( $handle ) Schnittstelle schlieszligen 30 31 else 32 `mode com1 BAUD=9600 PARITY=N data=8 stop=1 xon=off` Schnittstellenparameter setzen 33 34 35 gt 36 37 lth3gtBefehl sendenlth3gt 38 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 39 ltinput type=hidden name=Kommando value=LED ON gt 40 ltinput type=submit value=LED anschalten gt 41 ltformgt 42 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 43 ltinput type=hidden name=Kommando value=LED OFF gt 44 ltinput type=submit value=LED ausschalten gt 45 ltformgt 46 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 47 ltinput type=hidden name=Kommando value=LED gt 48 ltinput type=submit value=LED abfragen gt 49 ltformgt 50 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 51 ltinput type=hidden name=Kommando value=SW gt 52 ltinput type=submit value=Taster abfragen gt 53 ltformgt 54 ltbodygt 55 lthtmlgt Den Quellcode in den Texteditor kopieren und im Ordner htdocs von XAMPP z B unter rclphp speichern HTML-Dateien mit PHP-Code (Zeilen 9-35) muumlssen mit der Erweiterung php gespeichert werden damit der Apache Webserver zwischen HTML-Seiten mit und ohne PHP-Code unterscheiden kann Den installierten Apache Webserver starten (larr 452) und im Adressfeld des Webbrowsers die IP-Adresse http127001rclphp aufrufen Das Bedi-enfeld des elementaren RCLs in Abb 31 wird im Browserfenster angezeigt

72

Abb 31 Laborseite des elementaren RCLs

Im Bedienfeld kann die LED an- und ausgeschaltet sowie der Status von LED und Taster abgefragt werden

  • 0 Warum ein Tutorial zur RCL-Technik
  • 1 Technische Konzeption
    • 11 Einfuumlhrung
    • 12 Wahl der RCL-Technik
      • 2 Lokal gesteuertes RCL
        • 21 Interface
          • 211 Mikrocontroller
          • 212 Basisschaltung und Erweiterungsschaltungen
          • 213 Programmierung des Mikrocontrollers
            • 22 Hyperterminal
            • 23 Positionieren von Objekten
              • 231 Hybrid-Schrittmotoren
              • 232 Schrittmotorsteuerung und Positionierungsmechanik
                  • 3 Ferngesteuertes RCL
                    • 31 RCL-Server
                    • 32 Laborseite
                      • 321 Steuerung des RCLs uumlber das Bedienfeld
                      • 322 Videouumlbertragung im Webcamfeld
                        • 33 Standard-Lernumgebung
                          • 4 ANHANG
                            • 41 Interface in Basisschaltung
                              • 411 Schaltplan und Bauteilliste
                              • 412 Bestuumlckung der Platine
                                • 42 Erweiterungsschaltungen
                                  • 421 Uumlbersicht
                                  • 422 TMC222-Modul zur Schrittmotorsteuerung
                                    • 4221 Schaltplan und Bauteilliste
                                    • 4222 Bestuumlckung der Platine
                                    • 4223 Quellcode des Mikrocontroller-Programms
                                      • 423 Geschaltete Spannungsquellen und Verbraucher
                                      • 424 Steuerung von Gleichstrommotoren
                                        • 43 Quellcodes zum RCL Elektronenbeugung
                                          • 431 Mikrocontroller-Programmierung
                                          • 432 PHP-Programmierung
                                          • 433 Bedienfeld der Laborseite
                                          • 434 Webcamfeld der Laborseite
                                            • 44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung
                                              • 441 AVR-Studio 418
                                                • 4411 Installation
                                                • 4412 Konfiguration
                                                  • 442 BASCOM 11198 Demoversion
                                                    • 4421 Installation
                                                    • 4422 Konfiguration
                                                        • 45 Installation und Konfiguration von Programmen auf dem RCL-Server
                                                          • 451 Einrichten des Internet-Zugangs
                                                          • 452 Paket XAMPP 174
                                                          • 453 Videoserver webcamXP 5 Private
                                                          • 454 Terminalprogramm Hyperterminal
                                                          • 455 Fernwartungssoftware TeamViewer 6 Host
                                                            • 46 Selbstbau eines elementaren RCLs
                                                              • 461 Hard- und Software
                                                              • 462 Bestuumlckung der Platine
                                                              • 463 Lokal gesteuertes RCL
                                                              • 464 Ferngesteuertes RCL

61

WebcamXP unter StartProgramme aufrufen Zugesandte

Lizenz-Daten in das eingeblendete Fenster eingeben und Register waumlhlen

Beim Starten des Programms stellt webcamXP automa-tisch eine Verbindung zu den am Computer angeschlosse-nen Webcams her

Nach dem Start ist Uumlberwachen gewaumlhlt Durch Rechts-klick mit der Maus auf das Videofenster wird zu jeder Vi-deoquelle ein Kontextmenuuml angezeigt Wird kein Videobild dargestellt das Kontextmenuuml aufrufen Art der Videoquelle waumlhlen (hier USB) und unter den erkannten Videoquellen (hier USB-Videogeraumlt) die gewuumlnschte waumlhlen

Das Videoformat muss fuumlr eine passende Darstellung auf

der Laborseite auf 320 x 240 eingestellt sein Ist das nicht der Fall im Kontextmenuuml unter Video Format einstellen

In gleicher Weise kann eine zweite Videoquelle hinzugefuumlgt werden

In der Registerkarte Web Broadcast kann unter

Broadcast (HTTP) der Videoserver mit Ausschalten ge-stoppt und mit Aktivieren gestartet werden

Zur Zielwahl des Webservers (131246237167 - Internet D16W3X3J - Computer 127001 - Local Host) Videoser-ver stoppen und einstellen Videoserver wieder starten

62

454 Terminalprogramm Hyperterminal Hyperterminal in Windows XP Professional unter StartProgrammeZubehoumlrKommunikation aufrufen

Name der neuen Verbindung - z B Interface - eingeben

und OK waumlhlen Die Verbindung zwischen Computer und Interface wurde

uumlber einen USB-Seriell-Adapter hergestellt Dann erschei-nen zwei zusaumltzliche Eintraumlge (Motorola Comp Modem und COM5) in der Liste Prinzipiell muss eine COMx-Verbindung gewaumlhlt werden

Eigenschaften von COM 5 wie im Bild einstellen und OK

waumlhlen DateiEigenschaften aufrufen und ASCII-Konfiguration

waumlhlen

63

Haken bei Eingegebene Zeichen lokal ausgeben (lokales

Echo) setzen um eingegebenen Zeichen im Hyperterminal zu sehen

Bei funktionsfaumlhiger Verbindung erscheint nach Eingabe von Return die Befehlsliste des Interface

Durch Aufrufen von DateiSpeichern die erstellte Verbin-

dung z B auf dem Desktop speichern Dadurch braucht die Verbindung nicht immer wieder von neuem konfiguriert wer-den

Nach Aufrufen von DateiBeenden die bestehende Verbin-dung mit Ja beenden

64

Wurde ein falscher COM-Port gewaumlhlt reagiert das Inter-

face auf die Eingabe Return nicht Hyperterminal dann beenden

Der COM-Port kann dann nicht unter DateiEigenschaften im Hyperterminal aber unter Eigenschaften des Kontext-menuumls der Datei Interfaceht in der Registerkarte Verbin-den mit geaumlndert werden Dann OK waumlhlen und erneut Verbindung testen

65

455 Fernwartungssoftware TeamViewer 6 Host Auf der Webseite von Teamviewer GmbH unter Fuumlr unbeaufsichtigte Server TeamViewer Vollversion die Datei TeamViewer_Setup-wq herunterladen Das Programm muss auf dem RCL-Server und dem Computer der auf den RCL-Server zugreifen soll installiert werden Durch Doppelklick auf die Datei die Installation starten

Ausfuumlhren waumlhlen Weiter waumlhlen

Fuumlr die private nicht kommerzielle Nutzung ist Teamviewer kostenlos

privat nicht-kommerziell und Weiter waumlhlen

Beide Haumlkchen setzen und Weiter waumlhlen

66

Ja un Weiter waumlhlen Weiter

Computername und Kennwort fuumlr den Zugriff auf den RCL-Server oder den eigenen Computer vergeben Kenn wort notie-ren

Ein Teamviewerkonto ist nicht erforderlich Kann auch spaumlter noch eingerichtet werden

ID fuumlr den Computer auf dem das Programm installiert wird fuumlr Zugriff notieren

Das Programm wird gestartet Standardmaumlszligig vorein-gestellt ist der Start des Programms beim Start des Be-trienssystems

67

46 Selbstbau eines elementaren RCLs 461 Hard- und Software Auch ohne gleich ein vielleicht teures physikalisches Experiment zu steuern laumlsst sich mit wenigen Bauelementen ein elementares RCL realisieren Von einer Webseite im Internet sol-len eine Leuchtdiode (LED) ein- oder ausgeschaltet sowie der Zustand der Leuchtdiode und eines Tasters abgefragt werden An Hard- und Software werden benoumltigt

1 Low-Current-LED 5 mm 2 mA 1 Widerstand 18 kΩ 1 Taster und optional zwei 10-polige Wannenstecker mit ungefaumlhr 10 cm passendem Flachbandkabel und Buchsen

Interface in Basisschaltung Null-Modem-Kabel 12 V DC Steckernetzteil (larr 1)

Installierte Bascom-Demo-Version (larr 42)

AVR ISP-Programmer mit 10-poligem Programmierkabel

Installiertes und konfiguriertes AVR Studio 418 (larr 41)

Installiertes Paket XAMPP (larr 52)

Texteditor wie z B Notepad in Windows XP Professional

Konfigurierte Hyperterminalverbindung (larr 54)

462 Bestuumlckung der Platine Abb 29 zeigt zur Orientierung fuumlr das Einloumlten der Bauelemente die fertig bestuumlckte Platine des Interface

Abb 29 Mit elementarem RCL bestuumlckte Platine

des Interface

LED mit Vorwiderstand und der Taster sind rechts neben dem Mikrocontroller im Lochraster-bereich aufgebaut und uumlber Wannenstecker und Flachbandkabel mit dem Port A des Mikro-controllers verbunden (die drei Bauteile rechts neben dem ATmega16 werden nicht benouml-tigt) Tab 13 erlaumlutert die Schritte zur Bestuumlckung der Platine des Interface

68

Nr Schaltung Erlaumluterung

1

Die Leuchtdiode (LED) mit dem Pluspol (langes Beinchen) an PortA0 (PIN40 oben rechts) des Mikrocontrollers anloumlten

An das kurze Beinchen einen 18kΩ Widerstand loumlten dessen anderes Ende mit der Masse (GND) verbinden

2

Den Taster mit PortA1 (PIN39 = 2 Beinchen von oben rechts) und Masse (GND) verbinden

3

Draufsicht

Belegung des 10-poligen Wannensteckers 1 GND (Masse) im Foto oben links 2 +5 V 3 PortA0 4 PortA1 10 PortA7 im Foto unten rechts

Tab 13 Schritte zum Aufbau des elementaren RCLs

463 Lokal gesteuertes RCL Nachfolgend ist der Basic-Programmcode des Mikrocontrollers zur Steuerung und Abfrage der LED und des Tasters angegeben 01 $regfile = m16DEFdat Microcontroller ATmega16 02 $crystal = 11059200 110592MHz Quarz 03 $baud = 9600 Baudrate 04 05 ---[ Variables ]--------------------------------------------------------------- 06 Dim Rs232kommando As String 10 erst Befehlspuffer dann Kommando 07 Dim Parameter As String 10 Parameter 08 Dim Str_pos As Byte Position von Leerzeichen zur Trennung von Kommando und Pa-rameter 09 10 ---[ Initialisierung ]--------------------------------------------------------- 11 Ddra0 = 1 PortA0 als Ausgang fuumlr LED 12 Porta0 = 0 LED aus 13 Ddra1 = 0 PortA1 als Eingang fuumlr Taster 14 Porta1 = 1 Pull-Up aktivieren 15 16 ---[ Main program loop ]------------------------------------------------------- 17 Do Start der Endlos-Schleife 18 19 If Ischarwaiting() = 1 Then Zeichen uumlber RS232 empfangen 20 Input Rs232kommando neues Kommando lesen 21 Parameter = Parameter initialisieren 22 Str_pos = Instr(rs232kommando ) Leerzeichen im Kommando suchen 23 If Str_pos gt 0 Then falls Leerzeichen dann in Kommando+Parameter zerlegen 24 Incr Str_pos Str_pos soll jetzt auf 1Zeichen des Parameters zeigen 25 Parameter = Mid(rs232kommando Str_pos ) Parameter = Teilstring nach Leerzeichen 26 Parameter = Ucase(parameter) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 27 Str_pos = Str_pos - 2 Str_pos soll jetzt auf letztes Zeichen des Kommandos zeigen 28 Rs232kommando = Left(rs232kommando Str_pos)Kommando = Teilstring vor Leerzeichen 29 Rs232kommando = Ucase(rs232kommando) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 30 End If 31 32 Select Case Rs232kommando Eventhandler Interpretation der Kommandos 33 Case Print Hilfe Hilfeseite anzeigen 34 Print LED on - LED einschalten 35 Print LED off - LED ausschalten 36 Print LED - zeigt Status der LED an 37 Print SW - zeigt Status des Schalters an 38

1K8

LED rotmicroC PortA0(PIN40)

Taster

microC PortA1(PIN39)

1

3

2

69

39 Case LED If Parameter = ON Then LED schalten 40 Porta0 = 1 41 End If 42 If Parameter = OFF Then 43 Porta0 = 0 44 End If 45 46 Case LED If Porta0 = 0 Then Status der LED ausgeben 47 Print LED aus 48 Else 49 Print LED an 50 End If 51 52 Case SW If Pina1 = 1 Then Status des Schalters ausgeben 53 Print Taster offen 54 Else 55 Print Taster geschlossen 56 End If 57 58 Case Else Print gt Rs232kommando lt ungueltiger Befehl - weitere Infos mit Info bei unguumlltigen Eingaben 59 End Select 60 61 End If 62 63 Loop Endlos-Schleife Springe zu Do 64 65 End wird nie erreicht

Der erste Teil des Programms (Zeilen 1 - 15) enthaumllt die Systemparameter Variablen und Initialisierung der Ein- und Ausgaumlnge Der zweite Teil enthaumllt ab Zeile 17 das Hauptpro-gramm in dem Benutzereingaben uumlber die serielle Schnittstelle empfangen interpretiert und in entsprechende Anweisungen umgesetzt werden Tab 14 erlaumlutert den Programmcode de-taillierter

Zeilen Erlaumluterung

1 - 3 Diese Angaben teilen dem Compiler (Bascom) mit welcher Prozessor eingesetzt wird wie schnell dieser getaktet (Quarz) ist und mit welcher Uumlbertragungsgeschwindigkeit die Kommunikation uumlber die serielle Schnittstelle (RS232) mit dem PC erfolgen soll

6 - 8 Es werden drei Variablen genutzt Die Eingabe uumlber die serielle Schnittstelle wird in rs232kommando gespeichert Es wird ein Text der Form Kommando ltLeerzeichengt Parameter erwartet so dass die Variable Parameter den-selbigen aufnimmt Die Variable str_pos wird fuumlr die Trennung von Kommando und Parameter benoumltigt

11 - 14

Mit dem Befehl ddrPX (ddr = data direction) wird festgelegt ob ein Beinchen als Ausgang (=1) oder als Eingang (=0) arbeiten soll Der ATmega16 besitzt 32 Ein-Ausgaumlnge die in vier Ports (P=AD) zu je 8 Pins (X=07) unterteilt sind ddrA0 = 1 legt also das 1 Beinchen (Pin 0) von PortA als Ausgang (=1) fest Mit dem Befehl PortA0 =1 kann dieser Pin dann durch Zuweisen von 1 oder 0 an- bzw ausgeschaltet werden Im Datenblatt erfahren Sie welches der 40 Beinchen des Mikrocontrollers wie bezeichnet wird (Pin-Belegung) Wird ein Beinchen als Eingang verwendet (ddrA1 = 0) koumlnnen Sie optional einen so genannten Pull-Up-Widerstand aktivieren (PortA1=1) oder deaktivieren (PortA1=0) Auch hierzu sollten Sie sich unbedingt mit dem Datenblatt vertraut machen

17 63 Das Hauptprogramm besteht aus einer Endlosschleife d h der Mikrocontroller verrichtet ununterbrochen seinen Job so lange er mit Strom versorgt wird

19 - 30 Falls ein Zeichen uumlber die serielle Schnittstelle empfangen wurde wird dieses und alle folgenden gelesen Anschlie-szligend wird gepruumlft ob der empfangene Text von der Form Kommando ltLeerzeichengt Parameter ist so dass er ge-gebenenfalls in ein Kommando und einen Parameter zerlegt werden kann

32 - 59 Dieser Abschnitt wird mit Event-Handler bezeichnet Hier wird auf die Kommandos (Events) reagiert und die ent-sprechenden Schritte ausgefuumlhrt zB schalten LED je nach Wert der Variablen Parameter an- bzw ausschalten

46 52

In beiden Zeilen wird ein Wert eines Ports abgefragt Unterschiedlich ist dass in Zeile 46 der Status eines Ausgangs abgefragt wird (porta0) und in Zeile 52 der Zustand eines Eingangs (pina0) Die Anweisung IF porta0 = 0 THEN pruumlft (hier ist = ein Vergleich und KEINE Zuweisung) ob zuletzt die LED ausgeschaltet (Zuweisung porta0 = 0) wurde Die Anweisung IF pina1= 1 THEN liest den Status eines Eingangs Hier kann festgestellt werden ob der Eingang uumlber den internen Pull-UP-Widerstand auf +5V liegt (pina1 liefert 1) oder ob der Schalter den Eingang mit Masse (0V) verbindet (pina1 liefert 0)

Tab 14 Erlaumluterung des Mikrocontroller-Programmcodes fuumlr elementares RCL

70

In Bascom AVR eine neue Datei erzeugen (FileNew) den Programmcode ohne Kommenta-re eingeben und mit ProgramCompile (F7) eine Hexadezimaldatei erzeugen Die Hexadezi-maldatei mit dem AVR-Studio und dem AVR-ISP-Programmer in den Mikrocontroller schrei-ben (larr 222 Programmuumlbertragung) Nach dem Verbinden von Computer und Interface per Null-Modem-Kabel kann durch Eingabe von in das konfigurierte Hyperterminal die Befehls-liste in Abb 30 aufgerufen werden

Abb 30 Aufgerufene Befehlsliste im Hyperterminal

Durch Eingabe von LED on oder LED off kann die LED ein- und ausgeschaltet LED zeigt den Status der LED und sw den Status des Tasters an Alternativ zum Hyperterminal kann auch das Terminal in BASCOM unter ToolsTerminal Emulator verwendet werden (larr 422)

464 Ferngesteuertes RCL Zum Ansteuern des Interfaces und zum Bedienen des Versuchsaufbaus uumlber das Internet wird eine Webseite benoumltigt die dem Benutzer alle Bedienelemente des Experiments zur Verfuumlgung stellt

Der Benutzer benoumltigt anklickbare Buttons im Webbrowser

Der Webserver muss die Information welcher Button gedruumlckt wurde empfangen und ein entsprechendes Kommando uumlber die serielle Schnittstelle an das Interface senden

Beide Schritte sind im nachfolgenden PHPHTML-Quellcode zusammengefasst 01 ltDOCTYPE HTML PUBLIC -W3CDTD HTML 401 TransitionalEN httpwwww3orgTRhtml4loosedtdgt 02 lthtmlgt 03 ltheadgt 04 ltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1gt 05 lttitlegtelementares RCLlttitlegt 06 ltheadgt 07 08 ltbodygt 09 ltphp 10 if (isset($_POST[Kommando])) wurde bereits Kommando gesendet 11 if( ( $handle = fopen( COM1 w+ ) ) ) Schnittstelle oumlffnen 12

71

13 throw new Exception( Can not access serial port 2 ) ohne Erfolg 14 15 fwrite( $handle $_POST[Kommando] chr( 13 ) ) Befehl an Interface senden 16 switch ( $_POST[Kommando] ) Antwort von Interface auswerten 17 case LED $tmp = fgets( $handle ) Echo von Interface ignorieren 18 $antwort = fgets( $handle ) Antwort des Interfaces 19 echo Antwort $antwort Ausgabe auf Webseite 20 break switch verlassen 21 22 case SW $tmp = fgets( $handle ) Echo von Interface ignorieren 23 $antwort = fgets( $handle ) Antwort des Interfaces 24 echo Antwort $antwort Ausgabe auf Webseite 25 break switch verlassen 26 27 28 29 fclose( $handle ) Schnittstelle schlieszligen 30 31 else 32 `mode com1 BAUD=9600 PARITY=N data=8 stop=1 xon=off` Schnittstellenparameter setzen 33 34 35 gt 36 37 lth3gtBefehl sendenlth3gt 38 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 39 ltinput type=hidden name=Kommando value=LED ON gt 40 ltinput type=submit value=LED anschalten gt 41 ltformgt 42 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 43 ltinput type=hidden name=Kommando value=LED OFF gt 44 ltinput type=submit value=LED ausschalten gt 45 ltformgt 46 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 47 ltinput type=hidden name=Kommando value=LED gt 48 ltinput type=submit value=LED abfragen gt 49 ltformgt 50 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 51 ltinput type=hidden name=Kommando value=SW gt 52 ltinput type=submit value=Taster abfragen gt 53 ltformgt 54 ltbodygt 55 lthtmlgt Den Quellcode in den Texteditor kopieren und im Ordner htdocs von XAMPP z B unter rclphp speichern HTML-Dateien mit PHP-Code (Zeilen 9-35) muumlssen mit der Erweiterung php gespeichert werden damit der Apache Webserver zwischen HTML-Seiten mit und ohne PHP-Code unterscheiden kann Den installierten Apache Webserver starten (larr 452) und im Adressfeld des Webbrowsers die IP-Adresse http127001rclphp aufrufen Das Bedi-enfeld des elementaren RCLs in Abb 31 wird im Browserfenster angezeigt

72

Abb 31 Laborseite des elementaren RCLs

Im Bedienfeld kann die LED an- und ausgeschaltet sowie der Status von LED und Taster abgefragt werden

  • 0 Warum ein Tutorial zur RCL-Technik
  • 1 Technische Konzeption
    • 11 Einfuumlhrung
    • 12 Wahl der RCL-Technik
      • 2 Lokal gesteuertes RCL
        • 21 Interface
          • 211 Mikrocontroller
          • 212 Basisschaltung und Erweiterungsschaltungen
          • 213 Programmierung des Mikrocontrollers
            • 22 Hyperterminal
            • 23 Positionieren von Objekten
              • 231 Hybrid-Schrittmotoren
              • 232 Schrittmotorsteuerung und Positionierungsmechanik
                  • 3 Ferngesteuertes RCL
                    • 31 RCL-Server
                    • 32 Laborseite
                      • 321 Steuerung des RCLs uumlber das Bedienfeld
                      • 322 Videouumlbertragung im Webcamfeld
                        • 33 Standard-Lernumgebung
                          • 4 ANHANG
                            • 41 Interface in Basisschaltung
                              • 411 Schaltplan und Bauteilliste
                              • 412 Bestuumlckung der Platine
                                • 42 Erweiterungsschaltungen
                                  • 421 Uumlbersicht
                                  • 422 TMC222-Modul zur Schrittmotorsteuerung
                                    • 4221 Schaltplan und Bauteilliste
                                    • 4222 Bestuumlckung der Platine
                                    • 4223 Quellcode des Mikrocontroller-Programms
                                      • 423 Geschaltete Spannungsquellen und Verbraucher
                                      • 424 Steuerung von Gleichstrommotoren
                                        • 43 Quellcodes zum RCL Elektronenbeugung
                                          • 431 Mikrocontroller-Programmierung
                                          • 432 PHP-Programmierung
                                          • 433 Bedienfeld der Laborseite
                                          • 434 Webcamfeld der Laborseite
                                            • 44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung
                                              • 441 AVR-Studio 418
                                                • 4411 Installation
                                                • 4412 Konfiguration
                                                  • 442 BASCOM 11198 Demoversion
                                                    • 4421 Installation
                                                    • 4422 Konfiguration
                                                        • 45 Installation und Konfiguration von Programmen auf dem RCL-Server
                                                          • 451 Einrichten des Internet-Zugangs
                                                          • 452 Paket XAMPP 174
                                                          • 453 Videoserver webcamXP 5 Private
                                                          • 454 Terminalprogramm Hyperterminal
                                                          • 455 Fernwartungssoftware TeamViewer 6 Host
                                                            • 46 Selbstbau eines elementaren RCLs
                                                              • 461 Hard- und Software
                                                              • 462 Bestuumlckung der Platine
                                                              • 463 Lokal gesteuertes RCL
                                                              • 464 Ferngesteuertes RCL

62

454 Terminalprogramm Hyperterminal Hyperterminal in Windows XP Professional unter StartProgrammeZubehoumlrKommunikation aufrufen

Name der neuen Verbindung - z B Interface - eingeben

und OK waumlhlen Die Verbindung zwischen Computer und Interface wurde

uumlber einen USB-Seriell-Adapter hergestellt Dann erschei-nen zwei zusaumltzliche Eintraumlge (Motorola Comp Modem und COM5) in der Liste Prinzipiell muss eine COMx-Verbindung gewaumlhlt werden

Eigenschaften von COM 5 wie im Bild einstellen und OK

waumlhlen DateiEigenschaften aufrufen und ASCII-Konfiguration

waumlhlen

63

Haken bei Eingegebene Zeichen lokal ausgeben (lokales

Echo) setzen um eingegebenen Zeichen im Hyperterminal zu sehen

Bei funktionsfaumlhiger Verbindung erscheint nach Eingabe von Return die Befehlsliste des Interface

Durch Aufrufen von DateiSpeichern die erstellte Verbin-

dung z B auf dem Desktop speichern Dadurch braucht die Verbindung nicht immer wieder von neuem konfiguriert wer-den

Nach Aufrufen von DateiBeenden die bestehende Verbin-dung mit Ja beenden

64

Wurde ein falscher COM-Port gewaumlhlt reagiert das Inter-

face auf die Eingabe Return nicht Hyperterminal dann beenden

Der COM-Port kann dann nicht unter DateiEigenschaften im Hyperterminal aber unter Eigenschaften des Kontext-menuumls der Datei Interfaceht in der Registerkarte Verbin-den mit geaumlndert werden Dann OK waumlhlen und erneut Verbindung testen

65

455 Fernwartungssoftware TeamViewer 6 Host Auf der Webseite von Teamviewer GmbH unter Fuumlr unbeaufsichtigte Server TeamViewer Vollversion die Datei TeamViewer_Setup-wq herunterladen Das Programm muss auf dem RCL-Server und dem Computer der auf den RCL-Server zugreifen soll installiert werden Durch Doppelklick auf die Datei die Installation starten

Ausfuumlhren waumlhlen Weiter waumlhlen

Fuumlr die private nicht kommerzielle Nutzung ist Teamviewer kostenlos

privat nicht-kommerziell und Weiter waumlhlen

Beide Haumlkchen setzen und Weiter waumlhlen

66

Ja un Weiter waumlhlen Weiter

Computername und Kennwort fuumlr den Zugriff auf den RCL-Server oder den eigenen Computer vergeben Kenn wort notie-ren

Ein Teamviewerkonto ist nicht erforderlich Kann auch spaumlter noch eingerichtet werden

ID fuumlr den Computer auf dem das Programm installiert wird fuumlr Zugriff notieren

Das Programm wird gestartet Standardmaumlszligig vorein-gestellt ist der Start des Programms beim Start des Be-trienssystems

67

46 Selbstbau eines elementaren RCLs 461 Hard- und Software Auch ohne gleich ein vielleicht teures physikalisches Experiment zu steuern laumlsst sich mit wenigen Bauelementen ein elementares RCL realisieren Von einer Webseite im Internet sol-len eine Leuchtdiode (LED) ein- oder ausgeschaltet sowie der Zustand der Leuchtdiode und eines Tasters abgefragt werden An Hard- und Software werden benoumltigt

1 Low-Current-LED 5 mm 2 mA 1 Widerstand 18 kΩ 1 Taster und optional zwei 10-polige Wannenstecker mit ungefaumlhr 10 cm passendem Flachbandkabel und Buchsen

Interface in Basisschaltung Null-Modem-Kabel 12 V DC Steckernetzteil (larr 1)

Installierte Bascom-Demo-Version (larr 42)

AVR ISP-Programmer mit 10-poligem Programmierkabel

Installiertes und konfiguriertes AVR Studio 418 (larr 41)

Installiertes Paket XAMPP (larr 52)

Texteditor wie z B Notepad in Windows XP Professional

Konfigurierte Hyperterminalverbindung (larr 54)

462 Bestuumlckung der Platine Abb 29 zeigt zur Orientierung fuumlr das Einloumlten der Bauelemente die fertig bestuumlckte Platine des Interface

Abb 29 Mit elementarem RCL bestuumlckte Platine

des Interface

LED mit Vorwiderstand und der Taster sind rechts neben dem Mikrocontroller im Lochraster-bereich aufgebaut und uumlber Wannenstecker und Flachbandkabel mit dem Port A des Mikro-controllers verbunden (die drei Bauteile rechts neben dem ATmega16 werden nicht benouml-tigt) Tab 13 erlaumlutert die Schritte zur Bestuumlckung der Platine des Interface

68

Nr Schaltung Erlaumluterung

1

Die Leuchtdiode (LED) mit dem Pluspol (langes Beinchen) an PortA0 (PIN40 oben rechts) des Mikrocontrollers anloumlten

An das kurze Beinchen einen 18kΩ Widerstand loumlten dessen anderes Ende mit der Masse (GND) verbinden

2

Den Taster mit PortA1 (PIN39 = 2 Beinchen von oben rechts) und Masse (GND) verbinden

3

Draufsicht

Belegung des 10-poligen Wannensteckers 1 GND (Masse) im Foto oben links 2 +5 V 3 PortA0 4 PortA1 10 PortA7 im Foto unten rechts

Tab 13 Schritte zum Aufbau des elementaren RCLs

463 Lokal gesteuertes RCL Nachfolgend ist der Basic-Programmcode des Mikrocontrollers zur Steuerung und Abfrage der LED und des Tasters angegeben 01 $regfile = m16DEFdat Microcontroller ATmega16 02 $crystal = 11059200 110592MHz Quarz 03 $baud = 9600 Baudrate 04 05 ---[ Variables ]--------------------------------------------------------------- 06 Dim Rs232kommando As String 10 erst Befehlspuffer dann Kommando 07 Dim Parameter As String 10 Parameter 08 Dim Str_pos As Byte Position von Leerzeichen zur Trennung von Kommando und Pa-rameter 09 10 ---[ Initialisierung ]--------------------------------------------------------- 11 Ddra0 = 1 PortA0 als Ausgang fuumlr LED 12 Porta0 = 0 LED aus 13 Ddra1 = 0 PortA1 als Eingang fuumlr Taster 14 Porta1 = 1 Pull-Up aktivieren 15 16 ---[ Main program loop ]------------------------------------------------------- 17 Do Start der Endlos-Schleife 18 19 If Ischarwaiting() = 1 Then Zeichen uumlber RS232 empfangen 20 Input Rs232kommando neues Kommando lesen 21 Parameter = Parameter initialisieren 22 Str_pos = Instr(rs232kommando ) Leerzeichen im Kommando suchen 23 If Str_pos gt 0 Then falls Leerzeichen dann in Kommando+Parameter zerlegen 24 Incr Str_pos Str_pos soll jetzt auf 1Zeichen des Parameters zeigen 25 Parameter = Mid(rs232kommando Str_pos ) Parameter = Teilstring nach Leerzeichen 26 Parameter = Ucase(parameter) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 27 Str_pos = Str_pos - 2 Str_pos soll jetzt auf letztes Zeichen des Kommandos zeigen 28 Rs232kommando = Left(rs232kommando Str_pos)Kommando = Teilstring vor Leerzeichen 29 Rs232kommando = Ucase(rs232kommando) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 30 End If 31 32 Select Case Rs232kommando Eventhandler Interpretation der Kommandos 33 Case Print Hilfe Hilfeseite anzeigen 34 Print LED on - LED einschalten 35 Print LED off - LED ausschalten 36 Print LED - zeigt Status der LED an 37 Print SW - zeigt Status des Schalters an 38

1K8

LED rotmicroC PortA0(PIN40)

Taster

microC PortA1(PIN39)

1

3

2

69

39 Case LED If Parameter = ON Then LED schalten 40 Porta0 = 1 41 End If 42 If Parameter = OFF Then 43 Porta0 = 0 44 End If 45 46 Case LED If Porta0 = 0 Then Status der LED ausgeben 47 Print LED aus 48 Else 49 Print LED an 50 End If 51 52 Case SW If Pina1 = 1 Then Status des Schalters ausgeben 53 Print Taster offen 54 Else 55 Print Taster geschlossen 56 End If 57 58 Case Else Print gt Rs232kommando lt ungueltiger Befehl - weitere Infos mit Info bei unguumlltigen Eingaben 59 End Select 60 61 End If 62 63 Loop Endlos-Schleife Springe zu Do 64 65 End wird nie erreicht

Der erste Teil des Programms (Zeilen 1 - 15) enthaumllt die Systemparameter Variablen und Initialisierung der Ein- und Ausgaumlnge Der zweite Teil enthaumllt ab Zeile 17 das Hauptpro-gramm in dem Benutzereingaben uumlber die serielle Schnittstelle empfangen interpretiert und in entsprechende Anweisungen umgesetzt werden Tab 14 erlaumlutert den Programmcode de-taillierter

Zeilen Erlaumluterung

1 - 3 Diese Angaben teilen dem Compiler (Bascom) mit welcher Prozessor eingesetzt wird wie schnell dieser getaktet (Quarz) ist und mit welcher Uumlbertragungsgeschwindigkeit die Kommunikation uumlber die serielle Schnittstelle (RS232) mit dem PC erfolgen soll

6 - 8 Es werden drei Variablen genutzt Die Eingabe uumlber die serielle Schnittstelle wird in rs232kommando gespeichert Es wird ein Text der Form Kommando ltLeerzeichengt Parameter erwartet so dass die Variable Parameter den-selbigen aufnimmt Die Variable str_pos wird fuumlr die Trennung von Kommando und Parameter benoumltigt

11 - 14

Mit dem Befehl ddrPX (ddr = data direction) wird festgelegt ob ein Beinchen als Ausgang (=1) oder als Eingang (=0) arbeiten soll Der ATmega16 besitzt 32 Ein-Ausgaumlnge die in vier Ports (P=AD) zu je 8 Pins (X=07) unterteilt sind ddrA0 = 1 legt also das 1 Beinchen (Pin 0) von PortA als Ausgang (=1) fest Mit dem Befehl PortA0 =1 kann dieser Pin dann durch Zuweisen von 1 oder 0 an- bzw ausgeschaltet werden Im Datenblatt erfahren Sie welches der 40 Beinchen des Mikrocontrollers wie bezeichnet wird (Pin-Belegung) Wird ein Beinchen als Eingang verwendet (ddrA1 = 0) koumlnnen Sie optional einen so genannten Pull-Up-Widerstand aktivieren (PortA1=1) oder deaktivieren (PortA1=0) Auch hierzu sollten Sie sich unbedingt mit dem Datenblatt vertraut machen

17 63 Das Hauptprogramm besteht aus einer Endlosschleife d h der Mikrocontroller verrichtet ununterbrochen seinen Job so lange er mit Strom versorgt wird

19 - 30 Falls ein Zeichen uumlber die serielle Schnittstelle empfangen wurde wird dieses und alle folgenden gelesen Anschlie-szligend wird gepruumlft ob der empfangene Text von der Form Kommando ltLeerzeichengt Parameter ist so dass er ge-gebenenfalls in ein Kommando und einen Parameter zerlegt werden kann

32 - 59 Dieser Abschnitt wird mit Event-Handler bezeichnet Hier wird auf die Kommandos (Events) reagiert und die ent-sprechenden Schritte ausgefuumlhrt zB schalten LED je nach Wert der Variablen Parameter an- bzw ausschalten

46 52

In beiden Zeilen wird ein Wert eines Ports abgefragt Unterschiedlich ist dass in Zeile 46 der Status eines Ausgangs abgefragt wird (porta0) und in Zeile 52 der Zustand eines Eingangs (pina0) Die Anweisung IF porta0 = 0 THEN pruumlft (hier ist = ein Vergleich und KEINE Zuweisung) ob zuletzt die LED ausgeschaltet (Zuweisung porta0 = 0) wurde Die Anweisung IF pina1= 1 THEN liest den Status eines Eingangs Hier kann festgestellt werden ob der Eingang uumlber den internen Pull-UP-Widerstand auf +5V liegt (pina1 liefert 1) oder ob der Schalter den Eingang mit Masse (0V) verbindet (pina1 liefert 0)

Tab 14 Erlaumluterung des Mikrocontroller-Programmcodes fuumlr elementares RCL

70

In Bascom AVR eine neue Datei erzeugen (FileNew) den Programmcode ohne Kommenta-re eingeben und mit ProgramCompile (F7) eine Hexadezimaldatei erzeugen Die Hexadezi-maldatei mit dem AVR-Studio und dem AVR-ISP-Programmer in den Mikrocontroller schrei-ben (larr 222 Programmuumlbertragung) Nach dem Verbinden von Computer und Interface per Null-Modem-Kabel kann durch Eingabe von in das konfigurierte Hyperterminal die Befehls-liste in Abb 30 aufgerufen werden

Abb 30 Aufgerufene Befehlsliste im Hyperterminal

Durch Eingabe von LED on oder LED off kann die LED ein- und ausgeschaltet LED zeigt den Status der LED und sw den Status des Tasters an Alternativ zum Hyperterminal kann auch das Terminal in BASCOM unter ToolsTerminal Emulator verwendet werden (larr 422)

464 Ferngesteuertes RCL Zum Ansteuern des Interfaces und zum Bedienen des Versuchsaufbaus uumlber das Internet wird eine Webseite benoumltigt die dem Benutzer alle Bedienelemente des Experiments zur Verfuumlgung stellt

Der Benutzer benoumltigt anklickbare Buttons im Webbrowser

Der Webserver muss die Information welcher Button gedruumlckt wurde empfangen und ein entsprechendes Kommando uumlber die serielle Schnittstelle an das Interface senden

Beide Schritte sind im nachfolgenden PHPHTML-Quellcode zusammengefasst 01 ltDOCTYPE HTML PUBLIC -W3CDTD HTML 401 TransitionalEN httpwwww3orgTRhtml4loosedtdgt 02 lthtmlgt 03 ltheadgt 04 ltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1gt 05 lttitlegtelementares RCLlttitlegt 06 ltheadgt 07 08 ltbodygt 09 ltphp 10 if (isset($_POST[Kommando])) wurde bereits Kommando gesendet 11 if( ( $handle = fopen( COM1 w+ ) ) ) Schnittstelle oumlffnen 12

71

13 throw new Exception( Can not access serial port 2 ) ohne Erfolg 14 15 fwrite( $handle $_POST[Kommando] chr( 13 ) ) Befehl an Interface senden 16 switch ( $_POST[Kommando] ) Antwort von Interface auswerten 17 case LED $tmp = fgets( $handle ) Echo von Interface ignorieren 18 $antwort = fgets( $handle ) Antwort des Interfaces 19 echo Antwort $antwort Ausgabe auf Webseite 20 break switch verlassen 21 22 case SW $tmp = fgets( $handle ) Echo von Interface ignorieren 23 $antwort = fgets( $handle ) Antwort des Interfaces 24 echo Antwort $antwort Ausgabe auf Webseite 25 break switch verlassen 26 27 28 29 fclose( $handle ) Schnittstelle schlieszligen 30 31 else 32 `mode com1 BAUD=9600 PARITY=N data=8 stop=1 xon=off` Schnittstellenparameter setzen 33 34 35 gt 36 37 lth3gtBefehl sendenlth3gt 38 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 39 ltinput type=hidden name=Kommando value=LED ON gt 40 ltinput type=submit value=LED anschalten gt 41 ltformgt 42 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 43 ltinput type=hidden name=Kommando value=LED OFF gt 44 ltinput type=submit value=LED ausschalten gt 45 ltformgt 46 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 47 ltinput type=hidden name=Kommando value=LED gt 48 ltinput type=submit value=LED abfragen gt 49 ltformgt 50 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 51 ltinput type=hidden name=Kommando value=SW gt 52 ltinput type=submit value=Taster abfragen gt 53 ltformgt 54 ltbodygt 55 lthtmlgt Den Quellcode in den Texteditor kopieren und im Ordner htdocs von XAMPP z B unter rclphp speichern HTML-Dateien mit PHP-Code (Zeilen 9-35) muumlssen mit der Erweiterung php gespeichert werden damit der Apache Webserver zwischen HTML-Seiten mit und ohne PHP-Code unterscheiden kann Den installierten Apache Webserver starten (larr 452) und im Adressfeld des Webbrowsers die IP-Adresse http127001rclphp aufrufen Das Bedi-enfeld des elementaren RCLs in Abb 31 wird im Browserfenster angezeigt

72

Abb 31 Laborseite des elementaren RCLs

Im Bedienfeld kann die LED an- und ausgeschaltet sowie der Status von LED und Taster abgefragt werden

  • 0 Warum ein Tutorial zur RCL-Technik
  • 1 Technische Konzeption
    • 11 Einfuumlhrung
    • 12 Wahl der RCL-Technik
      • 2 Lokal gesteuertes RCL
        • 21 Interface
          • 211 Mikrocontroller
          • 212 Basisschaltung und Erweiterungsschaltungen
          • 213 Programmierung des Mikrocontrollers
            • 22 Hyperterminal
            • 23 Positionieren von Objekten
              • 231 Hybrid-Schrittmotoren
              • 232 Schrittmotorsteuerung und Positionierungsmechanik
                  • 3 Ferngesteuertes RCL
                    • 31 RCL-Server
                    • 32 Laborseite
                      • 321 Steuerung des RCLs uumlber das Bedienfeld
                      • 322 Videouumlbertragung im Webcamfeld
                        • 33 Standard-Lernumgebung
                          • 4 ANHANG
                            • 41 Interface in Basisschaltung
                              • 411 Schaltplan und Bauteilliste
                              • 412 Bestuumlckung der Platine
                                • 42 Erweiterungsschaltungen
                                  • 421 Uumlbersicht
                                  • 422 TMC222-Modul zur Schrittmotorsteuerung
                                    • 4221 Schaltplan und Bauteilliste
                                    • 4222 Bestuumlckung der Platine
                                    • 4223 Quellcode des Mikrocontroller-Programms
                                      • 423 Geschaltete Spannungsquellen und Verbraucher
                                      • 424 Steuerung von Gleichstrommotoren
                                        • 43 Quellcodes zum RCL Elektronenbeugung
                                          • 431 Mikrocontroller-Programmierung
                                          • 432 PHP-Programmierung
                                          • 433 Bedienfeld der Laborseite
                                          • 434 Webcamfeld der Laborseite
                                            • 44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung
                                              • 441 AVR-Studio 418
                                                • 4411 Installation
                                                • 4412 Konfiguration
                                                  • 442 BASCOM 11198 Demoversion
                                                    • 4421 Installation
                                                    • 4422 Konfiguration
                                                        • 45 Installation und Konfiguration von Programmen auf dem RCL-Server
                                                          • 451 Einrichten des Internet-Zugangs
                                                          • 452 Paket XAMPP 174
                                                          • 453 Videoserver webcamXP 5 Private
                                                          • 454 Terminalprogramm Hyperterminal
                                                          • 455 Fernwartungssoftware TeamViewer 6 Host
                                                            • 46 Selbstbau eines elementaren RCLs
                                                              • 461 Hard- und Software
                                                              • 462 Bestuumlckung der Platine
                                                              • 463 Lokal gesteuertes RCL
                                                              • 464 Ferngesteuertes RCL

63

Haken bei Eingegebene Zeichen lokal ausgeben (lokales

Echo) setzen um eingegebenen Zeichen im Hyperterminal zu sehen

Bei funktionsfaumlhiger Verbindung erscheint nach Eingabe von Return die Befehlsliste des Interface

Durch Aufrufen von DateiSpeichern die erstellte Verbin-

dung z B auf dem Desktop speichern Dadurch braucht die Verbindung nicht immer wieder von neuem konfiguriert wer-den

Nach Aufrufen von DateiBeenden die bestehende Verbin-dung mit Ja beenden

64

Wurde ein falscher COM-Port gewaumlhlt reagiert das Inter-

face auf die Eingabe Return nicht Hyperterminal dann beenden

Der COM-Port kann dann nicht unter DateiEigenschaften im Hyperterminal aber unter Eigenschaften des Kontext-menuumls der Datei Interfaceht in der Registerkarte Verbin-den mit geaumlndert werden Dann OK waumlhlen und erneut Verbindung testen

65

455 Fernwartungssoftware TeamViewer 6 Host Auf der Webseite von Teamviewer GmbH unter Fuumlr unbeaufsichtigte Server TeamViewer Vollversion die Datei TeamViewer_Setup-wq herunterladen Das Programm muss auf dem RCL-Server und dem Computer der auf den RCL-Server zugreifen soll installiert werden Durch Doppelklick auf die Datei die Installation starten

Ausfuumlhren waumlhlen Weiter waumlhlen

Fuumlr die private nicht kommerzielle Nutzung ist Teamviewer kostenlos

privat nicht-kommerziell und Weiter waumlhlen

Beide Haumlkchen setzen und Weiter waumlhlen

66

Ja un Weiter waumlhlen Weiter

Computername und Kennwort fuumlr den Zugriff auf den RCL-Server oder den eigenen Computer vergeben Kenn wort notie-ren

Ein Teamviewerkonto ist nicht erforderlich Kann auch spaumlter noch eingerichtet werden

ID fuumlr den Computer auf dem das Programm installiert wird fuumlr Zugriff notieren

Das Programm wird gestartet Standardmaumlszligig vorein-gestellt ist der Start des Programms beim Start des Be-trienssystems

67

46 Selbstbau eines elementaren RCLs 461 Hard- und Software Auch ohne gleich ein vielleicht teures physikalisches Experiment zu steuern laumlsst sich mit wenigen Bauelementen ein elementares RCL realisieren Von einer Webseite im Internet sol-len eine Leuchtdiode (LED) ein- oder ausgeschaltet sowie der Zustand der Leuchtdiode und eines Tasters abgefragt werden An Hard- und Software werden benoumltigt

1 Low-Current-LED 5 mm 2 mA 1 Widerstand 18 kΩ 1 Taster und optional zwei 10-polige Wannenstecker mit ungefaumlhr 10 cm passendem Flachbandkabel und Buchsen

Interface in Basisschaltung Null-Modem-Kabel 12 V DC Steckernetzteil (larr 1)

Installierte Bascom-Demo-Version (larr 42)

AVR ISP-Programmer mit 10-poligem Programmierkabel

Installiertes und konfiguriertes AVR Studio 418 (larr 41)

Installiertes Paket XAMPP (larr 52)

Texteditor wie z B Notepad in Windows XP Professional

Konfigurierte Hyperterminalverbindung (larr 54)

462 Bestuumlckung der Platine Abb 29 zeigt zur Orientierung fuumlr das Einloumlten der Bauelemente die fertig bestuumlckte Platine des Interface

Abb 29 Mit elementarem RCL bestuumlckte Platine

des Interface

LED mit Vorwiderstand und der Taster sind rechts neben dem Mikrocontroller im Lochraster-bereich aufgebaut und uumlber Wannenstecker und Flachbandkabel mit dem Port A des Mikro-controllers verbunden (die drei Bauteile rechts neben dem ATmega16 werden nicht benouml-tigt) Tab 13 erlaumlutert die Schritte zur Bestuumlckung der Platine des Interface

68

Nr Schaltung Erlaumluterung

1

Die Leuchtdiode (LED) mit dem Pluspol (langes Beinchen) an PortA0 (PIN40 oben rechts) des Mikrocontrollers anloumlten

An das kurze Beinchen einen 18kΩ Widerstand loumlten dessen anderes Ende mit der Masse (GND) verbinden

2

Den Taster mit PortA1 (PIN39 = 2 Beinchen von oben rechts) und Masse (GND) verbinden

3

Draufsicht

Belegung des 10-poligen Wannensteckers 1 GND (Masse) im Foto oben links 2 +5 V 3 PortA0 4 PortA1 10 PortA7 im Foto unten rechts

Tab 13 Schritte zum Aufbau des elementaren RCLs

463 Lokal gesteuertes RCL Nachfolgend ist der Basic-Programmcode des Mikrocontrollers zur Steuerung und Abfrage der LED und des Tasters angegeben 01 $regfile = m16DEFdat Microcontroller ATmega16 02 $crystal = 11059200 110592MHz Quarz 03 $baud = 9600 Baudrate 04 05 ---[ Variables ]--------------------------------------------------------------- 06 Dim Rs232kommando As String 10 erst Befehlspuffer dann Kommando 07 Dim Parameter As String 10 Parameter 08 Dim Str_pos As Byte Position von Leerzeichen zur Trennung von Kommando und Pa-rameter 09 10 ---[ Initialisierung ]--------------------------------------------------------- 11 Ddra0 = 1 PortA0 als Ausgang fuumlr LED 12 Porta0 = 0 LED aus 13 Ddra1 = 0 PortA1 als Eingang fuumlr Taster 14 Porta1 = 1 Pull-Up aktivieren 15 16 ---[ Main program loop ]------------------------------------------------------- 17 Do Start der Endlos-Schleife 18 19 If Ischarwaiting() = 1 Then Zeichen uumlber RS232 empfangen 20 Input Rs232kommando neues Kommando lesen 21 Parameter = Parameter initialisieren 22 Str_pos = Instr(rs232kommando ) Leerzeichen im Kommando suchen 23 If Str_pos gt 0 Then falls Leerzeichen dann in Kommando+Parameter zerlegen 24 Incr Str_pos Str_pos soll jetzt auf 1Zeichen des Parameters zeigen 25 Parameter = Mid(rs232kommando Str_pos ) Parameter = Teilstring nach Leerzeichen 26 Parameter = Ucase(parameter) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 27 Str_pos = Str_pos - 2 Str_pos soll jetzt auf letztes Zeichen des Kommandos zeigen 28 Rs232kommando = Left(rs232kommando Str_pos)Kommando = Teilstring vor Leerzeichen 29 Rs232kommando = Ucase(rs232kommando) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 30 End If 31 32 Select Case Rs232kommando Eventhandler Interpretation der Kommandos 33 Case Print Hilfe Hilfeseite anzeigen 34 Print LED on - LED einschalten 35 Print LED off - LED ausschalten 36 Print LED - zeigt Status der LED an 37 Print SW - zeigt Status des Schalters an 38

1K8

LED rotmicroC PortA0(PIN40)

Taster

microC PortA1(PIN39)

1

3

2

69

39 Case LED If Parameter = ON Then LED schalten 40 Porta0 = 1 41 End If 42 If Parameter = OFF Then 43 Porta0 = 0 44 End If 45 46 Case LED If Porta0 = 0 Then Status der LED ausgeben 47 Print LED aus 48 Else 49 Print LED an 50 End If 51 52 Case SW If Pina1 = 1 Then Status des Schalters ausgeben 53 Print Taster offen 54 Else 55 Print Taster geschlossen 56 End If 57 58 Case Else Print gt Rs232kommando lt ungueltiger Befehl - weitere Infos mit Info bei unguumlltigen Eingaben 59 End Select 60 61 End If 62 63 Loop Endlos-Schleife Springe zu Do 64 65 End wird nie erreicht

Der erste Teil des Programms (Zeilen 1 - 15) enthaumllt die Systemparameter Variablen und Initialisierung der Ein- und Ausgaumlnge Der zweite Teil enthaumllt ab Zeile 17 das Hauptpro-gramm in dem Benutzereingaben uumlber die serielle Schnittstelle empfangen interpretiert und in entsprechende Anweisungen umgesetzt werden Tab 14 erlaumlutert den Programmcode de-taillierter

Zeilen Erlaumluterung

1 - 3 Diese Angaben teilen dem Compiler (Bascom) mit welcher Prozessor eingesetzt wird wie schnell dieser getaktet (Quarz) ist und mit welcher Uumlbertragungsgeschwindigkeit die Kommunikation uumlber die serielle Schnittstelle (RS232) mit dem PC erfolgen soll

6 - 8 Es werden drei Variablen genutzt Die Eingabe uumlber die serielle Schnittstelle wird in rs232kommando gespeichert Es wird ein Text der Form Kommando ltLeerzeichengt Parameter erwartet so dass die Variable Parameter den-selbigen aufnimmt Die Variable str_pos wird fuumlr die Trennung von Kommando und Parameter benoumltigt

11 - 14

Mit dem Befehl ddrPX (ddr = data direction) wird festgelegt ob ein Beinchen als Ausgang (=1) oder als Eingang (=0) arbeiten soll Der ATmega16 besitzt 32 Ein-Ausgaumlnge die in vier Ports (P=AD) zu je 8 Pins (X=07) unterteilt sind ddrA0 = 1 legt also das 1 Beinchen (Pin 0) von PortA als Ausgang (=1) fest Mit dem Befehl PortA0 =1 kann dieser Pin dann durch Zuweisen von 1 oder 0 an- bzw ausgeschaltet werden Im Datenblatt erfahren Sie welches der 40 Beinchen des Mikrocontrollers wie bezeichnet wird (Pin-Belegung) Wird ein Beinchen als Eingang verwendet (ddrA1 = 0) koumlnnen Sie optional einen so genannten Pull-Up-Widerstand aktivieren (PortA1=1) oder deaktivieren (PortA1=0) Auch hierzu sollten Sie sich unbedingt mit dem Datenblatt vertraut machen

17 63 Das Hauptprogramm besteht aus einer Endlosschleife d h der Mikrocontroller verrichtet ununterbrochen seinen Job so lange er mit Strom versorgt wird

19 - 30 Falls ein Zeichen uumlber die serielle Schnittstelle empfangen wurde wird dieses und alle folgenden gelesen Anschlie-szligend wird gepruumlft ob der empfangene Text von der Form Kommando ltLeerzeichengt Parameter ist so dass er ge-gebenenfalls in ein Kommando und einen Parameter zerlegt werden kann

32 - 59 Dieser Abschnitt wird mit Event-Handler bezeichnet Hier wird auf die Kommandos (Events) reagiert und die ent-sprechenden Schritte ausgefuumlhrt zB schalten LED je nach Wert der Variablen Parameter an- bzw ausschalten

46 52

In beiden Zeilen wird ein Wert eines Ports abgefragt Unterschiedlich ist dass in Zeile 46 der Status eines Ausgangs abgefragt wird (porta0) und in Zeile 52 der Zustand eines Eingangs (pina0) Die Anweisung IF porta0 = 0 THEN pruumlft (hier ist = ein Vergleich und KEINE Zuweisung) ob zuletzt die LED ausgeschaltet (Zuweisung porta0 = 0) wurde Die Anweisung IF pina1= 1 THEN liest den Status eines Eingangs Hier kann festgestellt werden ob der Eingang uumlber den internen Pull-UP-Widerstand auf +5V liegt (pina1 liefert 1) oder ob der Schalter den Eingang mit Masse (0V) verbindet (pina1 liefert 0)

Tab 14 Erlaumluterung des Mikrocontroller-Programmcodes fuumlr elementares RCL

70

In Bascom AVR eine neue Datei erzeugen (FileNew) den Programmcode ohne Kommenta-re eingeben und mit ProgramCompile (F7) eine Hexadezimaldatei erzeugen Die Hexadezi-maldatei mit dem AVR-Studio und dem AVR-ISP-Programmer in den Mikrocontroller schrei-ben (larr 222 Programmuumlbertragung) Nach dem Verbinden von Computer und Interface per Null-Modem-Kabel kann durch Eingabe von in das konfigurierte Hyperterminal die Befehls-liste in Abb 30 aufgerufen werden

Abb 30 Aufgerufene Befehlsliste im Hyperterminal

Durch Eingabe von LED on oder LED off kann die LED ein- und ausgeschaltet LED zeigt den Status der LED und sw den Status des Tasters an Alternativ zum Hyperterminal kann auch das Terminal in BASCOM unter ToolsTerminal Emulator verwendet werden (larr 422)

464 Ferngesteuertes RCL Zum Ansteuern des Interfaces und zum Bedienen des Versuchsaufbaus uumlber das Internet wird eine Webseite benoumltigt die dem Benutzer alle Bedienelemente des Experiments zur Verfuumlgung stellt

Der Benutzer benoumltigt anklickbare Buttons im Webbrowser

Der Webserver muss die Information welcher Button gedruumlckt wurde empfangen und ein entsprechendes Kommando uumlber die serielle Schnittstelle an das Interface senden

Beide Schritte sind im nachfolgenden PHPHTML-Quellcode zusammengefasst 01 ltDOCTYPE HTML PUBLIC -W3CDTD HTML 401 TransitionalEN httpwwww3orgTRhtml4loosedtdgt 02 lthtmlgt 03 ltheadgt 04 ltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1gt 05 lttitlegtelementares RCLlttitlegt 06 ltheadgt 07 08 ltbodygt 09 ltphp 10 if (isset($_POST[Kommando])) wurde bereits Kommando gesendet 11 if( ( $handle = fopen( COM1 w+ ) ) ) Schnittstelle oumlffnen 12

71

13 throw new Exception( Can not access serial port 2 ) ohne Erfolg 14 15 fwrite( $handle $_POST[Kommando] chr( 13 ) ) Befehl an Interface senden 16 switch ( $_POST[Kommando] ) Antwort von Interface auswerten 17 case LED $tmp = fgets( $handle ) Echo von Interface ignorieren 18 $antwort = fgets( $handle ) Antwort des Interfaces 19 echo Antwort $antwort Ausgabe auf Webseite 20 break switch verlassen 21 22 case SW $tmp = fgets( $handle ) Echo von Interface ignorieren 23 $antwort = fgets( $handle ) Antwort des Interfaces 24 echo Antwort $antwort Ausgabe auf Webseite 25 break switch verlassen 26 27 28 29 fclose( $handle ) Schnittstelle schlieszligen 30 31 else 32 `mode com1 BAUD=9600 PARITY=N data=8 stop=1 xon=off` Schnittstellenparameter setzen 33 34 35 gt 36 37 lth3gtBefehl sendenlth3gt 38 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 39 ltinput type=hidden name=Kommando value=LED ON gt 40 ltinput type=submit value=LED anschalten gt 41 ltformgt 42 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 43 ltinput type=hidden name=Kommando value=LED OFF gt 44 ltinput type=submit value=LED ausschalten gt 45 ltformgt 46 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 47 ltinput type=hidden name=Kommando value=LED gt 48 ltinput type=submit value=LED abfragen gt 49 ltformgt 50 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 51 ltinput type=hidden name=Kommando value=SW gt 52 ltinput type=submit value=Taster abfragen gt 53 ltformgt 54 ltbodygt 55 lthtmlgt Den Quellcode in den Texteditor kopieren und im Ordner htdocs von XAMPP z B unter rclphp speichern HTML-Dateien mit PHP-Code (Zeilen 9-35) muumlssen mit der Erweiterung php gespeichert werden damit der Apache Webserver zwischen HTML-Seiten mit und ohne PHP-Code unterscheiden kann Den installierten Apache Webserver starten (larr 452) und im Adressfeld des Webbrowsers die IP-Adresse http127001rclphp aufrufen Das Bedi-enfeld des elementaren RCLs in Abb 31 wird im Browserfenster angezeigt

72

Abb 31 Laborseite des elementaren RCLs

Im Bedienfeld kann die LED an- und ausgeschaltet sowie der Status von LED und Taster abgefragt werden

  • 0 Warum ein Tutorial zur RCL-Technik
  • 1 Technische Konzeption
    • 11 Einfuumlhrung
    • 12 Wahl der RCL-Technik
      • 2 Lokal gesteuertes RCL
        • 21 Interface
          • 211 Mikrocontroller
          • 212 Basisschaltung und Erweiterungsschaltungen
          • 213 Programmierung des Mikrocontrollers
            • 22 Hyperterminal
            • 23 Positionieren von Objekten
              • 231 Hybrid-Schrittmotoren
              • 232 Schrittmotorsteuerung und Positionierungsmechanik
                  • 3 Ferngesteuertes RCL
                    • 31 RCL-Server
                    • 32 Laborseite
                      • 321 Steuerung des RCLs uumlber das Bedienfeld
                      • 322 Videouumlbertragung im Webcamfeld
                        • 33 Standard-Lernumgebung
                          • 4 ANHANG
                            • 41 Interface in Basisschaltung
                              • 411 Schaltplan und Bauteilliste
                              • 412 Bestuumlckung der Platine
                                • 42 Erweiterungsschaltungen
                                  • 421 Uumlbersicht
                                  • 422 TMC222-Modul zur Schrittmotorsteuerung
                                    • 4221 Schaltplan und Bauteilliste
                                    • 4222 Bestuumlckung der Platine
                                    • 4223 Quellcode des Mikrocontroller-Programms
                                      • 423 Geschaltete Spannungsquellen und Verbraucher
                                      • 424 Steuerung von Gleichstrommotoren
                                        • 43 Quellcodes zum RCL Elektronenbeugung
                                          • 431 Mikrocontroller-Programmierung
                                          • 432 PHP-Programmierung
                                          • 433 Bedienfeld der Laborseite
                                          • 434 Webcamfeld der Laborseite
                                            • 44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung
                                              • 441 AVR-Studio 418
                                                • 4411 Installation
                                                • 4412 Konfiguration
                                                  • 442 BASCOM 11198 Demoversion
                                                    • 4421 Installation
                                                    • 4422 Konfiguration
                                                        • 45 Installation und Konfiguration von Programmen auf dem RCL-Server
                                                          • 451 Einrichten des Internet-Zugangs
                                                          • 452 Paket XAMPP 174
                                                          • 453 Videoserver webcamXP 5 Private
                                                          • 454 Terminalprogramm Hyperterminal
                                                          • 455 Fernwartungssoftware TeamViewer 6 Host
                                                            • 46 Selbstbau eines elementaren RCLs
                                                              • 461 Hard- und Software
                                                              • 462 Bestuumlckung der Platine
                                                              • 463 Lokal gesteuertes RCL
                                                              • 464 Ferngesteuertes RCL

64

Wurde ein falscher COM-Port gewaumlhlt reagiert das Inter-

face auf die Eingabe Return nicht Hyperterminal dann beenden

Der COM-Port kann dann nicht unter DateiEigenschaften im Hyperterminal aber unter Eigenschaften des Kontext-menuumls der Datei Interfaceht in der Registerkarte Verbin-den mit geaumlndert werden Dann OK waumlhlen und erneut Verbindung testen

65

455 Fernwartungssoftware TeamViewer 6 Host Auf der Webseite von Teamviewer GmbH unter Fuumlr unbeaufsichtigte Server TeamViewer Vollversion die Datei TeamViewer_Setup-wq herunterladen Das Programm muss auf dem RCL-Server und dem Computer der auf den RCL-Server zugreifen soll installiert werden Durch Doppelklick auf die Datei die Installation starten

Ausfuumlhren waumlhlen Weiter waumlhlen

Fuumlr die private nicht kommerzielle Nutzung ist Teamviewer kostenlos

privat nicht-kommerziell und Weiter waumlhlen

Beide Haumlkchen setzen und Weiter waumlhlen

66

Ja un Weiter waumlhlen Weiter

Computername und Kennwort fuumlr den Zugriff auf den RCL-Server oder den eigenen Computer vergeben Kenn wort notie-ren

Ein Teamviewerkonto ist nicht erforderlich Kann auch spaumlter noch eingerichtet werden

ID fuumlr den Computer auf dem das Programm installiert wird fuumlr Zugriff notieren

Das Programm wird gestartet Standardmaumlszligig vorein-gestellt ist der Start des Programms beim Start des Be-trienssystems

67

46 Selbstbau eines elementaren RCLs 461 Hard- und Software Auch ohne gleich ein vielleicht teures physikalisches Experiment zu steuern laumlsst sich mit wenigen Bauelementen ein elementares RCL realisieren Von einer Webseite im Internet sol-len eine Leuchtdiode (LED) ein- oder ausgeschaltet sowie der Zustand der Leuchtdiode und eines Tasters abgefragt werden An Hard- und Software werden benoumltigt

1 Low-Current-LED 5 mm 2 mA 1 Widerstand 18 kΩ 1 Taster und optional zwei 10-polige Wannenstecker mit ungefaumlhr 10 cm passendem Flachbandkabel und Buchsen

Interface in Basisschaltung Null-Modem-Kabel 12 V DC Steckernetzteil (larr 1)

Installierte Bascom-Demo-Version (larr 42)

AVR ISP-Programmer mit 10-poligem Programmierkabel

Installiertes und konfiguriertes AVR Studio 418 (larr 41)

Installiertes Paket XAMPP (larr 52)

Texteditor wie z B Notepad in Windows XP Professional

Konfigurierte Hyperterminalverbindung (larr 54)

462 Bestuumlckung der Platine Abb 29 zeigt zur Orientierung fuumlr das Einloumlten der Bauelemente die fertig bestuumlckte Platine des Interface

Abb 29 Mit elementarem RCL bestuumlckte Platine

des Interface

LED mit Vorwiderstand und der Taster sind rechts neben dem Mikrocontroller im Lochraster-bereich aufgebaut und uumlber Wannenstecker und Flachbandkabel mit dem Port A des Mikro-controllers verbunden (die drei Bauteile rechts neben dem ATmega16 werden nicht benouml-tigt) Tab 13 erlaumlutert die Schritte zur Bestuumlckung der Platine des Interface

68

Nr Schaltung Erlaumluterung

1

Die Leuchtdiode (LED) mit dem Pluspol (langes Beinchen) an PortA0 (PIN40 oben rechts) des Mikrocontrollers anloumlten

An das kurze Beinchen einen 18kΩ Widerstand loumlten dessen anderes Ende mit der Masse (GND) verbinden

2

Den Taster mit PortA1 (PIN39 = 2 Beinchen von oben rechts) und Masse (GND) verbinden

3

Draufsicht

Belegung des 10-poligen Wannensteckers 1 GND (Masse) im Foto oben links 2 +5 V 3 PortA0 4 PortA1 10 PortA7 im Foto unten rechts

Tab 13 Schritte zum Aufbau des elementaren RCLs

463 Lokal gesteuertes RCL Nachfolgend ist der Basic-Programmcode des Mikrocontrollers zur Steuerung und Abfrage der LED und des Tasters angegeben 01 $regfile = m16DEFdat Microcontroller ATmega16 02 $crystal = 11059200 110592MHz Quarz 03 $baud = 9600 Baudrate 04 05 ---[ Variables ]--------------------------------------------------------------- 06 Dim Rs232kommando As String 10 erst Befehlspuffer dann Kommando 07 Dim Parameter As String 10 Parameter 08 Dim Str_pos As Byte Position von Leerzeichen zur Trennung von Kommando und Pa-rameter 09 10 ---[ Initialisierung ]--------------------------------------------------------- 11 Ddra0 = 1 PortA0 als Ausgang fuumlr LED 12 Porta0 = 0 LED aus 13 Ddra1 = 0 PortA1 als Eingang fuumlr Taster 14 Porta1 = 1 Pull-Up aktivieren 15 16 ---[ Main program loop ]------------------------------------------------------- 17 Do Start der Endlos-Schleife 18 19 If Ischarwaiting() = 1 Then Zeichen uumlber RS232 empfangen 20 Input Rs232kommando neues Kommando lesen 21 Parameter = Parameter initialisieren 22 Str_pos = Instr(rs232kommando ) Leerzeichen im Kommando suchen 23 If Str_pos gt 0 Then falls Leerzeichen dann in Kommando+Parameter zerlegen 24 Incr Str_pos Str_pos soll jetzt auf 1Zeichen des Parameters zeigen 25 Parameter = Mid(rs232kommando Str_pos ) Parameter = Teilstring nach Leerzeichen 26 Parameter = Ucase(parameter) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 27 Str_pos = Str_pos - 2 Str_pos soll jetzt auf letztes Zeichen des Kommandos zeigen 28 Rs232kommando = Left(rs232kommando Str_pos)Kommando = Teilstring vor Leerzeichen 29 Rs232kommando = Ucase(rs232kommando) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 30 End If 31 32 Select Case Rs232kommando Eventhandler Interpretation der Kommandos 33 Case Print Hilfe Hilfeseite anzeigen 34 Print LED on - LED einschalten 35 Print LED off - LED ausschalten 36 Print LED - zeigt Status der LED an 37 Print SW - zeigt Status des Schalters an 38

1K8

LED rotmicroC PortA0(PIN40)

Taster

microC PortA1(PIN39)

1

3

2

69

39 Case LED If Parameter = ON Then LED schalten 40 Porta0 = 1 41 End If 42 If Parameter = OFF Then 43 Porta0 = 0 44 End If 45 46 Case LED If Porta0 = 0 Then Status der LED ausgeben 47 Print LED aus 48 Else 49 Print LED an 50 End If 51 52 Case SW If Pina1 = 1 Then Status des Schalters ausgeben 53 Print Taster offen 54 Else 55 Print Taster geschlossen 56 End If 57 58 Case Else Print gt Rs232kommando lt ungueltiger Befehl - weitere Infos mit Info bei unguumlltigen Eingaben 59 End Select 60 61 End If 62 63 Loop Endlos-Schleife Springe zu Do 64 65 End wird nie erreicht

Der erste Teil des Programms (Zeilen 1 - 15) enthaumllt die Systemparameter Variablen und Initialisierung der Ein- und Ausgaumlnge Der zweite Teil enthaumllt ab Zeile 17 das Hauptpro-gramm in dem Benutzereingaben uumlber die serielle Schnittstelle empfangen interpretiert und in entsprechende Anweisungen umgesetzt werden Tab 14 erlaumlutert den Programmcode de-taillierter

Zeilen Erlaumluterung

1 - 3 Diese Angaben teilen dem Compiler (Bascom) mit welcher Prozessor eingesetzt wird wie schnell dieser getaktet (Quarz) ist und mit welcher Uumlbertragungsgeschwindigkeit die Kommunikation uumlber die serielle Schnittstelle (RS232) mit dem PC erfolgen soll

6 - 8 Es werden drei Variablen genutzt Die Eingabe uumlber die serielle Schnittstelle wird in rs232kommando gespeichert Es wird ein Text der Form Kommando ltLeerzeichengt Parameter erwartet so dass die Variable Parameter den-selbigen aufnimmt Die Variable str_pos wird fuumlr die Trennung von Kommando und Parameter benoumltigt

11 - 14

Mit dem Befehl ddrPX (ddr = data direction) wird festgelegt ob ein Beinchen als Ausgang (=1) oder als Eingang (=0) arbeiten soll Der ATmega16 besitzt 32 Ein-Ausgaumlnge die in vier Ports (P=AD) zu je 8 Pins (X=07) unterteilt sind ddrA0 = 1 legt also das 1 Beinchen (Pin 0) von PortA als Ausgang (=1) fest Mit dem Befehl PortA0 =1 kann dieser Pin dann durch Zuweisen von 1 oder 0 an- bzw ausgeschaltet werden Im Datenblatt erfahren Sie welches der 40 Beinchen des Mikrocontrollers wie bezeichnet wird (Pin-Belegung) Wird ein Beinchen als Eingang verwendet (ddrA1 = 0) koumlnnen Sie optional einen so genannten Pull-Up-Widerstand aktivieren (PortA1=1) oder deaktivieren (PortA1=0) Auch hierzu sollten Sie sich unbedingt mit dem Datenblatt vertraut machen

17 63 Das Hauptprogramm besteht aus einer Endlosschleife d h der Mikrocontroller verrichtet ununterbrochen seinen Job so lange er mit Strom versorgt wird

19 - 30 Falls ein Zeichen uumlber die serielle Schnittstelle empfangen wurde wird dieses und alle folgenden gelesen Anschlie-szligend wird gepruumlft ob der empfangene Text von der Form Kommando ltLeerzeichengt Parameter ist so dass er ge-gebenenfalls in ein Kommando und einen Parameter zerlegt werden kann

32 - 59 Dieser Abschnitt wird mit Event-Handler bezeichnet Hier wird auf die Kommandos (Events) reagiert und die ent-sprechenden Schritte ausgefuumlhrt zB schalten LED je nach Wert der Variablen Parameter an- bzw ausschalten

46 52

In beiden Zeilen wird ein Wert eines Ports abgefragt Unterschiedlich ist dass in Zeile 46 der Status eines Ausgangs abgefragt wird (porta0) und in Zeile 52 der Zustand eines Eingangs (pina0) Die Anweisung IF porta0 = 0 THEN pruumlft (hier ist = ein Vergleich und KEINE Zuweisung) ob zuletzt die LED ausgeschaltet (Zuweisung porta0 = 0) wurde Die Anweisung IF pina1= 1 THEN liest den Status eines Eingangs Hier kann festgestellt werden ob der Eingang uumlber den internen Pull-UP-Widerstand auf +5V liegt (pina1 liefert 1) oder ob der Schalter den Eingang mit Masse (0V) verbindet (pina1 liefert 0)

Tab 14 Erlaumluterung des Mikrocontroller-Programmcodes fuumlr elementares RCL

70

In Bascom AVR eine neue Datei erzeugen (FileNew) den Programmcode ohne Kommenta-re eingeben und mit ProgramCompile (F7) eine Hexadezimaldatei erzeugen Die Hexadezi-maldatei mit dem AVR-Studio und dem AVR-ISP-Programmer in den Mikrocontroller schrei-ben (larr 222 Programmuumlbertragung) Nach dem Verbinden von Computer und Interface per Null-Modem-Kabel kann durch Eingabe von in das konfigurierte Hyperterminal die Befehls-liste in Abb 30 aufgerufen werden

Abb 30 Aufgerufene Befehlsliste im Hyperterminal

Durch Eingabe von LED on oder LED off kann die LED ein- und ausgeschaltet LED zeigt den Status der LED und sw den Status des Tasters an Alternativ zum Hyperterminal kann auch das Terminal in BASCOM unter ToolsTerminal Emulator verwendet werden (larr 422)

464 Ferngesteuertes RCL Zum Ansteuern des Interfaces und zum Bedienen des Versuchsaufbaus uumlber das Internet wird eine Webseite benoumltigt die dem Benutzer alle Bedienelemente des Experiments zur Verfuumlgung stellt

Der Benutzer benoumltigt anklickbare Buttons im Webbrowser

Der Webserver muss die Information welcher Button gedruumlckt wurde empfangen und ein entsprechendes Kommando uumlber die serielle Schnittstelle an das Interface senden

Beide Schritte sind im nachfolgenden PHPHTML-Quellcode zusammengefasst 01 ltDOCTYPE HTML PUBLIC -W3CDTD HTML 401 TransitionalEN httpwwww3orgTRhtml4loosedtdgt 02 lthtmlgt 03 ltheadgt 04 ltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1gt 05 lttitlegtelementares RCLlttitlegt 06 ltheadgt 07 08 ltbodygt 09 ltphp 10 if (isset($_POST[Kommando])) wurde bereits Kommando gesendet 11 if( ( $handle = fopen( COM1 w+ ) ) ) Schnittstelle oumlffnen 12

71

13 throw new Exception( Can not access serial port 2 ) ohne Erfolg 14 15 fwrite( $handle $_POST[Kommando] chr( 13 ) ) Befehl an Interface senden 16 switch ( $_POST[Kommando] ) Antwort von Interface auswerten 17 case LED $tmp = fgets( $handle ) Echo von Interface ignorieren 18 $antwort = fgets( $handle ) Antwort des Interfaces 19 echo Antwort $antwort Ausgabe auf Webseite 20 break switch verlassen 21 22 case SW $tmp = fgets( $handle ) Echo von Interface ignorieren 23 $antwort = fgets( $handle ) Antwort des Interfaces 24 echo Antwort $antwort Ausgabe auf Webseite 25 break switch verlassen 26 27 28 29 fclose( $handle ) Schnittstelle schlieszligen 30 31 else 32 `mode com1 BAUD=9600 PARITY=N data=8 stop=1 xon=off` Schnittstellenparameter setzen 33 34 35 gt 36 37 lth3gtBefehl sendenlth3gt 38 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 39 ltinput type=hidden name=Kommando value=LED ON gt 40 ltinput type=submit value=LED anschalten gt 41 ltformgt 42 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 43 ltinput type=hidden name=Kommando value=LED OFF gt 44 ltinput type=submit value=LED ausschalten gt 45 ltformgt 46 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 47 ltinput type=hidden name=Kommando value=LED gt 48 ltinput type=submit value=LED abfragen gt 49 ltformgt 50 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 51 ltinput type=hidden name=Kommando value=SW gt 52 ltinput type=submit value=Taster abfragen gt 53 ltformgt 54 ltbodygt 55 lthtmlgt Den Quellcode in den Texteditor kopieren und im Ordner htdocs von XAMPP z B unter rclphp speichern HTML-Dateien mit PHP-Code (Zeilen 9-35) muumlssen mit der Erweiterung php gespeichert werden damit der Apache Webserver zwischen HTML-Seiten mit und ohne PHP-Code unterscheiden kann Den installierten Apache Webserver starten (larr 452) und im Adressfeld des Webbrowsers die IP-Adresse http127001rclphp aufrufen Das Bedi-enfeld des elementaren RCLs in Abb 31 wird im Browserfenster angezeigt

72

Abb 31 Laborseite des elementaren RCLs

Im Bedienfeld kann die LED an- und ausgeschaltet sowie der Status von LED und Taster abgefragt werden

  • 0 Warum ein Tutorial zur RCL-Technik
  • 1 Technische Konzeption
    • 11 Einfuumlhrung
    • 12 Wahl der RCL-Technik
      • 2 Lokal gesteuertes RCL
        • 21 Interface
          • 211 Mikrocontroller
          • 212 Basisschaltung und Erweiterungsschaltungen
          • 213 Programmierung des Mikrocontrollers
            • 22 Hyperterminal
            • 23 Positionieren von Objekten
              • 231 Hybrid-Schrittmotoren
              • 232 Schrittmotorsteuerung und Positionierungsmechanik
                  • 3 Ferngesteuertes RCL
                    • 31 RCL-Server
                    • 32 Laborseite
                      • 321 Steuerung des RCLs uumlber das Bedienfeld
                      • 322 Videouumlbertragung im Webcamfeld
                        • 33 Standard-Lernumgebung
                          • 4 ANHANG
                            • 41 Interface in Basisschaltung
                              • 411 Schaltplan und Bauteilliste
                              • 412 Bestuumlckung der Platine
                                • 42 Erweiterungsschaltungen
                                  • 421 Uumlbersicht
                                  • 422 TMC222-Modul zur Schrittmotorsteuerung
                                    • 4221 Schaltplan und Bauteilliste
                                    • 4222 Bestuumlckung der Platine
                                    • 4223 Quellcode des Mikrocontroller-Programms
                                      • 423 Geschaltete Spannungsquellen und Verbraucher
                                      • 424 Steuerung von Gleichstrommotoren
                                        • 43 Quellcodes zum RCL Elektronenbeugung
                                          • 431 Mikrocontroller-Programmierung
                                          • 432 PHP-Programmierung
                                          • 433 Bedienfeld der Laborseite
                                          • 434 Webcamfeld der Laborseite
                                            • 44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung
                                              • 441 AVR-Studio 418
                                                • 4411 Installation
                                                • 4412 Konfiguration
                                                  • 442 BASCOM 11198 Demoversion
                                                    • 4421 Installation
                                                    • 4422 Konfiguration
                                                        • 45 Installation und Konfiguration von Programmen auf dem RCL-Server
                                                          • 451 Einrichten des Internet-Zugangs
                                                          • 452 Paket XAMPP 174
                                                          • 453 Videoserver webcamXP 5 Private
                                                          • 454 Terminalprogramm Hyperterminal
                                                          • 455 Fernwartungssoftware TeamViewer 6 Host
                                                            • 46 Selbstbau eines elementaren RCLs
                                                              • 461 Hard- und Software
                                                              • 462 Bestuumlckung der Platine
                                                              • 463 Lokal gesteuertes RCL
                                                              • 464 Ferngesteuertes RCL

65

455 Fernwartungssoftware TeamViewer 6 Host Auf der Webseite von Teamviewer GmbH unter Fuumlr unbeaufsichtigte Server TeamViewer Vollversion die Datei TeamViewer_Setup-wq herunterladen Das Programm muss auf dem RCL-Server und dem Computer der auf den RCL-Server zugreifen soll installiert werden Durch Doppelklick auf die Datei die Installation starten

Ausfuumlhren waumlhlen Weiter waumlhlen

Fuumlr die private nicht kommerzielle Nutzung ist Teamviewer kostenlos

privat nicht-kommerziell und Weiter waumlhlen

Beide Haumlkchen setzen und Weiter waumlhlen

66

Ja un Weiter waumlhlen Weiter

Computername und Kennwort fuumlr den Zugriff auf den RCL-Server oder den eigenen Computer vergeben Kenn wort notie-ren

Ein Teamviewerkonto ist nicht erforderlich Kann auch spaumlter noch eingerichtet werden

ID fuumlr den Computer auf dem das Programm installiert wird fuumlr Zugriff notieren

Das Programm wird gestartet Standardmaumlszligig vorein-gestellt ist der Start des Programms beim Start des Be-trienssystems

67

46 Selbstbau eines elementaren RCLs 461 Hard- und Software Auch ohne gleich ein vielleicht teures physikalisches Experiment zu steuern laumlsst sich mit wenigen Bauelementen ein elementares RCL realisieren Von einer Webseite im Internet sol-len eine Leuchtdiode (LED) ein- oder ausgeschaltet sowie der Zustand der Leuchtdiode und eines Tasters abgefragt werden An Hard- und Software werden benoumltigt

1 Low-Current-LED 5 mm 2 mA 1 Widerstand 18 kΩ 1 Taster und optional zwei 10-polige Wannenstecker mit ungefaumlhr 10 cm passendem Flachbandkabel und Buchsen

Interface in Basisschaltung Null-Modem-Kabel 12 V DC Steckernetzteil (larr 1)

Installierte Bascom-Demo-Version (larr 42)

AVR ISP-Programmer mit 10-poligem Programmierkabel

Installiertes und konfiguriertes AVR Studio 418 (larr 41)

Installiertes Paket XAMPP (larr 52)

Texteditor wie z B Notepad in Windows XP Professional

Konfigurierte Hyperterminalverbindung (larr 54)

462 Bestuumlckung der Platine Abb 29 zeigt zur Orientierung fuumlr das Einloumlten der Bauelemente die fertig bestuumlckte Platine des Interface

Abb 29 Mit elementarem RCL bestuumlckte Platine

des Interface

LED mit Vorwiderstand und der Taster sind rechts neben dem Mikrocontroller im Lochraster-bereich aufgebaut und uumlber Wannenstecker und Flachbandkabel mit dem Port A des Mikro-controllers verbunden (die drei Bauteile rechts neben dem ATmega16 werden nicht benouml-tigt) Tab 13 erlaumlutert die Schritte zur Bestuumlckung der Platine des Interface

68

Nr Schaltung Erlaumluterung

1

Die Leuchtdiode (LED) mit dem Pluspol (langes Beinchen) an PortA0 (PIN40 oben rechts) des Mikrocontrollers anloumlten

An das kurze Beinchen einen 18kΩ Widerstand loumlten dessen anderes Ende mit der Masse (GND) verbinden

2

Den Taster mit PortA1 (PIN39 = 2 Beinchen von oben rechts) und Masse (GND) verbinden

3

Draufsicht

Belegung des 10-poligen Wannensteckers 1 GND (Masse) im Foto oben links 2 +5 V 3 PortA0 4 PortA1 10 PortA7 im Foto unten rechts

Tab 13 Schritte zum Aufbau des elementaren RCLs

463 Lokal gesteuertes RCL Nachfolgend ist der Basic-Programmcode des Mikrocontrollers zur Steuerung und Abfrage der LED und des Tasters angegeben 01 $regfile = m16DEFdat Microcontroller ATmega16 02 $crystal = 11059200 110592MHz Quarz 03 $baud = 9600 Baudrate 04 05 ---[ Variables ]--------------------------------------------------------------- 06 Dim Rs232kommando As String 10 erst Befehlspuffer dann Kommando 07 Dim Parameter As String 10 Parameter 08 Dim Str_pos As Byte Position von Leerzeichen zur Trennung von Kommando und Pa-rameter 09 10 ---[ Initialisierung ]--------------------------------------------------------- 11 Ddra0 = 1 PortA0 als Ausgang fuumlr LED 12 Porta0 = 0 LED aus 13 Ddra1 = 0 PortA1 als Eingang fuumlr Taster 14 Porta1 = 1 Pull-Up aktivieren 15 16 ---[ Main program loop ]------------------------------------------------------- 17 Do Start der Endlos-Schleife 18 19 If Ischarwaiting() = 1 Then Zeichen uumlber RS232 empfangen 20 Input Rs232kommando neues Kommando lesen 21 Parameter = Parameter initialisieren 22 Str_pos = Instr(rs232kommando ) Leerzeichen im Kommando suchen 23 If Str_pos gt 0 Then falls Leerzeichen dann in Kommando+Parameter zerlegen 24 Incr Str_pos Str_pos soll jetzt auf 1Zeichen des Parameters zeigen 25 Parameter = Mid(rs232kommando Str_pos ) Parameter = Teilstring nach Leerzeichen 26 Parameter = Ucase(parameter) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 27 Str_pos = Str_pos - 2 Str_pos soll jetzt auf letztes Zeichen des Kommandos zeigen 28 Rs232kommando = Left(rs232kommando Str_pos)Kommando = Teilstring vor Leerzeichen 29 Rs232kommando = Ucase(rs232kommando) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 30 End If 31 32 Select Case Rs232kommando Eventhandler Interpretation der Kommandos 33 Case Print Hilfe Hilfeseite anzeigen 34 Print LED on - LED einschalten 35 Print LED off - LED ausschalten 36 Print LED - zeigt Status der LED an 37 Print SW - zeigt Status des Schalters an 38

1K8

LED rotmicroC PortA0(PIN40)

Taster

microC PortA1(PIN39)

1

3

2

69

39 Case LED If Parameter = ON Then LED schalten 40 Porta0 = 1 41 End If 42 If Parameter = OFF Then 43 Porta0 = 0 44 End If 45 46 Case LED If Porta0 = 0 Then Status der LED ausgeben 47 Print LED aus 48 Else 49 Print LED an 50 End If 51 52 Case SW If Pina1 = 1 Then Status des Schalters ausgeben 53 Print Taster offen 54 Else 55 Print Taster geschlossen 56 End If 57 58 Case Else Print gt Rs232kommando lt ungueltiger Befehl - weitere Infos mit Info bei unguumlltigen Eingaben 59 End Select 60 61 End If 62 63 Loop Endlos-Schleife Springe zu Do 64 65 End wird nie erreicht

Der erste Teil des Programms (Zeilen 1 - 15) enthaumllt die Systemparameter Variablen und Initialisierung der Ein- und Ausgaumlnge Der zweite Teil enthaumllt ab Zeile 17 das Hauptpro-gramm in dem Benutzereingaben uumlber die serielle Schnittstelle empfangen interpretiert und in entsprechende Anweisungen umgesetzt werden Tab 14 erlaumlutert den Programmcode de-taillierter

Zeilen Erlaumluterung

1 - 3 Diese Angaben teilen dem Compiler (Bascom) mit welcher Prozessor eingesetzt wird wie schnell dieser getaktet (Quarz) ist und mit welcher Uumlbertragungsgeschwindigkeit die Kommunikation uumlber die serielle Schnittstelle (RS232) mit dem PC erfolgen soll

6 - 8 Es werden drei Variablen genutzt Die Eingabe uumlber die serielle Schnittstelle wird in rs232kommando gespeichert Es wird ein Text der Form Kommando ltLeerzeichengt Parameter erwartet so dass die Variable Parameter den-selbigen aufnimmt Die Variable str_pos wird fuumlr die Trennung von Kommando und Parameter benoumltigt

11 - 14

Mit dem Befehl ddrPX (ddr = data direction) wird festgelegt ob ein Beinchen als Ausgang (=1) oder als Eingang (=0) arbeiten soll Der ATmega16 besitzt 32 Ein-Ausgaumlnge die in vier Ports (P=AD) zu je 8 Pins (X=07) unterteilt sind ddrA0 = 1 legt also das 1 Beinchen (Pin 0) von PortA als Ausgang (=1) fest Mit dem Befehl PortA0 =1 kann dieser Pin dann durch Zuweisen von 1 oder 0 an- bzw ausgeschaltet werden Im Datenblatt erfahren Sie welches der 40 Beinchen des Mikrocontrollers wie bezeichnet wird (Pin-Belegung) Wird ein Beinchen als Eingang verwendet (ddrA1 = 0) koumlnnen Sie optional einen so genannten Pull-Up-Widerstand aktivieren (PortA1=1) oder deaktivieren (PortA1=0) Auch hierzu sollten Sie sich unbedingt mit dem Datenblatt vertraut machen

17 63 Das Hauptprogramm besteht aus einer Endlosschleife d h der Mikrocontroller verrichtet ununterbrochen seinen Job so lange er mit Strom versorgt wird

19 - 30 Falls ein Zeichen uumlber die serielle Schnittstelle empfangen wurde wird dieses und alle folgenden gelesen Anschlie-szligend wird gepruumlft ob der empfangene Text von der Form Kommando ltLeerzeichengt Parameter ist so dass er ge-gebenenfalls in ein Kommando und einen Parameter zerlegt werden kann

32 - 59 Dieser Abschnitt wird mit Event-Handler bezeichnet Hier wird auf die Kommandos (Events) reagiert und die ent-sprechenden Schritte ausgefuumlhrt zB schalten LED je nach Wert der Variablen Parameter an- bzw ausschalten

46 52

In beiden Zeilen wird ein Wert eines Ports abgefragt Unterschiedlich ist dass in Zeile 46 der Status eines Ausgangs abgefragt wird (porta0) und in Zeile 52 der Zustand eines Eingangs (pina0) Die Anweisung IF porta0 = 0 THEN pruumlft (hier ist = ein Vergleich und KEINE Zuweisung) ob zuletzt die LED ausgeschaltet (Zuweisung porta0 = 0) wurde Die Anweisung IF pina1= 1 THEN liest den Status eines Eingangs Hier kann festgestellt werden ob der Eingang uumlber den internen Pull-UP-Widerstand auf +5V liegt (pina1 liefert 1) oder ob der Schalter den Eingang mit Masse (0V) verbindet (pina1 liefert 0)

Tab 14 Erlaumluterung des Mikrocontroller-Programmcodes fuumlr elementares RCL

70

In Bascom AVR eine neue Datei erzeugen (FileNew) den Programmcode ohne Kommenta-re eingeben und mit ProgramCompile (F7) eine Hexadezimaldatei erzeugen Die Hexadezi-maldatei mit dem AVR-Studio und dem AVR-ISP-Programmer in den Mikrocontroller schrei-ben (larr 222 Programmuumlbertragung) Nach dem Verbinden von Computer und Interface per Null-Modem-Kabel kann durch Eingabe von in das konfigurierte Hyperterminal die Befehls-liste in Abb 30 aufgerufen werden

Abb 30 Aufgerufene Befehlsliste im Hyperterminal

Durch Eingabe von LED on oder LED off kann die LED ein- und ausgeschaltet LED zeigt den Status der LED und sw den Status des Tasters an Alternativ zum Hyperterminal kann auch das Terminal in BASCOM unter ToolsTerminal Emulator verwendet werden (larr 422)

464 Ferngesteuertes RCL Zum Ansteuern des Interfaces und zum Bedienen des Versuchsaufbaus uumlber das Internet wird eine Webseite benoumltigt die dem Benutzer alle Bedienelemente des Experiments zur Verfuumlgung stellt

Der Benutzer benoumltigt anklickbare Buttons im Webbrowser

Der Webserver muss die Information welcher Button gedruumlckt wurde empfangen und ein entsprechendes Kommando uumlber die serielle Schnittstelle an das Interface senden

Beide Schritte sind im nachfolgenden PHPHTML-Quellcode zusammengefasst 01 ltDOCTYPE HTML PUBLIC -W3CDTD HTML 401 TransitionalEN httpwwww3orgTRhtml4loosedtdgt 02 lthtmlgt 03 ltheadgt 04 ltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1gt 05 lttitlegtelementares RCLlttitlegt 06 ltheadgt 07 08 ltbodygt 09 ltphp 10 if (isset($_POST[Kommando])) wurde bereits Kommando gesendet 11 if( ( $handle = fopen( COM1 w+ ) ) ) Schnittstelle oumlffnen 12

71

13 throw new Exception( Can not access serial port 2 ) ohne Erfolg 14 15 fwrite( $handle $_POST[Kommando] chr( 13 ) ) Befehl an Interface senden 16 switch ( $_POST[Kommando] ) Antwort von Interface auswerten 17 case LED $tmp = fgets( $handle ) Echo von Interface ignorieren 18 $antwort = fgets( $handle ) Antwort des Interfaces 19 echo Antwort $antwort Ausgabe auf Webseite 20 break switch verlassen 21 22 case SW $tmp = fgets( $handle ) Echo von Interface ignorieren 23 $antwort = fgets( $handle ) Antwort des Interfaces 24 echo Antwort $antwort Ausgabe auf Webseite 25 break switch verlassen 26 27 28 29 fclose( $handle ) Schnittstelle schlieszligen 30 31 else 32 `mode com1 BAUD=9600 PARITY=N data=8 stop=1 xon=off` Schnittstellenparameter setzen 33 34 35 gt 36 37 lth3gtBefehl sendenlth3gt 38 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 39 ltinput type=hidden name=Kommando value=LED ON gt 40 ltinput type=submit value=LED anschalten gt 41 ltformgt 42 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 43 ltinput type=hidden name=Kommando value=LED OFF gt 44 ltinput type=submit value=LED ausschalten gt 45 ltformgt 46 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 47 ltinput type=hidden name=Kommando value=LED gt 48 ltinput type=submit value=LED abfragen gt 49 ltformgt 50 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 51 ltinput type=hidden name=Kommando value=SW gt 52 ltinput type=submit value=Taster abfragen gt 53 ltformgt 54 ltbodygt 55 lthtmlgt Den Quellcode in den Texteditor kopieren und im Ordner htdocs von XAMPP z B unter rclphp speichern HTML-Dateien mit PHP-Code (Zeilen 9-35) muumlssen mit der Erweiterung php gespeichert werden damit der Apache Webserver zwischen HTML-Seiten mit und ohne PHP-Code unterscheiden kann Den installierten Apache Webserver starten (larr 452) und im Adressfeld des Webbrowsers die IP-Adresse http127001rclphp aufrufen Das Bedi-enfeld des elementaren RCLs in Abb 31 wird im Browserfenster angezeigt

72

Abb 31 Laborseite des elementaren RCLs

Im Bedienfeld kann die LED an- und ausgeschaltet sowie der Status von LED und Taster abgefragt werden

  • 0 Warum ein Tutorial zur RCL-Technik
  • 1 Technische Konzeption
    • 11 Einfuumlhrung
    • 12 Wahl der RCL-Technik
      • 2 Lokal gesteuertes RCL
        • 21 Interface
          • 211 Mikrocontroller
          • 212 Basisschaltung und Erweiterungsschaltungen
          • 213 Programmierung des Mikrocontrollers
            • 22 Hyperterminal
            • 23 Positionieren von Objekten
              • 231 Hybrid-Schrittmotoren
              • 232 Schrittmotorsteuerung und Positionierungsmechanik
                  • 3 Ferngesteuertes RCL
                    • 31 RCL-Server
                    • 32 Laborseite
                      • 321 Steuerung des RCLs uumlber das Bedienfeld
                      • 322 Videouumlbertragung im Webcamfeld
                        • 33 Standard-Lernumgebung
                          • 4 ANHANG
                            • 41 Interface in Basisschaltung
                              • 411 Schaltplan und Bauteilliste
                              • 412 Bestuumlckung der Platine
                                • 42 Erweiterungsschaltungen
                                  • 421 Uumlbersicht
                                  • 422 TMC222-Modul zur Schrittmotorsteuerung
                                    • 4221 Schaltplan und Bauteilliste
                                    • 4222 Bestuumlckung der Platine
                                    • 4223 Quellcode des Mikrocontroller-Programms
                                      • 423 Geschaltete Spannungsquellen und Verbraucher
                                      • 424 Steuerung von Gleichstrommotoren
                                        • 43 Quellcodes zum RCL Elektronenbeugung
                                          • 431 Mikrocontroller-Programmierung
                                          • 432 PHP-Programmierung
                                          • 433 Bedienfeld der Laborseite
                                          • 434 Webcamfeld der Laborseite
                                            • 44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung
                                              • 441 AVR-Studio 418
                                                • 4411 Installation
                                                • 4412 Konfiguration
                                                  • 442 BASCOM 11198 Demoversion
                                                    • 4421 Installation
                                                    • 4422 Konfiguration
                                                        • 45 Installation und Konfiguration von Programmen auf dem RCL-Server
                                                          • 451 Einrichten des Internet-Zugangs
                                                          • 452 Paket XAMPP 174
                                                          • 453 Videoserver webcamXP 5 Private
                                                          • 454 Terminalprogramm Hyperterminal
                                                          • 455 Fernwartungssoftware TeamViewer 6 Host
                                                            • 46 Selbstbau eines elementaren RCLs
                                                              • 461 Hard- und Software
                                                              • 462 Bestuumlckung der Platine
                                                              • 463 Lokal gesteuertes RCL
                                                              • 464 Ferngesteuertes RCL

66

Ja un Weiter waumlhlen Weiter

Computername und Kennwort fuumlr den Zugriff auf den RCL-Server oder den eigenen Computer vergeben Kenn wort notie-ren

Ein Teamviewerkonto ist nicht erforderlich Kann auch spaumlter noch eingerichtet werden

ID fuumlr den Computer auf dem das Programm installiert wird fuumlr Zugriff notieren

Das Programm wird gestartet Standardmaumlszligig vorein-gestellt ist der Start des Programms beim Start des Be-trienssystems

67

46 Selbstbau eines elementaren RCLs 461 Hard- und Software Auch ohne gleich ein vielleicht teures physikalisches Experiment zu steuern laumlsst sich mit wenigen Bauelementen ein elementares RCL realisieren Von einer Webseite im Internet sol-len eine Leuchtdiode (LED) ein- oder ausgeschaltet sowie der Zustand der Leuchtdiode und eines Tasters abgefragt werden An Hard- und Software werden benoumltigt

1 Low-Current-LED 5 mm 2 mA 1 Widerstand 18 kΩ 1 Taster und optional zwei 10-polige Wannenstecker mit ungefaumlhr 10 cm passendem Flachbandkabel und Buchsen

Interface in Basisschaltung Null-Modem-Kabel 12 V DC Steckernetzteil (larr 1)

Installierte Bascom-Demo-Version (larr 42)

AVR ISP-Programmer mit 10-poligem Programmierkabel

Installiertes und konfiguriertes AVR Studio 418 (larr 41)

Installiertes Paket XAMPP (larr 52)

Texteditor wie z B Notepad in Windows XP Professional

Konfigurierte Hyperterminalverbindung (larr 54)

462 Bestuumlckung der Platine Abb 29 zeigt zur Orientierung fuumlr das Einloumlten der Bauelemente die fertig bestuumlckte Platine des Interface

Abb 29 Mit elementarem RCL bestuumlckte Platine

des Interface

LED mit Vorwiderstand und der Taster sind rechts neben dem Mikrocontroller im Lochraster-bereich aufgebaut und uumlber Wannenstecker und Flachbandkabel mit dem Port A des Mikro-controllers verbunden (die drei Bauteile rechts neben dem ATmega16 werden nicht benouml-tigt) Tab 13 erlaumlutert die Schritte zur Bestuumlckung der Platine des Interface

68

Nr Schaltung Erlaumluterung

1

Die Leuchtdiode (LED) mit dem Pluspol (langes Beinchen) an PortA0 (PIN40 oben rechts) des Mikrocontrollers anloumlten

An das kurze Beinchen einen 18kΩ Widerstand loumlten dessen anderes Ende mit der Masse (GND) verbinden

2

Den Taster mit PortA1 (PIN39 = 2 Beinchen von oben rechts) und Masse (GND) verbinden

3

Draufsicht

Belegung des 10-poligen Wannensteckers 1 GND (Masse) im Foto oben links 2 +5 V 3 PortA0 4 PortA1 10 PortA7 im Foto unten rechts

Tab 13 Schritte zum Aufbau des elementaren RCLs

463 Lokal gesteuertes RCL Nachfolgend ist der Basic-Programmcode des Mikrocontrollers zur Steuerung und Abfrage der LED und des Tasters angegeben 01 $regfile = m16DEFdat Microcontroller ATmega16 02 $crystal = 11059200 110592MHz Quarz 03 $baud = 9600 Baudrate 04 05 ---[ Variables ]--------------------------------------------------------------- 06 Dim Rs232kommando As String 10 erst Befehlspuffer dann Kommando 07 Dim Parameter As String 10 Parameter 08 Dim Str_pos As Byte Position von Leerzeichen zur Trennung von Kommando und Pa-rameter 09 10 ---[ Initialisierung ]--------------------------------------------------------- 11 Ddra0 = 1 PortA0 als Ausgang fuumlr LED 12 Porta0 = 0 LED aus 13 Ddra1 = 0 PortA1 als Eingang fuumlr Taster 14 Porta1 = 1 Pull-Up aktivieren 15 16 ---[ Main program loop ]------------------------------------------------------- 17 Do Start der Endlos-Schleife 18 19 If Ischarwaiting() = 1 Then Zeichen uumlber RS232 empfangen 20 Input Rs232kommando neues Kommando lesen 21 Parameter = Parameter initialisieren 22 Str_pos = Instr(rs232kommando ) Leerzeichen im Kommando suchen 23 If Str_pos gt 0 Then falls Leerzeichen dann in Kommando+Parameter zerlegen 24 Incr Str_pos Str_pos soll jetzt auf 1Zeichen des Parameters zeigen 25 Parameter = Mid(rs232kommando Str_pos ) Parameter = Teilstring nach Leerzeichen 26 Parameter = Ucase(parameter) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 27 Str_pos = Str_pos - 2 Str_pos soll jetzt auf letztes Zeichen des Kommandos zeigen 28 Rs232kommando = Left(rs232kommando Str_pos)Kommando = Teilstring vor Leerzeichen 29 Rs232kommando = Ucase(rs232kommando) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 30 End If 31 32 Select Case Rs232kommando Eventhandler Interpretation der Kommandos 33 Case Print Hilfe Hilfeseite anzeigen 34 Print LED on - LED einschalten 35 Print LED off - LED ausschalten 36 Print LED - zeigt Status der LED an 37 Print SW - zeigt Status des Schalters an 38

1K8

LED rotmicroC PortA0(PIN40)

Taster

microC PortA1(PIN39)

1

3

2

69

39 Case LED If Parameter = ON Then LED schalten 40 Porta0 = 1 41 End If 42 If Parameter = OFF Then 43 Porta0 = 0 44 End If 45 46 Case LED If Porta0 = 0 Then Status der LED ausgeben 47 Print LED aus 48 Else 49 Print LED an 50 End If 51 52 Case SW If Pina1 = 1 Then Status des Schalters ausgeben 53 Print Taster offen 54 Else 55 Print Taster geschlossen 56 End If 57 58 Case Else Print gt Rs232kommando lt ungueltiger Befehl - weitere Infos mit Info bei unguumlltigen Eingaben 59 End Select 60 61 End If 62 63 Loop Endlos-Schleife Springe zu Do 64 65 End wird nie erreicht

Der erste Teil des Programms (Zeilen 1 - 15) enthaumllt die Systemparameter Variablen und Initialisierung der Ein- und Ausgaumlnge Der zweite Teil enthaumllt ab Zeile 17 das Hauptpro-gramm in dem Benutzereingaben uumlber die serielle Schnittstelle empfangen interpretiert und in entsprechende Anweisungen umgesetzt werden Tab 14 erlaumlutert den Programmcode de-taillierter

Zeilen Erlaumluterung

1 - 3 Diese Angaben teilen dem Compiler (Bascom) mit welcher Prozessor eingesetzt wird wie schnell dieser getaktet (Quarz) ist und mit welcher Uumlbertragungsgeschwindigkeit die Kommunikation uumlber die serielle Schnittstelle (RS232) mit dem PC erfolgen soll

6 - 8 Es werden drei Variablen genutzt Die Eingabe uumlber die serielle Schnittstelle wird in rs232kommando gespeichert Es wird ein Text der Form Kommando ltLeerzeichengt Parameter erwartet so dass die Variable Parameter den-selbigen aufnimmt Die Variable str_pos wird fuumlr die Trennung von Kommando und Parameter benoumltigt

11 - 14

Mit dem Befehl ddrPX (ddr = data direction) wird festgelegt ob ein Beinchen als Ausgang (=1) oder als Eingang (=0) arbeiten soll Der ATmega16 besitzt 32 Ein-Ausgaumlnge die in vier Ports (P=AD) zu je 8 Pins (X=07) unterteilt sind ddrA0 = 1 legt also das 1 Beinchen (Pin 0) von PortA als Ausgang (=1) fest Mit dem Befehl PortA0 =1 kann dieser Pin dann durch Zuweisen von 1 oder 0 an- bzw ausgeschaltet werden Im Datenblatt erfahren Sie welches der 40 Beinchen des Mikrocontrollers wie bezeichnet wird (Pin-Belegung) Wird ein Beinchen als Eingang verwendet (ddrA1 = 0) koumlnnen Sie optional einen so genannten Pull-Up-Widerstand aktivieren (PortA1=1) oder deaktivieren (PortA1=0) Auch hierzu sollten Sie sich unbedingt mit dem Datenblatt vertraut machen

17 63 Das Hauptprogramm besteht aus einer Endlosschleife d h der Mikrocontroller verrichtet ununterbrochen seinen Job so lange er mit Strom versorgt wird

19 - 30 Falls ein Zeichen uumlber die serielle Schnittstelle empfangen wurde wird dieses und alle folgenden gelesen Anschlie-szligend wird gepruumlft ob der empfangene Text von der Form Kommando ltLeerzeichengt Parameter ist so dass er ge-gebenenfalls in ein Kommando und einen Parameter zerlegt werden kann

32 - 59 Dieser Abschnitt wird mit Event-Handler bezeichnet Hier wird auf die Kommandos (Events) reagiert und die ent-sprechenden Schritte ausgefuumlhrt zB schalten LED je nach Wert der Variablen Parameter an- bzw ausschalten

46 52

In beiden Zeilen wird ein Wert eines Ports abgefragt Unterschiedlich ist dass in Zeile 46 der Status eines Ausgangs abgefragt wird (porta0) und in Zeile 52 der Zustand eines Eingangs (pina0) Die Anweisung IF porta0 = 0 THEN pruumlft (hier ist = ein Vergleich und KEINE Zuweisung) ob zuletzt die LED ausgeschaltet (Zuweisung porta0 = 0) wurde Die Anweisung IF pina1= 1 THEN liest den Status eines Eingangs Hier kann festgestellt werden ob der Eingang uumlber den internen Pull-UP-Widerstand auf +5V liegt (pina1 liefert 1) oder ob der Schalter den Eingang mit Masse (0V) verbindet (pina1 liefert 0)

Tab 14 Erlaumluterung des Mikrocontroller-Programmcodes fuumlr elementares RCL

70

In Bascom AVR eine neue Datei erzeugen (FileNew) den Programmcode ohne Kommenta-re eingeben und mit ProgramCompile (F7) eine Hexadezimaldatei erzeugen Die Hexadezi-maldatei mit dem AVR-Studio und dem AVR-ISP-Programmer in den Mikrocontroller schrei-ben (larr 222 Programmuumlbertragung) Nach dem Verbinden von Computer und Interface per Null-Modem-Kabel kann durch Eingabe von in das konfigurierte Hyperterminal die Befehls-liste in Abb 30 aufgerufen werden

Abb 30 Aufgerufene Befehlsliste im Hyperterminal

Durch Eingabe von LED on oder LED off kann die LED ein- und ausgeschaltet LED zeigt den Status der LED und sw den Status des Tasters an Alternativ zum Hyperterminal kann auch das Terminal in BASCOM unter ToolsTerminal Emulator verwendet werden (larr 422)

464 Ferngesteuertes RCL Zum Ansteuern des Interfaces und zum Bedienen des Versuchsaufbaus uumlber das Internet wird eine Webseite benoumltigt die dem Benutzer alle Bedienelemente des Experiments zur Verfuumlgung stellt

Der Benutzer benoumltigt anklickbare Buttons im Webbrowser

Der Webserver muss die Information welcher Button gedruumlckt wurde empfangen und ein entsprechendes Kommando uumlber die serielle Schnittstelle an das Interface senden

Beide Schritte sind im nachfolgenden PHPHTML-Quellcode zusammengefasst 01 ltDOCTYPE HTML PUBLIC -W3CDTD HTML 401 TransitionalEN httpwwww3orgTRhtml4loosedtdgt 02 lthtmlgt 03 ltheadgt 04 ltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1gt 05 lttitlegtelementares RCLlttitlegt 06 ltheadgt 07 08 ltbodygt 09 ltphp 10 if (isset($_POST[Kommando])) wurde bereits Kommando gesendet 11 if( ( $handle = fopen( COM1 w+ ) ) ) Schnittstelle oumlffnen 12

71

13 throw new Exception( Can not access serial port 2 ) ohne Erfolg 14 15 fwrite( $handle $_POST[Kommando] chr( 13 ) ) Befehl an Interface senden 16 switch ( $_POST[Kommando] ) Antwort von Interface auswerten 17 case LED $tmp = fgets( $handle ) Echo von Interface ignorieren 18 $antwort = fgets( $handle ) Antwort des Interfaces 19 echo Antwort $antwort Ausgabe auf Webseite 20 break switch verlassen 21 22 case SW $tmp = fgets( $handle ) Echo von Interface ignorieren 23 $antwort = fgets( $handle ) Antwort des Interfaces 24 echo Antwort $antwort Ausgabe auf Webseite 25 break switch verlassen 26 27 28 29 fclose( $handle ) Schnittstelle schlieszligen 30 31 else 32 `mode com1 BAUD=9600 PARITY=N data=8 stop=1 xon=off` Schnittstellenparameter setzen 33 34 35 gt 36 37 lth3gtBefehl sendenlth3gt 38 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 39 ltinput type=hidden name=Kommando value=LED ON gt 40 ltinput type=submit value=LED anschalten gt 41 ltformgt 42 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 43 ltinput type=hidden name=Kommando value=LED OFF gt 44 ltinput type=submit value=LED ausschalten gt 45 ltformgt 46 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 47 ltinput type=hidden name=Kommando value=LED gt 48 ltinput type=submit value=LED abfragen gt 49 ltformgt 50 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 51 ltinput type=hidden name=Kommando value=SW gt 52 ltinput type=submit value=Taster abfragen gt 53 ltformgt 54 ltbodygt 55 lthtmlgt Den Quellcode in den Texteditor kopieren und im Ordner htdocs von XAMPP z B unter rclphp speichern HTML-Dateien mit PHP-Code (Zeilen 9-35) muumlssen mit der Erweiterung php gespeichert werden damit der Apache Webserver zwischen HTML-Seiten mit und ohne PHP-Code unterscheiden kann Den installierten Apache Webserver starten (larr 452) und im Adressfeld des Webbrowsers die IP-Adresse http127001rclphp aufrufen Das Bedi-enfeld des elementaren RCLs in Abb 31 wird im Browserfenster angezeigt

72

Abb 31 Laborseite des elementaren RCLs

Im Bedienfeld kann die LED an- und ausgeschaltet sowie der Status von LED und Taster abgefragt werden

  • 0 Warum ein Tutorial zur RCL-Technik
  • 1 Technische Konzeption
    • 11 Einfuumlhrung
    • 12 Wahl der RCL-Technik
      • 2 Lokal gesteuertes RCL
        • 21 Interface
          • 211 Mikrocontroller
          • 212 Basisschaltung und Erweiterungsschaltungen
          • 213 Programmierung des Mikrocontrollers
            • 22 Hyperterminal
            • 23 Positionieren von Objekten
              • 231 Hybrid-Schrittmotoren
              • 232 Schrittmotorsteuerung und Positionierungsmechanik
                  • 3 Ferngesteuertes RCL
                    • 31 RCL-Server
                    • 32 Laborseite
                      • 321 Steuerung des RCLs uumlber das Bedienfeld
                      • 322 Videouumlbertragung im Webcamfeld
                        • 33 Standard-Lernumgebung
                          • 4 ANHANG
                            • 41 Interface in Basisschaltung
                              • 411 Schaltplan und Bauteilliste
                              • 412 Bestuumlckung der Platine
                                • 42 Erweiterungsschaltungen
                                  • 421 Uumlbersicht
                                  • 422 TMC222-Modul zur Schrittmotorsteuerung
                                    • 4221 Schaltplan und Bauteilliste
                                    • 4222 Bestuumlckung der Platine
                                    • 4223 Quellcode des Mikrocontroller-Programms
                                      • 423 Geschaltete Spannungsquellen und Verbraucher
                                      • 424 Steuerung von Gleichstrommotoren
                                        • 43 Quellcodes zum RCL Elektronenbeugung
                                          • 431 Mikrocontroller-Programmierung
                                          • 432 PHP-Programmierung
                                          • 433 Bedienfeld der Laborseite
                                          • 434 Webcamfeld der Laborseite
                                            • 44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung
                                              • 441 AVR-Studio 418
                                                • 4411 Installation
                                                • 4412 Konfiguration
                                                  • 442 BASCOM 11198 Demoversion
                                                    • 4421 Installation
                                                    • 4422 Konfiguration
                                                        • 45 Installation und Konfiguration von Programmen auf dem RCL-Server
                                                          • 451 Einrichten des Internet-Zugangs
                                                          • 452 Paket XAMPP 174
                                                          • 453 Videoserver webcamXP 5 Private
                                                          • 454 Terminalprogramm Hyperterminal
                                                          • 455 Fernwartungssoftware TeamViewer 6 Host
                                                            • 46 Selbstbau eines elementaren RCLs
                                                              • 461 Hard- und Software
                                                              • 462 Bestuumlckung der Platine
                                                              • 463 Lokal gesteuertes RCL
                                                              • 464 Ferngesteuertes RCL

67

46 Selbstbau eines elementaren RCLs 461 Hard- und Software Auch ohne gleich ein vielleicht teures physikalisches Experiment zu steuern laumlsst sich mit wenigen Bauelementen ein elementares RCL realisieren Von einer Webseite im Internet sol-len eine Leuchtdiode (LED) ein- oder ausgeschaltet sowie der Zustand der Leuchtdiode und eines Tasters abgefragt werden An Hard- und Software werden benoumltigt

1 Low-Current-LED 5 mm 2 mA 1 Widerstand 18 kΩ 1 Taster und optional zwei 10-polige Wannenstecker mit ungefaumlhr 10 cm passendem Flachbandkabel und Buchsen

Interface in Basisschaltung Null-Modem-Kabel 12 V DC Steckernetzteil (larr 1)

Installierte Bascom-Demo-Version (larr 42)

AVR ISP-Programmer mit 10-poligem Programmierkabel

Installiertes und konfiguriertes AVR Studio 418 (larr 41)

Installiertes Paket XAMPP (larr 52)

Texteditor wie z B Notepad in Windows XP Professional

Konfigurierte Hyperterminalverbindung (larr 54)

462 Bestuumlckung der Platine Abb 29 zeigt zur Orientierung fuumlr das Einloumlten der Bauelemente die fertig bestuumlckte Platine des Interface

Abb 29 Mit elementarem RCL bestuumlckte Platine

des Interface

LED mit Vorwiderstand und der Taster sind rechts neben dem Mikrocontroller im Lochraster-bereich aufgebaut und uumlber Wannenstecker und Flachbandkabel mit dem Port A des Mikro-controllers verbunden (die drei Bauteile rechts neben dem ATmega16 werden nicht benouml-tigt) Tab 13 erlaumlutert die Schritte zur Bestuumlckung der Platine des Interface

68

Nr Schaltung Erlaumluterung

1

Die Leuchtdiode (LED) mit dem Pluspol (langes Beinchen) an PortA0 (PIN40 oben rechts) des Mikrocontrollers anloumlten

An das kurze Beinchen einen 18kΩ Widerstand loumlten dessen anderes Ende mit der Masse (GND) verbinden

2

Den Taster mit PortA1 (PIN39 = 2 Beinchen von oben rechts) und Masse (GND) verbinden

3

Draufsicht

Belegung des 10-poligen Wannensteckers 1 GND (Masse) im Foto oben links 2 +5 V 3 PortA0 4 PortA1 10 PortA7 im Foto unten rechts

Tab 13 Schritte zum Aufbau des elementaren RCLs

463 Lokal gesteuertes RCL Nachfolgend ist der Basic-Programmcode des Mikrocontrollers zur Steuerung und Abfrage der LED und des Tasters angegeben 01 $regfile = m16DEFdat Microcontroller ATmega16 02 $crystal = 11059200 110592MHz Quarz 03 $baud = 9600 Baudrate 04 05 ---[ Variables ]--------------------------------------------------------------- 06 Dim Rs232kommando As String 10 erst Befehlspuffer dann Kommando 07 Dim Parameter As String 10 Parameter 08 Dim Str_pos As Byte Position von Leerzeichen zur Trennung von Kommando und Pa-rameter 09 10 ---[ Initialisierung ]--------------------------------------------------------- 11 Ddra0 = 1 PortA0 als Ausgang fuumlr LED 12 Porta0 = 0 LED aus 13 Ddra1 = 0 PortA1 als Eingang fuumlr Taster 14 Porta1 = 1 Pull-Up aktivieren 15 16 ---[ Main program loop ]------------------------------------------------------- 17 Do Start der Endlos-Schleife 18 19 If Ischarwaiting() = 1 Then Zeichen uumlber RS232 empfangen 20 Input Rs232kommando neues Kommando lesen 21 Parameter = Parameter initialisieren 22 Str_pos = Instr(rs232kommando ) Leerzeichen im Kommando suchen 23 If Str_pos gt 0 Then falls Leerzeichen dann in Kommando+Parameter zerlegen 24 Incr Str_pos Str_pos soll jetzt auf 1Zeichen des Parameters zeigen 25 Parameter = Mid(rs232kommando Str_pos ) Parameter = Teilstring nach Leerzeichen 26 Parameter = Ucase(parameter) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 27 Str_pos = Str_pos - 2 Str_pos soll jetzt auf letztes Zeichen des Kommandos zeigen 28 Rs232kommando = Left(rs232kommando Str_pos)Kommando = Teilstring vor Leerzeichen 29 Rs232kommando = Ucase(rs232kommando) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 30 End If 31 32 Select Case Rs232kommando Eventhandler Interpretation der Kommandos 33 Case Print Hilfe Hilfeseite anzeigen 34 Print LED on - LED einschalten 35 Print LED off - LED ausschalten 36 Print LED - zeigt Status der LED an 37 Print SW - zeigt Status des Schalters an 38

1K8

LED rotmicroC PortA0(PIN40)

Taster

microC PortA1(PIN39)

1

3

2

69

39 Case LED If Parameter = ON Then LED schalten 40 Porta0 = 1 41 End If 42 If Parameter = OFF Then 43 Porta0 = 0 44 End If 45 46 Case LED If Porta0 = 0 Then Status der LED ausgeben 47 Print LED aus 48 Else 49 Print LED an 50 End If 51 52 Case SW If Pina1 = 1 Then Status des Schalters ausgeben 53 Print Taster offen 54 Else 55 Print Taster geschlossen 56 End If 57 58 Case Else Print gt Rs232kommando lt ungueltiger Befehl - weitere Infos mit Info bei unguumlltigen Eingaben 59 End Select 60 61 End If 62 63 Loop Endlos-Schleife Springe zu Do 64 65 End wird nie erreicht

Der erste Teil des Programms (Zeilen 1 - 15) enthaumllt die Systemparameter Variablen und Initialisierung der Ein- und Ausgaumlnge Der zweite Teil enthaumllt ab Zeile 17 das Hauptpro-gramm in dem Benutzereingaben uumlber die serielle Schnittstelle empfangen interpretiert und in entsprechende Anweisungen umgesetzt werden Tab 14 erlaumlutert den Programmcode de-taillierter

Zeilen Erlaumluterung

1 - 3 Diese Angaben teilen dem Compiler (Bascom) mit welcher Prozessor eingesetzt wird wie schnell dieser getaktet (Quarz) ist und mit welcher Uumlbertragungsgeschwindigkeit die Kommunikation uumlber die serielle Schnittstelle (RS232) mit dem PC erfolgen soll

6 - 8 Es werden drei Variablen genutzt Die Eingabe uumlber die serielle Schnittstelle wird in rs232kommando gespeichert Es wird ein Text der Form Kommando ltLeerzeichengt Parameter erwartet so dass die Variable Parameter den-selbigen aufnimmt Die Variable str_pos wird fuumlr die Trennung von Kommando und Parameter benoumltigt

11 - 14

Mit dem Befehl ddrPX (ddr = data direction) wird festgelegt ob ein Beinchen als Ausgang (=1) oder als Eingang (=0) arbeiten soll Der ATmega16 besitzt 32 Ein-Ausgaumlnge die in vier Ports (P=AD) zu je 8 Pins (X=07) unterteilt sind ddrA0 = 1 legt also das 1 Beinchen (Pin 0) von PortA als Ausgang (=1) fest Mit dem Befehl PortA0 =1 kann dieser Pin dann durch Zuweisen von 1 oder 0 an- bzw ausgeschaltet werden Im Datenblatt erfahren Sie welches der 40 Beinchen des Mikrocontrollers wie bezeichnet wird (Pin-Belegung) Wird ein Beinchen als Eingang verwendet (ddrA1 = 0) koumlnnen Sie optional einen so genannten Pull-Up-Widerstand aktivieren (PortA1=1) oder deaktivieren (PortA1=0) Auch hierzu sollten Sie sich unbedingt mit dem Datenblatt vertraut machen

17 63 Das Hauptprogramm besteht aus einer Endlosschleife d h der Mikrocontroller verrichtet ununterbrochen seinen Job so lange er mit Strom versorgt wird

19 - 30 Falls ein Zeichen uumlber die serielle Schnittstelle empfangen wurde wird dieses und alle folgenden gelesen Anschlie-szligend wird gepruumlft ob der empfangene Text von der Form Kommando ltLeerzeichengt Parameter ist so dass er ge-gebenenfalls in ein Kommando und einen Parameter zerlegt werden kann

32 - 59 Dieser Abschnitt wird mit Event-Handler bezeichnet Hier wird auf die Kommandos (Events) reagiert und die ent-sprechenden Schritte ausgefuumlhrt zB schalten LED je nach Wert der Variablen Parameter an- bzw ausschalten

46 52

In beiden Zeilen wird ein Wert eines Ports abgefragt Unterschiedlich ist dass in Zeile 46 der Status eines Ausgangs abgefragt wird (porta0) und in Zeile 52 der Zustand eines Eingangs (pina0) Die Anweisung IF porta0 = 0 THEN pruumlft (hier ist = ein Vergleich und KEINE Zuweisung) ob zuletzt die LED ausgeschaltet (Zuweisung porta0 = 0) wurde Die Anweisung IF pina1= 1 THEN liest den Status eines Eingangs Hier kann festgestellt werden ob der Eingang uumlber den internen Pull-UP-Widerstand auf +5V liegt (pina1 liefert 1) oder ob der Schalter den Eingang mit Masse (0V) verbindet (pina1 liefert 0)

Tab 14 Erlaumluterung des Mikrocontroller-Programmcodes fuumlr elementares RCL

70

In Bascom AVR eine neue Datei erzeugen (FileNew) den Programmcode ohne Kommenta-re eingeben und mit ProgramCompile (F7) eine Hexadezimaldatei erzeugen Die Hexadezi-maldatei mit dem AVR-Studio und dem AVR-ISP-Programmer in den Mikrocontroller schrei-ben (larr 222 Programmuumlbertragung) Nach dem Verbinden von Computer und Interface per Null-Modem-Kabel kann durch Eingabe von in das konfigurierte Hyperterminal die Befehls-liste in Abb 30 aufgerufen werden

Abb 30 Aufgerufene Befehlsliste im Hyperterminal

Durch Eingabe von LED on oder LED off kann die LED ein- und ausgeschaltet LED zeigt den Status der LED und sw den Status des Tasters an Alternativ zum Hyperterminal kann auch das Terminal in BASCOM unter ToolsTerminal Emulator verwendet werden (larr 422)

464 Ferngesteuertes RCL Zum Ansteuern des Interfaces und zum Bedienen des Versuchsaufbaus uumlber das Internet wird eine Webseite benoumltigt die dem Benutzer alle Bedienelemente des Experiments zur Verfuumlgung stellt

Der Benutzer benoumltigt anklickbare Buttons im Webbrowser

Der Webserver muss die Information welcher Button gedruumlckt wurde empfangen und ein entsprechendes Kommando uumlber die serielle Schnittstelle an das Interface senden

Beide Schritte sind im nachfolgenden PHPHTML-Quellcode zusammengefasst 01 ltDOCTYPE HTML PUBLIC -W3CDTD HTML 401 TransitionalEN httpwwww3orgTRhtml4loosedtdgt 02 lthtmlgt 03 ltheadgt 04 ltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1gt 05 lttitlegtelementares RCLlttitlegt 06 ltheadgt 07 08 ltbodygt 09 ltphp 10 if (isset($_POST[Kommando])) wurde bereits Kommando gesendet 11 if( ( $handle = fopen( COM1 w+ ) ) ) Schnittstelle oumlffnen 12

71

13 throw new Exception( Can not access serial port 2 ) ohne Erfolg 14 15 fwrite( $handle $_POST[Kommando] chr( 13 ) ) Befehl an Interface senden 16 switch ( $_POST[Kommando] ) Antwort von Interface auswerten 17 case LED $tmp = fgets( $handle ) Echo von Interface ignorieren 18 $antwort = fgets( $handle ) Antwort des Interfaces 19 echo Antwort $antwort Ausgabe auf Webseite 20 break switch verlassen 21 22 case SW $tmp = fgets( $handle ) Echo von Interface ignorieren 23 $antwort = fgets( $handle ) Antwort des Interfaces 24 echo Antwort $antwort Ausgabe auf Webseite 25 break switch verlassen 26 27 28 29 fclose( $handle ) Schnittstelle schlieszligen 30 31 else 32 `mode com1 BAUD=9600 PARITY=N data=8 stop=1 xon=off` Schnittstellenparameter setzen 33 34 35 gt 36 37 lth3gtBefehl sendenlth3gt 38 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 39 ltinput type=hidden name=Kommando value=LED ON gt 40 ltinput type=submit value=LED anschalten gt 41 ltformgt 42 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 43 ltinput type=hidden name=Kommando value=LED OFF gt 44 ltinput type=submit value=LED ausschalten gt 45 ltformgt 46 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 47 ltinput type=hidden name=Kommando value=LED gt 48 ltinput type=submit value=LED abfragen gt 49 ltformgt 50 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 51 ltinput type=hidden name=Kommando value=SW gt 52 ltinput type=submit value=Taster abfragen gt 53 ltformgt 54 ltbodygt 55 lthtmlgt Den Quellcode in den Texteditor kopieren und im Ordner htdocs von XAMPP z B unter rclphp speichern HTML-Dateien mit PHP-Code (Zeilen 9-35) muumlssen mit der Erweiterung php gespeichert werden damit der Apache Webserver zwischen HTML-Seiten mit und ohne PHP-Code unterscheiden kann Den installierten Apache Webserver starten (larr 452) und im Adressfeld des Webbrowsers die IP-Adresse http127001rclphp aufrufen Das Bedi-enfeld des elementaren RCLs in Abb 31 wird im Browserfenster angezeigt

72

Abb 31 Laborseite des elementaren RCLs

Im Bedienfeld kann die LED an- und ausgeschaltet sowie der Status von LED und Taster abgefragt werden

  • 0 Warum ein Tutorial zur RCL-Technik
  • 1 Technische Konzeption
    • 11 Einfuumlhrung
    • 12 Wahl der RCL-Technik
      • 2 Lokal gesteuertes RCL
        • 21 Interface
          • 211 Mikrocontroller
          • 212 Basisschaltung und Erweiterungsschaltungen
          • 213 Programmierung des Mikrocontrollers
            • 22 Hyperterminal
            • 23 Positionieren von Objekten
              • 231 Hybrid-Schrittmotoren
              • 232 Schrittmotorsteuerung und Positionierungsmechanik
                  • 3 Ferngesteuertes RCL
                    • 31 RCL-Server
                    • 32 Laborseite
                      • 321 Steuerung des RCLs uumlber das Bedienfeld
                      • 322 Videouumlbertragung im Webcamfeld
                        • 33 Standard-Lernumgebung
                          • 4 ANHANG
                            • 41 Interface in Basisschaltung
                              • 411 Schaltplan und Bauteilliste
                              • 412 Bestuumlckung der Platine
                                • 42 Erweiterungsschaltungen
                                  • 421 Uumlbersicht
                                  • 422 TMC222-Modul zur Schrittmotorsteuerung
                                    • 4221 Schaltplan und Bauteilliste
                                    • 4222 Bestuumlckung der Platine
                                    • 4223 Quellcode des Mikrocontroller-Programms
                                      • 423 Geschaltete Spannungsquellen und Verbraucher
                                      • 424 Steuerung von Gleichstrommotoren
                                        • 43 Quellcodes zum RCL Elektronenbeugung
                                          • 431 Mikrocontroller-Programmierung
                                          • 432 PHP-Programmierung
                                          • 433 Bedienfeld der Laborseite
                                          • 434 Webcamfeld der Laborseite
                                            • 44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung
                                              • 441 AVR-Studio 418
                                                • 4411 Installation
                                                • 4412 Konfiguration
                                                  • 442 BASCOM 11198 Demoversion
                                                    • 4421 Installation
                                                    • 4422 Konfiguration
                                                        • 45 Installation und Konfiguration von Programmen auf dem RCL-Server
                                                          • 451 Einrichten des Internet-Zugangs
                                                          • 452 Paket XAMPP 174
                                                          • 453 Videoserver webcamXP 5 Private
                                                          • 454 Terminalprogramm Hyperterminal
                                                          • 455 Fernwartungssoftware TeamViewer 6 Host
                                                            • 46 Selbstbau eines elementaren RCLs
                                                              • 461 Hard- und Software
                                                              • 462 Bestuumlckung der Platine
                                                              • 463 Lokal gesteuertes RCL
                                                              • 464 Ferngesteuertes RCL

68

Nr Schaltung Erlaumluterung

1

Die Leuchtdiode (LED) mit dem Pluspol (langes Beinchen) an PortA0 (PIN40 oben rechts) des Mikrocontrollers anloumlten

An das kurze Beinchen einen 18kΩ Widerstand loumlten dessen anderes Ende mit der Masse (GND) verbinden

2

Den Taster mit PortA1 (PIN39 = 2 Beinchen von oben rechts) und Masse (GND) verbinden

3

Draufsicht

Belegung des 10-poligen Wannensteckers 1 GND (Masse) im Foto oben links 2 +5 V 3 PortA0 4 PortA1 10 PortA7 im Foto unten rechts

Tab 13 Schritte zum Aufbau des elementaren RCLs

463 Lokal gesteuertes RCL Nachfolgend ist der Basic-Programmcode des Mikrocontrollers zur Steuerung und Abfrage der LED und des Tasters angegeben 01 $regfile = m16DEFdat Microcontroller ATmega16 02 $crystal = 11059200 110592MHz Quarz 03 $baud = 9600 Baudrate 04 05 ---[ Variables ]--------------------------------------------------------------- 06 Dim Rs232kommando As String 10 erst Befehlspuffer dann Kommando 07 Dim Parameter As String 10 Parameter 08 Dim Str_pos As Byte Position von Leerzeichen zur Trennung von Kommando und Pa-rameter 09 10 ---[ Initialisierung ]--------------------------------------------------------- 11 Ddra0 = 1 PortA0 als Ausgang fuumlr LED 12 Porta0 = 0 LED aus 13 Ddra1 = 0 PortA1 als Eingang fuumlr Taster 14 Porta1 = 1 Pull-Up aktivieren 15 16 ---[ Main program loop ]------------------------------------------------------- 17 Do Start der Endlos-Schleife 18 19 If Ischarwaiting() = 1 Then Zeichen uumlber RS232 empfangen 20 Input Rs232kommando neues Kommando lesen 21 Parameter = Parameter initialisieren 22 Str_pos = Instr(rs232kommando ) Leerzeichen im Kommando suchen 23 If Str_pos gt 0 Then falls Leerzeichen dann in Kommando+Parameter zerlegen 24 Incr Str_pos Str_pos soll jetzt auf 1Zeichen des Parameters zeigen 25 Parameter = Mid(rs232kommando Str_pos ) Parameter = Teilstring nach Leerzeichen 26 Parameter = Ucase(parameter) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 27 Str_pos = Str_pos - 2 Str_pos soll jetzt auf letztes Zeichen des Kommandos zeigen 28 Rs232kommando = Left(rs232kommando Str_pos)Kommando = Teilstring vor Leerzeichen 29 Rs232kommando = Ucase(rs232kommando) in Grossbuchstaben umwandeln damit unabhaumlngig von Schreib-weise 30 End If 31 32 Select Case Rs232kommando Eventhandler Interpretation der Kommandos 33 Case Print Hilfe Hilfeseite anzeigen 34 Print LED on - LED einschalten 35 Print LED off - LED ausschalten 36 Print LED - zeigt Status der LED an 37 Print SW - zeigt Status des Schalters an 38

1K8

LED rotmicroC PortA0(PIN40)

Taster

microC PortA1(PIN39)

1

3

2

69

39 Case LED If Parameter = ON Then LED schalten 40 Porta0 = 1 41 End If 42 If Parameter = OFF Then 43 Porta0 = 0 44 End If 45 46 Case LED If Porta0 = 0 Then Status der LED ausgeben 47 Print LED aus 48 Else 49 Print LED an 50 End If 51 52 Case SW If Pina1 = 1 Then Status des Schalters ausgeben 53 Print Taster offen 54 Else 55 Print Taster geschlossen 56 End If 57 58 Case Else Print gt Rs232kommando lt ungueltiger Befehl - weitere Infos mit Info bei unguumlltigen Eingaben 59 End Select 60 61 End If 62 63 Loop Endlos-Schleife Springe zu Do 64 65 End wird nie erreicht

Der erste Teil des Programms (Zeilen 1 - 15) enthaumllt die Systemparameter Variablen und Initialisierung der Ein- und Ausgaumlnge Der zweite Teil enthaumllt ab Zeile 17 das Hauptpro-gramm in dem Benutzereingaben uumlber die serielle Schnittstelle empfangen interpretiert und in entsprechende Anweisungen umgesetzt werden Tab 14 erlaumlutert den Programmcode de-taillierter

Zeilen Erlaumluterung

1 - 3 Diese Angaben teilen dem Compiler (Bascom) mit welcher Prozessor eingesetzt wird wie schnell dieser getaktet (Quarz) ist und mit welcher Uumlbertragungsgeschwindigkeit die Kommunikation uumlber die serielle Schnittstelle (RS232) mit dem PC erfolgen soll

6 - 8 Es werden drei Variablen genutzt Die Eingabe uumlber die serielle Schnittstelle wird in rs232kommando gespeichert Es wird ein Text der Form Kommando ltLeerzeichengt Parameter erwartet so dass die Variable Parameter den-selbigen aufnimmt Die Variable str_pos wird fuumlr die Trennung von Kommando und Parameter benoumltigt

11 - 14

Mit dem Befehl ddrPX (ddr = data direction) wird festgelegt ob ein Beinchen als Ausgang (=1) oder als Eingang (=0) arbeiten soll Der ATmega16 besitzt 32 Ein-Ausgaumlnge die in vier Ports (P=AD) zu je 8 Pins (X=07) unterteilt sind ddrA0 = 1 legt also das 1 Beinchen (Pin 0) von PortA als Ausgang (=1) fest Mit dem Befehl PortA0 =1 kann dieser Pin dann durch Zuweisen von 1 oder 0 an- bzw ausgeschaltet werden Im Datenblatt erfahren Sie welches der 40 Beinchen des Mikrocontrollers wie bezeichnet wird (Pin-Belegung) Wird ein Beinchen als Eingang verwendet (ddrA1 = 0) koumlnnen Sie optional einen so genannten Pull-Up-Widerstand aktivieren (PortA1=1) oder deaktivieren (PortA1=0) Auch hierzu sollten Sie sich unbedingt mit dem Datenblatt vertraut machen

17 63 Das Hauptprogramm besteht aus einer Endlosschleife d h der Mikrocontroller verrichtet ununterbrochen seinen Job so lange er mit Strom versorgt wird

19 - 30 Falls ein Zeichen uumlber die serielle Schnittstelle empfangen wurde wird dieses und alle folgenden gelesen Anschlie-szligend wird gepruumlft ob der empfangene Text von der Form Kommando ltLeerzeichengt Parameter ist so dass er ge-gebenenfalls in ein Kommando und einen Parameter zerlegt werden kann

32 - 59 Dieser Abschnitt wird mit Event-Handler bezeichnet Hier wird auf die Kommandos (Events) reagiert und die ent-sprechenden Schritte ausgefuumlhrt zB schalten LED je nach Wert der Variablen Parameter an- bzw ausschalten

46 52

In beiden Zeilen wird ein Wert eines Ports abgefragt Unterschiedlich ist dass in Zeile 46 der Status eines Ausgangs abgefragt wird (porta0) und in Zeile 52 der Zustand eines Eingangs (pina0) Die Anweisung IF porta0 = 0 THEN pruumlft (hier ist = ein Vergleich und KEINE Zuweisung) ob zuletzt die LED ausgeschaltet (Zuweisung porta0 = 0) wurde Die Anweisung IF pina1= 1 THEN liest den Status eines Eingangs Hier kann festgestellt werden ob der Eingang uumlber den internen Pull-UP-Widerstand auf +5V liegt (pina1 liefert 1) oder ob der Schalter den Eingang mit Masse (0V) verbindet (pina1 liefert 0)

Tab 14 Erlaumluterung des Mikrocontroller-Programmcodes fuumlr elementares RCL

70

In Bascom AVR eine neue Datei erzeugen (FileNew) den Programmcode ohne Kommenta-re eingeben und mit ProgramCompile (F7) eine Hexadezimaldatei erzeugen Die Hexadezi-maldatei mit dem AVR-Studio und dem AVR-ISP-Programmer in den Mikrocontroller schrei-ben (larr 222 Programmuumlbertragung) Nach dem Verbinden von Computer und Interface per Null-Modem-Kabel kann durch Eingabe von in das konfigurierte Hyperterminal die Befehls-liste in Abb 30 aufgerufen werden

Abb 30 Aufgerufene Befehlsliste im Hyperterminal

Durch Eingabe von LED on oder LED off kann die LED ein- und ausgeschaltet LED zeigt den Status der LED und sw den Status des Tasters an Alternativ zum Hyperterminal kann auch das Terminal in BASCOM unter ToolsTerminal Emulator verwendet werden (larr 422)

464 Ferngesteuertes RCL Zum Ansteuern des Interfaces und zum Bedienen des Versuchsaufbaus uumlber das Internet wird eine Webseite benoumltigt die dem Benutzer alle Bedienelemente des Experiments zur Verfuumlgung stellt

Der Benutzer benoumltigt anklickbare Buttons im Webbrowser

Der Webserver muss die Information welcher Button gedruumlckt wurde empfangen und ein entsprechendes Kommando uumlber die serielle Schnittstelle an das Interface senden

Beide Schritte sind im nachfolgenden PHPHTML-Quellcode zusammengefasst 01 ltDOCTYPE HTML PUBLIC -W3CDTD HTML 401 TransitionalEN httpwwww3orgTRhtml4loosedtdgt 02 lthtmlgt 03 ltheadgt 04 ltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1gt 05 lttitlegtelementares RCLlttitlegt 06 ltheadgt 07 08 ltbodygt 09 ltphp 10 if (isset($_POST[Kommando])) wurde bereits Kommando gesendet 11 if( ( $handle = fopen( COM1 w+ ) ) ) Schnittstelle oumlffnen 12

71

13 throw new Exception( Can not access serial port 2 ) ohne Erfolg 14 15 fwrite( $handle $_POST[Kommando] chr( 13 ) ) Befehl an Interface senden 16 switch ( $_POST[Kommando] ) Antwort von Interface auswerten 17 case LED $tmp = fgets( $handle ) Echo von Interface ignorieren 18 $antwort = fgets( $handle ) Antwort des Interfaces 19 echo Antwort $antwort Ausgabe auf Webseite 20 break switch verlassen 21 22 case SW $tmp = fgets( $handle ) Echo von Interface ignorieren 23 $antwort = fgets( $handle ) Antwort des Interfaces 24 echo Antwort $antwort Ausgabe auf Webseite 25 break switch verlassen 26 27 28 29 fclose( $handle ) Schnittstelle schlieszligen 30 31 else 32 `mode com1 BAUD=9600 PARITY=N data=8 stop=1 xon=off` Schnittstellenparameter setzen 33 34 35 gt 36 37 lth3gtBefehl sendenlth3gt 38 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 39 ltinput type=hidden name=Kommando value=LED ON gt 40 ltinput type=submit value=LED anschalten gt 41 ltformgt 42 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 43 ltinput type=hidden name=Kommando value=LED OFF gt 44 ltinput type=submit value=LED ausschalten gt 45 ltformgt 46 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 47 ltinput type=hidden name=Kommando value=LED gt 48 ltinput type=submit value=LED abfragen gt 49 ltformgt 50 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 51 ltinput type=hidden name=Kommando value=SW gt 52 ltinput type=submit value=Taster abfragen gt 53 ltformgt 54 ltbodygt 55 lthtmlgt Den Quellcode in den Texteditor kopieren und im Ordner htdocs von XAMPP z B unter rclphp speichern HTML-Dateien mit PHP-Code (Zeilen 9-35) muumlssen mit der Erweiterung php gespeichert werden damit der Apache Webserver zwischen HTML-Seiten mit und ohne PHP-Code unterscheiden kann Den installierten Apache Webserver starten (larr 452) und im Adressfeld des Webbrowsers die IP-Adresse http127001rclphp aufrufen Das Bedi-enfeld des elementaren RCLs in Abb 31 wird im Browserfenster angezeigt

72

Abb 31 Laborseite des elementaren RCLs

Im Bedienfeld kann die LED an- und ausgeschaltet sowie der Status von LED und Taster abgefragt werden

  • 0 Warum ein Tutorial zur RCL-Technik
  • 1 Technische Konzeption
    • 11 Einfuumlhrung
    • 12 Wahl der RCL-Technik
      • 2 Lokal gesteuertes RCL
        • 21 Interface
          • 211 Mikrocontroller
          • 212 Basisschaltung und Erweiterungsschaltungen
          • 213 Programmierung des Mikrocontrollers
            • 22 Hyperterminal
            • 23 Positionieren von Objekten
              • 231 Hybrid-Schrittmotoren
              • 232 Schrittmotorsteuerung und Positionierungsmechanik
                  • 3 Ferngesteuertes RCL
                    • 31 RCL-Server
                    • 32 Laborseite
                      • 321 Steuerung des RCLs uumlber das Bedienfeld
                      • 322 Videouumlbertragung im Webcamfeld
                        • 33 Standard-Lernumgebung
                          • 4 ANHANG
                            • 41 Interface in Basisschaltung
                              • 411 Schaltplan und Bauteilliste
                              • 412 Bestuumlckung der Platine
                                • 42 Erweiterungsschaltungen
                                  • 421 Uumlbersicht
                                  • 422 TMC222-Modul zur Schrittmotorsteuerung
                                    • 4221 Schaltplan und Bauteilliste
                                    • 4222 Bestuumlckung der Platine
                                    • 4223 Quellcode des Mikrocontroller-Programms
                                      • 423 Geschaltete Spannungsquellen und Verbraucher
                                      • 424 Steuerung von Gleichstrommotoren
                                        • 43 Quellcodes zum RCL Elektronenbeugung
                                          • 431 Mikrocontroller-Programmierung
                                          • 432 PHP-Programmierung
                                          • 433 Bedienfeld der Laborseite
                                          • 434 Webcamfeld der Laborseite
                                            • 44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung
                                              • 441 AVR-Studio 418
                                                • 4411 Installation
                                                • 4412 Konfiguration
                                                  • 442 BASCOM 11198 Demoversion
                                                    • 4421 Installation
                                                    • 4422 Konfiguration
                                                        • 45 Installation und Konfiguration von Programmen auf dem RCL-Server
                                                          • 451 Einrichten des Internet-Zugangs
                                                          • 452 Paket XAMPP 174
                                                          • 453 Videoserver webcamXP 5 Private
                                                          • 454 Terminalprogramm Hyperterminal
                                                          • 455 Fernwartungssoftware TeamViewer 6 Host
                                                            • 46 Selbstbau eines elementaren RCLs
                                                              • 461 Hard- und Software
                                                              • 462 Bestuumlckung der Platine
                                                              • 463 Lokal gesteuertes RCL
                                                              • 464 Ferngesteuertes RCL

69

39 Case LED If Parameter = ON Then LED schalten 40 Porta0 = 1 41 End If 42 If Parameter = OFF Then 43 Porta0 = 0 44 End If 45 46 Case LED If Porta0 = 0 Then Status der LED ausgeben 47 Print LED aus 48 Else 49 Print LED an 50 End If 51 52 Case SW If Pina1 = 1 Then Status des Schalters ausgeben 53 Print Taster offen 54 Else 55 Print Taster geschlossen 56 End If 57 58 Case Else Print gt Rs232kommando lt ungueltiger Befehl - weitere Infos mit Info bei unguumlltigen Eingaben 59 End Select 60 61 End If 62 63 Loop Endlos-Schleife Springe zu Do 64 65 End wird nie erreicht

Der erste Teil des Programms (Zeilen 1 - 15) enthaumllt die Systemparameter Variablen und Initialisierung der Ein- und Ausgaumlnge Der zweite Teil enthaumllt ab Zeile 17 das Hauptpro-gramm in dem Benutzereingaben uumlber die serielle Schnittstelle empfangen interpretiert und in entsprechende Anweisungen umgesetzt werden Tab 14 erlaumlutert den Programmcode de-taillierter

Zeilen Erlaumluterung

1 - 3 Diese Angaben teilen dem Compiler (Bascom) mit welcher Prozessor eingesetzt wird wie schnell dieser getaktet (Quarz) ist und mit welcher Uumlbertragungsgeschwindigkeit die Kommunikation uumlber die serielle Schnittstelle (RS232) mit dem PC erfolgen soll

6 - 8 Es werden drei Variablen genutzt Die Eingabe uumlber die serielle Schnittstelle wird in rs232kommando gespeichert Es wird ein Text der Form Kommando ltLeerzeichengt Parameter erwartet so dass die Variable Parameter den-selbigen aufnimmt Die Variable str_pos wird fuumlr die Trennung von Kommando und Parameter benoumltigt

11 - 14

Mit dem Befehl ddrPX (ddr = data direction) wird festgelegt ob ein Beinchen als Ausgang (=1) oder als Eingang (=0) arbeiten soll Der ATmega16 besitzt 32 Ein-Ausgaumlnge die in vier Ports (P=AD) zu je 8 Pins (X=07) unterteilt sind ddrA0 = 1 legt also das 1 Beinchen (Pin 0) von PortA als Ausgang (=1) fest Mit dem Befehl PortA0 =1 kann dieser Pin dann durch Zuweisen von 1 oder 0 an- bzw ausgeschaltet werden Im Datenblatt erfahren Sie welches der 40 Beinchen des Mikrocontrollers wie bezeichnet wird (Pin-Belegung) Wird ein Beinchen als Eingang verwendet (ddrA1 = 0) koumlnnen Sie optional einen so genannten Pull-Up-Widerstand aktivieren (PortA1=1) oder deaktivieren (PortA1=0) Auch hierzu sollten Sie sich unbedingt mit dem Datenblatt vertraut machen

17 63 Das Hauptprogramm besteht aus einer Endlosschleife d h der Mikrocontroller verrichtet ununterbrochen seinen Job so lange er mit Strom versorgt wird

19 - 30 Falls ein Zeichen uumlber die serielle Schnittstelle empfangen wurde wird dieses und alle folgenden gelesen Anschlie-szligend wird gepruumlft ob der empfangene Text von der Form Kommando ltLeerzeichengt Parameter ist so dass er ge-gebenenfalls in ein Kommando und einen Parameter zerlegt werden kann

32 - 59 Dieser Abschnitt wird mit Event-Handler bezeichnet Hier wird auf die Kommandos (Events) reagiert und die ent-sprechenden Schritte ausgefuumlhrt zB schalten LED je nach Wert der Variablen Parameter an- bzw ausschalten

46 52

In beiden Zeilen wird ein Wert eines Ports abgefragt Unterschiedlich ist dass in Zeile 46 der Status eines Ausgangs abgefragt wird (porta0) und in Zeile 52 der Zustand eines Eingangs (pina0) Die Anweisung IF porta0 = 0 THEN pruumlft (hier ist = ein Vergleich und KEINE Zuweisung) ob zuletzt die LED ausgeschaltet (Zuweisung porta0 = 0) wurde Die Anweisung IF pina1= 1 THEN liest den Status eines Eingangs Hier kann festgestellt werden ob der Eingang uumlber den internen Pull-UP-Widerstand auf +5V liegt (pina1 liefert 1) oder ob der Schalter den Eingang mit Masse (0V) verbindet (pina1 liefert 0)

Tab 14 Erlaumluterung des Mikrocontroller-Programmcodes fuumlr elementares RCL

70

In Bascom AVR eine neue Datei erzeugen (FileNew) den Programmcode ohne Kommenta-re eingeben und mit ProgramCompile (F7) eine Hexadezimaldatei erzeugen Die Hexadezi-maldatei mit dem AVR-Studio und dem AVR-ISP-Programmer in den Mikrocontroller schrei-ben (larr 222 Programmuumlbertragung) Nach dem Verbinden von Computer und Interface per Null-Modem-Kabel kann durch Eingabe von in das konfigurierte Hyperterminal die Befehls-liste in Abb 30 aufgerufen werden

Abb 30 Aufgerufene Befehlsliste im Hyperterminal

Durch Eingabe von LED on oder LED off kann die LED ein- und ausgeschaltet LED zeigt den Status der LED und sw den Status des Tasters an Alternativ zum Hyperterminal kann auch das Terminal in BASCOM unter ToolsTerminal Emulator verwendet werden (larr 422)

464 Ferngesteuertes RCL Zum Ansteuern des Interfaces und zum Bedienen des Versuchsaufbaus uumlber das Internet wird eine Webseite benoumltigt die dem Benutzer alle Bedienelemente des Experiments zur Verfuumlgung stellt

Der Benutzer benoumltigt anklickbare Buttons im Webbrowser

Der Webserver muss die Information welcher Button gedruumlckt wurde empfangen und ein entsprechendes Kommando uumlber die serielle Schnittstelle an das Interface senden

Beide Schritte sind im nachfolgenden PHPHTML-Quellcode zusammengefasst 01 ltDOCTYPE HTML PUBLIC -W3CDTD HTML 401 TransitionalEN httpwwww3orgTRhtml4loosedtdgt 02 lthtmlgt 03 ltheadgt 04 ltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1gt 05 lttitlegtelementares RCLlttitlegt 06 ltheadgt 07 08 ltbodygt 09 ltphp 10 if (isset($_POST[Kommando])) wurde bereits Kommando gesendet 11 if( ( $handle = fopen( COM1 w+ ) ) ) Schnittstelle oumlffnen 12

71

13 throw new Exception( Can not access serial port 2 ) ohne Erfolg 14 15 fwrite( $handle $_POST[Kommando] chr( 13 ) ) Befehl an Interface senden 16 switch ( $_POST[Kommando] ) Antwort von Interface auswerten 17 case LED $tmp = fgets( $handle ) Echo von Interface ignorieren 18 $antwort = fgets( $handle ) Antwort des Interfaces 19 echo Antwort $antwort Ausgabe auf Webseite 20 break switch verlassen 21 22 case SW $tmp = fgets( $handle ) Echo von Interface ignorieren 23 $antwort = fgets( $handle ) Antwort des Interfaces 24 echo Antwort $antwort Ausgabe auf Webseite 25 break switch verlassen 26 27 28 29 fclose( $handle ) Schnittstelle schlieszligen 30 31 else 32 `mode com1 BAUD=9600 PARITY=N data=8 stop=1 xon=off` Schnittstellenparameter setzen 33 34 35 gt 36 37 lth3gtBefehl sendenlth3gt 38 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 39 ltinput type=hidden name=Kommando value=LED ON gt 40 ltinput type=submit value=LED anschalten gt 41 ltformgt 42 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 43 ltinput type=hidden name=Kommando value=LED OFF gt 44 ltinput type=submit value=LED ausschalten gt 45 ltformgt 46 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 47 ltinput type=hidden name=Kommando value=LED gt 48 ltinput type=submit value=LED abfragen gt 49 ltformgt 50 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 51 ltinput type=hidden name=Kommando value=SW gt 52 ltinput type=submit value=Taster abfragen gt 53 ltformgt 54 ltbodygt 55 lthtmlgt Den Quellcode in den Texteditor kopieren und im Ordner htdocs von XAMPP z B unter rclphp speichern HTML-Dateien mit PHP-Code (Zeilen 9-35) muumlssen mit der Erweiterung php gespeichert werden damit der Apache Webserver zwischen HTML-Seiten mit und ohne PHP-Code unterscheiden kann Den installierten Apache Webserver starten (larr 452) und im Adressfeld des Webbrowsers die IP-Adresse http127001rclphp aufrufen Das Bedi-enfeld des elementaren RCLs in Abb 31 wird im Browserfenster angezeigt

72

Abb 31 Laborseite des elementaren RCLs

Im Bedienfeld kann die LED an- und ausgeschaltet sowie der Status von LED und Taster abgefragt werden

  • 0 Warum ein Tutorial zur RCL-Technik
  • 1 Technische Konzeption
    • 11 Einfuumlhrung
    • 12 Wahl der RCL-Technik
      • 2 Lokal gesteuertes RCL
        • 21 Interface
          • 211 Mikrocontroller
          • 212 Basisschaltung und Erweiterungsschaltungen
          • 213 Programmierung des Mikrocontrollers
            • 22 Hyperterminal
            • 23 Positionieren von Objekten
              • 231 Hybrid-Schrittmotoren
              • 232 Schrittmotorsteuerung und Positionierungsmechanik
                  • 3 Ferngesteuertes RCL
                    • 31 RCL-Server
                    • 32 Laborseite
                      • 321 Steuerung des RCLs uumlber das Bedienfeld
                      • 322 Videouumlbertragung im Webcamfeld
                        • 33 Standard-Lernumgebung
                          • 4 ANHANG
                            • 41 Interface in Basisschaltung
                              • 411 Schaltplan und Bauteilliste
                              • 412 Bestuumlckung der Platine
                                • 42 Erweiterungsschaltungen
                                  • 421 Uumlbersicht
                                  • 422 TMC222-Modul zur Schrittmotorsteuerung
                                    • 4221 Schaltplan und Bauteilliste
                                    • 4222 Bestuumlckung der Platine
                                    • 4223 Quellcode des Mikrocontroller-Programms
                                      • 423 Geschaltete Spannungsquellen und Verbraucher
                                      • 424 Steuerung von Gleichstrommotoren
                                        • 43 Quellcodes zum RCL Elektronenbeugung
                                          • 431 Mikrocontroller-Programmierung
                                          • 432 PHP-Programmierung
                                          • 433 Bedienfeld der Laborseite
                                          • 434 Webcamfeld der Laborseite
                                            • 44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung
                                              • 441 AVR-Studio 418
                                                • 4411 Installation
                                                • 4412 Konfiguration
                                                  • 442 BASCOM 11198 Demoversion
                                                    • 4421 Installation
                                                    • 4422 Konfiguration
                                                        • 45 Installation und Konfiguration von Programmen auf dem RCL-Server
                                                          • 451 Einrichten des Internet-Zugangs
                                                          • 452 Paket XAMPP 174
                                                          • 453 Videoserver webcamXP 5 Private
                                                          • 454 Terminalprogramm Hyperterminal
                                                          • 455 Fernwartungssoftware TeamViewer 6 Host
                                                            • 46 Selbstbau eines elementaren RCLs
                                                              • 461 Hard- und Software
                                                              • 462 Bestuumlckung der Platine
                                                              • 463 Lokal gesteuertes RCL
                                                              • 464 Ferngesteuertes RCL

70

In Bascom AVR eine neue Datei erzeugen (FileNew) den Programmcode ohne Kommenta-re eingeben und mit ProgramCompile (F7) eine Hexadezimaldatei erzeugen Die Hexadezi-maldatei mit dem AVR-Studio und dem AVR-ISP-Programmer in den Mikrocontroller schrei-ben (larr 222 Programmuumlbertragung) Nach dem Verbinden von Computer und Interface per Null-Modem-Kabel kann durch Eingabe von in das konfigurierte Hyperterminal die Befehls-liste in Abb 30 aufgerufen werden

Abb 30 Aufgerufene Befehlsliste im Hyperterminal

Durch Eingabe von LED on oder LED off kann die LED ein- und ausgeschaltet LED zeigt den Status der LED und sw den Status des Tasters an Alternativ zum Hyperterminal kann auch das Terminal in BASCOM unter ToolsTerminal Emulator verwendet werden (larr 422)

464 Ferngesteuertes RCL Zum Ansteuern des Interfaces und zum Bedienen des Versuchsaufbaus uumlber das Internet wird eine Webseite benoumltigt die dem Benutzer alle Bedienelemente des Experiments zur Verfuumlgung stellt

Der Benutzer benoumltigt anklickbare Buttons im Webbrowser

Der Webserver muss die Information welcher Button gedruumlckt wurde empfangen und ein entsprechendes Kommando uumlber die serielle Schnittstelle an das Interface senden

Beide Schritte sind im nachfolgenden PHPHTML-Quellcode zusammengefasst 01 ltDOCTYPE HTML PUBLIC -W3CDTD HTML 401 TransitionalEN httpwwww3orgTRhtml4loosedtdgt 02 lthtmlgt 03 ltheadgt 04 ltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1gt 05 lttitlegtelementares RCLlttitlegt 06 ltheadgt 07 08 ltbodygt 09 ltphp 10 if (isset($_POST[Kommando])) wurde bereits Kommando gesendet 11 if( ( $handle = fopen( COM1 w+ ) ) ) Schnittstelle oumlffnen 12

71

13 throw new Exception( Can not access serial port 2 ) ohne Erfolg 14 15 fwrite( $handle $_POST[Kommando] chr( 13 ) ) Befehl an Interface senden 16 switch ( $_POST[Kommando] ) Antwort von Interface auswerten 17 case LED $tmp = fgets( $handle ) Echo von Interface ignorieren 18 $antwort = fgets( $handle ) Antwort des Interfaces 19 echo Antwort $antwort Ausgabe auf Webseite 20 break switch verlassen 21 22 case SW $tmp = fgets( $handle ) Echo von Interface ignorieren 23 $antwort = fgets( $handle ) Antwort des Interfaces 24 echo Antwort $antwort Ausgabe auf Webseite 25 break switch verlassen 26 27 28 29 fclose( $handle ) Schnittstelle schlieszligen 30 31 else 32 `mode com1 BAUD=9600 PARITY=N data=8 stop=1 xon=off` Schnittstellenparameter setzen 33 34 35 gt 36 37 lth3gtBefehl sendenlth3gt 38 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 39 ltinput type=hidden name=Kommando value=LED ON gt 40 ltinput type=submit value=LED anschalten gt 41 ltformgt 42 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 43 ltinput type=hidden name=Kommando value=LED OFF gt 44 ltinput type=submit value=LED ausschalten gt 45 ltformgt 46 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 47 ltinput type=hidden name=Kommando value=LED gt 48 ltinput type=submit value=LED abfragen gt 49 ltformgt 50 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 51 ltinput type=hidden name=Kommando value=SW gt 52 ltinput type=submit value=Taster abfragen gt 53 ltformgt 54 ltbodygt 55 lthtmlgt Den Quellcode in den Texteditor kopieren und im Ordner htdocs von XAMPP z B unter rclphp speichern HTML-Dateien mit PHP-Code (Zeilen 9-35) muumlssen mit der Erweiterung php gespeichert werden damit der Apache Webserver zwischen HTML-Seiten mit und ohne PHP-Code unterscheiden kann Den installierten Apache Webserver starten (larr 452) und im Adressfeld des Webbrowsers die IP-Adresse http127001rclphp aufrufen Das Bedi-enfeld des elementaren RCLs in Abb 31 wird im Browserfenster angezeigt

72

Abb 31 Laborseite des elementaren RCLs

Im Bedienfeld kann die LED an- und ausgeschaltet sowie der Status von LED und Taster abgefragt werden

  • 0 Warum ein Tutorial zur RCL-Technik
  • 1 Technische Konzeption
    • 11 Einfuumlhrung
    • 12 Wahl der RCL-Technik
      • 2 Lokal gesteuertes RCL
        • 21 Interface
          • 211 Mikrocontroller
          • 212 Basisschaltung und Erweiterungsschaltungen
          • 213 Programmierung des Mikrocontrollers
            • 22 Hyperterminal
            • 23 Positionieren von Objekten
              • 231 Hybrid-Schrittmotoren
              • 232 Schrittmotorsteuerung und Positionierungsmechanik
                  • 3 Ferngesteuertes RCL
                    • 31 RCL-Server
                    • 32 Laborseite
                      • 321 Steuerung des RCLs uumlber das Bedienfeld
                      • 322 Videouumlbertragung im Webcamfeld
                        • 33 Standard-Lernumgebung
                          • 4 ANHANG
                            • 41 Interface in Basisschaltung
                              • 411 Schaltplan und Bauteilliste
                              • 412 Bestuumlckung der Platine
                                • 42 Erweiterungsschaltungen
                                  • 421 Uumlbersicht
                                  • 422 TMC222-Modul zur Schrittmotorsteuerung
                                    • 4221 Schaltplan und Bauteilliste
                                    • 4222 Bestuumlckung der Platine
                                    • 4223 Quellcode des Mikrocontroller-Programms
                                      • 423 Geschaltete Spannungsquellen und Verbraucher
                                      • 424 Steuerung von Gleichstrommotoren
                                        • 43 Quellcodes zum RCL Elektronenbeugung
                                          • 431 Mikrocontroller-Programmierung
                                          • 432 PHP-Programmierung
                                          • 433 Bedienfeld der Laborseite
                                          • 434 Webcamfeld der Laborseite
                                            • 44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung
                                              • 441 AVR-Studio 418
                                                • 4411 Installation
                                                • 4412 Konfiguration
                                                  • 442 BASCOM 11198 Demoversion
                                                    • 4421 Installation
                                                    • 4422 Konfiguration
                                                        • 45 Installation und Konfiguration von Programmen auf dem RCL-Server
                                                          • 451 Einrichten des Internet-Zugangs
                                                          • 452 Paket XAMPP 174
                                                          • 453 Videoserver webcamXP 5 Private
                                                          • 454 Terminalprogramm Hyperterminal
                                                          • 455 Fernwartungssoftware TeamViewer 6 Host
                                                            • 46 Selbstbau eines elementaren RCLs
                                                              • 461 Hard- und Software
                                                              • 462 Bestuumlckung der Platine
                                                              • 463 Lokal gesteuertes RCL
                                                              • 464 Ferngesteuertes RCL

71

13 throw new Exception( Can not access serial port 2 ) ohne Erfolg 14 15 fwrite( $handle $_POST[Kommando] chr( 13 ) ) Befehl an Interface senden 16 switch ( $_POST[Kommando] ) Antwort von Interface auswerten 17 case LED $tmp = fgets( $handle ) Echo von Interface ignorieren 18 $antwort = fgets( $handle ) Antwort des Interfaces 19 echo Antwort $antwort Ausgabe auf Webseite 20 break switch verlassen 21 22 case SW $tmp = fgets( $handle ) Echo von Interface ignorieren 23 $antwort = fgets( $handle ) Antwort des Interfaces 24 echo Antwort $antwort Ausgabe auf Webseite 25 break switch verlassen 26 27 28 29 fclose( $handle ) Schnittstelle schlieszligen 30 31 else 32 `mode com1 BAUD=9600 PARITY=N data=8 stop=1 xon=off` Schnittstellenparameter setzen 33 34 35 gt 36 37 lth3gtBefehl sendenlth3gt 38 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 39 ltinput type=hidden name=Kommando value=LED ON gt 40 ltinput type=submit value=LED anschalten gt 41 ltformgt 42 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 43 ltinput type=hidden name=Kommando value=LED OFF gt 44 ltinput type=submit value=LED ausschalten gt 45 ltformgt 46 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 47 ltinput type=hidden name=Kommando value=LED gt 48 ltinput type=submit value=LED abfragen gt 49 ltformgt 50 ltform method=post action=lt=$_SERVER[PHP_SELF]gtgt 51 ltinput type=hidden name=Kommando value=SW gt 52 ltinput type=submit value=Taster abfragen gt 53 ltformgt 54 ltbodygt 55 lthtmlgt Den Quellcode in den Texteditor kopieren und im Ordner htdocs von XAMPP z B unter rclphp speichern HTML-Dateien mit PHP-Code (Zeilen 9-35) muumlssen mit der Erweiterung php gespeichert werden damit der Apache Webserver zwischen HTML-Seiten mit und ohne PHP-Code unterscheiden kann Den installierten Apache Webserver starten (larr 452) und im Adressfeld des Webbrowsers die IP-Adresse http127001rclphp aufrufen Das Bedi-enfeld des elementaren RCLs in Abb 31 wird im Browserfenster angezeigt

72

Abb 31 Laborseite des elementaren RCLs

Im Bedienfeld kann die LED an- und ausgeschaltet sowie der Status von LED und Taster abgefragt werden

  • 0 Warum ein Tutorial zur RCL-Technik
  • 1 Technische Konzeption
    • 11 Einfuumlhrung
    • 12 Wahl der RCL-Technik
      • 2 Lokal gesteuertes RCL
        • 21 Interface
          • 211 Mikrocontroller
          • 212 Basisschaltung und Erweiterungsschaltungen
          • 213 Programmierung des Mikrocontrollers
            • 22 Hyperterminal
            • 23 Positionieren von Objekten
              • 231 Hybrid-Schrittmotoren
              • 232 Schrittmotorsteuerung und Positionierungsmechanik
                  • 3 Ferngesteuertes RCL
                    • 31 RCL-Server
                    • 32 Laborseite
                      • 321 Steuerung des RCLs uumlber das Bedienfeld
                      • 322 Videouumlbertragung im Webcamfeld
                        • 33 Standard-Lernumgebung
                          • 4 ANHANG
                            • 41 Interface in Basisschaltung
                              • 411 Schaltplan und Bauteilliste
                              • 412 Bestuumlckung der Platine
                                • 42 Erweiterungsschaltungen
                                  • 421 Uumlbersicht
                                  • 422 TMC222-Modul zur Schrittmotorsteuerung
                                    • 4221 Schaltplan und Bauteilliste
                                    • 4222 Bestuumlckung der Platine
                                    • 4223 Quellcode des Mikrocontroller-Programms
                                      • 423 Geschaltete Spannungsquellen und Verbraucher
                                      • 424 Steuerung von Gleichstrommotoren
                                        • 43 Quellcodes zum RCL Elektronenbeugung
                                          • 431 Mikrocontroller-Programmierung
                                          • 432 PHP-Programmierung
                                          • 433 Bedienfeld der Laborseite
                                          • 434 Webcamfeld der Laborseite
                                            • 44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung
                                              • 441 AVR-Studio 418
                                                • 4411 Installation
                                                • 4412 Konfiguration
                                                  • 442 BASCOM 11198 Demoversion
                                                    • 4421 Installation
                                                    • 4422 Konfiguration
                                                        • 45 Installation und Konfiguration von Programmen auf dem RCL-Server
                                                          • 451 Einrichten des Internet-Zugangs
                                                          • 452 Paket XAMPP 174
                                                          • 453 Videoserver webcamXP 5 Private
                                                          • 454 Terminalprogramm Hyperterminal
                                                          • 455 Fernwartungssoftware TeamViewer 6 Host
                                                            • 46 Selbstbau eines elementaren RCLs
                                                              • 461 Hard- und Software
                                                              • 462 Bestuumlckung der Platine
                                                              • 463 Lokal gesteuertes RCL
                                                              • 464 Ferngesteuertes RCL

72

Abb 31 Laborseite des elementaren RCLs

Im Bedienfeld kann die LED an- und ausgeschaltet sowie der Status von LED und Taster abgefragt werden

  • 0 Warum ein Tutorial zur RCL-Technik
  • 1 Technische Konzeption
    • 11 Einfuumlhrung
    • 12 Wahl der RCL-Technik
      • 2 Lokal gesteuertes RCL
        • 21 Interface
          • 211 Mikrocontroller
          • 212 Basisschaltung und Erweiterungsschaltungen
          • 213 Programmierung des Mikrocontrollers
            • 22 Hyperterminal
            • 23 Positionieren von Objekten
              • 231 Hybrid-Schrittmotoren
              • 232 Schrittmotorsteuerung und Positionierungsmechanik
                  • 3 Ferngesteuertes RCL
                    • 31 RCL-Server
                    • 32 Laborseite
                      • 321 Steuerung des RCLs uumlber das Bedienfeld
                      • 322 Videouumlbertragung im Webcamfeld
                        • 33 Standard-Lernumgebung
                          • 4 ANHANG
                            • 41 Interface in Basisschaltung
                              • 411 Schaltplan und Bauteilliste
                              • 412 Bestuumlckung der Platine
                                • 42 Erweiterungsschaltungen
                                  • 421 Uumlbersicht
                                  • 422 TMC222-Modul zur Schrittmotorsteuerung
                                    • 4221 Schaltplan und Bauteilliste
                                    • 4222 Bestuumlckung der Platine
                                    • 4223 Quellcode des Mikrocontroller-Programms
                                      • 423 Geschaltete Spannungsquellen und Verbraucher
                                      • 424 Steuerung von Gleichstrommotoren
                                        • 43 Quellcodes zum RCL Elektronenbeugung
                                          • 431 Mikrocontroller-Programmierung
                                          • 432 PHP-Programmierung
                                          • 433 Bedienfeld der Laborseite
                                          • 434 Webcamfeld der Laborseite
                                            • 44 Entwicklungsumgebungen zur Mikrocontroller-Programmierung
                                              • 441 AVR-Studio 418
                                                • 4411 Installation
                                                • 4412 Konfiguration
                                                  • 442 BASCOM 11198 Demoversion
                                                    • 4421 Installation
                                                    • 4422 Konfiguration
                                                        • 45 Installation und Konfiguration von Programmen auf dem RCL-Server
                                                          • 451 Einrichten des Internet-Zugangs
                                                          • 452 Paket XAMPP 174
                                                          • 453 Videoserver webcamXP 5 Private
                                                          • 454 Terminalprogramm Hyperterminal
                                                          • 455 Fernwartungssoftware TeamViewer 6 Host
                                                            • 46 Selbstbau eines elementaren RCLs
                                                              • 461 Hard- und Software
                                                              • 462 Bestuumlckung der Platine
                                                              • 463 Lokal gesteuertes RCL
                                                              • 464 Ferngesteuertes RCL