90 likes | 233 Views
INTERFACES und PROGRAMMIERUNG für das Physikalische Anfängerpraktikum Prof. Dr. R. Lincke Inst. für Experimentelle und Angewandte Physik der Universität Kiel. Commodore 64 mit 8-Bit-Userport 8-Bit-System für den PC
E N D
INTERFACES und PROGRAMMIERUNG für das Physikalische Anfängerpraktikum Prof. Dr. R. LinckeInst. für Experimentelle und Angewandte Physik der Universität Kiel • Commodore 64 mit 8-Bit-Userport • 8-Bit-System für den PC • Minimalinterfaces am Druckerport • WINDOWS: neue Möglichkeiten und neue Probleme • UniMess - ein serielles C-System • Der Microcontroller PIC 16C64 • Programmierung unter WINDOWS : LabView
Probleme mit moderner Hard- und Software im Computerlabor • Moderne Betriebssysteme verwenden Multitasking. Das verhindert zeitkritische Anwendungen. • Ports lassen sich nicht direkt ansprechen. • Die Messung kurzer Zeiten (<10ms) ist schwierig. • Der ISA-Bus ist zu schnell. • Es gibt zu viele unterschiedliche Port- und Bus-Standards. • Die Programmiersprachen (Delphi, Visual Basic, C++ etc) sind sehr mächtig und dementsprechend komplex. Sie erfordern zu viel Zeit, die dann der Physik fehlt. Sie sollten den Profis überlassen bleiben.
In Kiel gebaute Interfaces1998 : UNIMESS am Seriellen Port (L. Wolter) serielle Kommunikation RS 232 Ein Interface für ein WINDOWS-System benötigt Intelligenz: Nur mit einem Mikrocontroller kann man eine Serie schneller äquidistanter AD-Werte aufnehmen. Die Meßroutinen müssen in der Assembler-Sprache des Controllers programmiert sein. Eine höhere Sprache, die den PC mit dem Controller kommunizieren läßt und diese Routinen aufruft, die die Daten transferiert, auswertet und darstellt, ist die graphische objektorientierte Sprache LabView.
PRO 33 unabhängige I/O-Ports 2 kB Programm-EPROM 128 Byte RAM 3 interne Timer Betriebsfrequenz bis 20 MHz SPI-/I2C Bus etc. RISC-Architektur 8 Stack-Ebenen minimale externe Hardware preiswert CONTRA kein vorbereiteter Daten/Adressbus kein internes Daten-RAM keine guten Entwicklungswerkzeuge mathematische Funktionen schwierig Der MikrocontrollerPIC 16C64
UNIMESS Block-Diagramm 12-Bit AD-Converter 50 ksps ±10V (x1, x2, x4, x8) RAM für 1000 AD-Werte 2 DA-Converter 12 Bit ±5V Bewegungsmelder (noch nicht installiert) Microcontroller PIC 16C64 16 Mhz 4 Digitale I/O-Ports TTL Schmitt-Trigger Timer Funktion Basis 1s 2 Schrittmotor- Steuerungen RS-232-Port zum PC 38400 Baud 4 Relais 5A/250V/50W Spannungsversorgung +5V,±12V
Quellcode-Entwicklung Programmierung des PIC Compilierung Emulation Universal-prommer(e.g.: ALL-03A) MPASM(Freeware) • Umgebung: • MPLAB 3.4 (Microchip Freeware) • MPDriveway (AiSys ca. 500$) Simulator PSIM(Freeware) Entwicklungswerkzeuge für denPIC 16C64 • In PIC-Assembler: • Texteditor PIC-In-Circuit-Emulator(app. 1500 DM) • In C: • C-Compiler (e.g. CCS 230DM)
Die Programmierung des UNIMESS mit LabViewEine graphische objektorientierte Programmiersprache Das Quellprogramm für eine RC-Regelung
UNIMESS und LabViewEin Paar für das Physikalische Praktikum Inhalt des Praktikums • kein Zeilencode: objektorientierte graphische Programmierung • moderne Software, moderne Kommunikationstechnik • Oberfläche und Programmstruktur werden vom Studenten geschrieben • viele physikalische Anwendungen beim Erlernen von Interfacing und LabView Vorteile • selbst Studenten ohne Programmierkenntnisse meistern die Aufgaben in kürzester Zeit (ungefähr 3 mal schneller als mit TURBO Pascal) • hohe Motivation durch ‚sofortige Ergebnisse‘ und attraktive Graphik • Meßwerte können an andere Programme weitergegeben werden (MathCad, Mathematica u.ä.) • Erlernen eines modernen Industriestandards • Elementarversion ROBOLAB (LEGO) • sehr niedriger Preis: LabView Student Edition DM 99,-- Material für Interface DM 400,--