Mikrocontroller

Robotics Command System

aus Wikipedia, der freien Enzyklopädie

Wechseln zu: Navigation, Suche
Der RCX (Version 1.0, erkennbar an einem eingebauten 9V-Anschluss)
Der RCX (Version 1.0, erkennbar an einem eingebauten 9V-Anschluss)
Der RCX (Version 2.0) auf einem teilweise zerlegten Standardroboter
Der RCX (Version 2.0) auf einem teilweise zerlegten Standardroboter

Der RCX (Robotics Command System) der Lego Mindstorms Produktserie besitzt einen Renesas-H8/300-Microcontroller als CPU. Er wird programmiert, indem ein in einer der diversen Programmiersprachen geschriebenes Programm vom PC zur CPU des RCX mit Hilfe einer IR-Schnittstelle heruntergeladen wird. Nachdem das Programm gestartet worden ist, kann der mit einem RCX gebaute Roboter völlig autonom handeln und auf äußere und innere Ereignisse reagieren, entsprechend den Programmieranweisungen. Des Weiteren können zwei oder mehr RCX miteinander über die IR-Schnittstelle kommunizieren, was Wettbewerbe und Kooperationen ermöglicht. Der RCX besitzt drei Motorausgänge sowie drei Sensoreingänge. Die Leistungssteuerung der Motorausgänge erfolgt über Pulsweitenmodulation.

Inhaltsverzeichnis

[Bearbeiten] Programmiersprachen

Die mitgelieferte Software ermöglicht, mit einer grafischen Benutzeroberfläche Programme aus Bausteinen zusammenzusetzen. Für komplexere Aufgaben kann der RCX mit verschiedenen Programmiersprachen programmiert werden, z.B. NQC.

  • Von Lego entwickelte (mit grafischer Oberfläche):
    • RCX Code
    • ROBOLAB (basiert auf LabVIEW)
  • von Drittanbietern (textbasiert):
    • leJOS – Programmierung in Java
    • NQC (Not Quite C [dt. „Nicht ganz C“])
    • BricxCC (Bricx Command Center) – Entwicklungsumgebung, die das Arbeiten mit NQC erleichtert
    • BrickOS (ehemals LegOS) – Programmierung in C bzw. C++
    • Interactive C – Bietet Zusatzfunktionen wie Textausgabe
    • Robot C – Steuert verschiedene Systeme (unter anderem RCX und NXT)

[Bearbeiten] RCX-Sensoreingänge

Für viele Bastler, die eigene Sensoren entwickeln wollen, ist es interessant, den vom RCX ausgegebenen Sensorwert (0..1023) interpretieren zu können. Dieser Wert ergibt sich aus der am Sensoreingang anliegenden Spannung. Ohne Sensor beträgt diese 5 V, fällt aber ab, sobald ein Sensor mit einem endlichen Widerstand angeschlossen wird. Die Anzeige des RCX lässt sich wie folgt aus der anliegenden Spannung U berechnen:

D_{RCX} = U cdot 204,6{1 over V}

Die anliegende Spannung U wiederum kann z. B. aus dem angeschlossenen Widerstand R oder dem Strom I an den Sensoren berechnet werden. Der maximale elektrische Strom beträgt 0,5 mA (intern ist dem Sensor ein 10--Widerstand vorgeschaltet).

U = 5V-10k Omega cdot I = {{5V} over {{10k Omega cdot frac{1}R} + 1}}

Die Sensoren können in einem aktiven (Lichtsensor, Drehsensor) und einem passiven Modus (Schalter, Temperatursensor) betrieben werden. Im passiven Modus wird wie oben beschrieben nur der Spannungsabfall an den Sensoreingängen gemessen. Im aktiven Modus liegt für je 3 ms die Batteriespannung am Sensoreingang an, um den Sensor mit Strom zu versorgen. Für 0,1 ms wird dann in den passiven Modus geschaltet, um den Sensorwert zu erfassen. In dieser Zeit muss sich der aktive Sensor durch eine eigene Stromquelle (Kondensator) versorgen.

[Bearbeiten] Literatur

  • Dave Baum, Michael Gasperi, Ralph Hempel, Luis Villa (2000). Extreme Mindstorms: an Advanced Guide to Lego Mindstorms. Apress. ISBN 1893115844
  • Benjamin Erwin (2001). Creative Projects with Lego Mindstorms (book and CD-ROM). Addison-Wesley. ISBN 0201708957
  • Dave Baum (2002). Definitive Guide to Lego Mindstorms, 2nd ed. APress. ISBN 1590590635
  • Ferrari et al. (2001). Building Robots With Lego Mindstorms: The Ultimate Tool for Mindstorms Maniacs. Syngress. ISBN 1928994679

[Bearbeiten] Weblinks

Copyright © 2005-2010 Hardware-Aktuell. Alle Rechte vorbehalten.