Real-Time and Embedded Systems

Sensoren

Die Sensoren der Mindstorms können in zwei verschiedenen Modi betrieben werden, aktiv und passiv. Der passive Modus ist für einfache Sensoren gedacht, bei denen lediglich ein Widerstand ausgemessen werden muß (z.B. Taster und Temperatursensor). Der aktive Modus für Sensoren gedacht ist, die eine Stromversorgung brauchen (z.B. Lichtsensor und Rotationssensor).

Passive Sensoren

Sensor-Schaltung 1Ein passiver Sensor besteht elektrisch gesehen aus einem Widerstand, der im RCX über einen Widerstand von 10kOhm auf +5V gelegt wird. Ein A/D-Wandler konvertiert die Spannung, die über dem Sensor abfällt, in eine 10-Bit-Zahl (0=0V, 1023=5V). Eine Schutzschaltung verhindert, daß eine externe Spannungsquelle den Wandler zerstören kann.

Der Rohwert W des A/D-Wandlers ergibt sich aus dem Spannungsabfall U über dem Wiederstand durch W=U/5V*1023. Den Widerstand R des Sensors kann man über R=(10kOhm*U)/(5V-U) berechnen. Die Software rechnet aus W dann die abstraktere Sensorwerte wie die Temperatur aus.

Aktive Sensoren

Sensor-Schaltung 2Die aktiven Sensoren werden im RCX fast genauso wie passive Sensoren angesteuert. Einziger Unterschied ist die Spannungsversorgung von ca. 8V, die periodisch dazugeschaltet wird. Der RCX versorgt dazu den Sensor 3ms lang ständig mit Strom. Dann unterbricht er die Stromzufuhr für 0,1ms und liest in dieser Zeit den Sensorwert aus. Dieser Vorgang wiederholt sich ständig.

Die Formeln, mit denen die gemessenen Spannungen umgerechnet werden, entsprechen genau denen im passiven Modus.

Grundschaltung für eigene Sensoren

Sensor-Schaltung 3Die Schaltung für einen aktiven Sensor ist dementsprechend auch komplizierter aufgebaut. Der wichtigste Teil ist ein Brückengleichrichter, der die Versorgungsspannung mit der richtigen Polarität liefert. Ein Kondensator puffert Energie, damit der Sensor auch während der Abtastpause mit Strom versorgt wird. Die beiden Dioden auf der rechten Seite bilden einen Stromrouter, der sicherstellt, daß das Signal mit der richtigen Polarität an den RCX angeschlossen wird.

Der zu messende Widerstand liegt dabei zwischen dem Sensoranschluß und GND. Im Internet gibt es zum Beispiel auf http://www.plazaearth.com/usr/gasperi/lego.htm eine Menge weiterer Informationen zum Thema Basteln von Sensoren

Umrechnungsformel

 Die Software hat die Aufgabe, die Rohwerte vom A/D-Wandler in abstraktere Werte umzurechnen, je nachdem, was für ein Sensor angeschlossen ist.

  • Taster
    Werte kleiner als 450 werden als gedrückt interpretiert, Werte über 565 bedeuten, daß der Taster nicht gedrückt wird. Dabei kann ein Hysterese-Verfahren wie beim Lichtsensor benutzt werden.
  • Temperatorsensor
    Die Temperatur T in Grad Celsius berechnet sich mit T=(785-Sensor)/8 (im Bereich von -20°C bis +70°C).
  • Lichtsensor

Die relative Helligkeit zwischen 0 und 100 wird mittels H=146-Sensor/7 ausgerechnet.

Beispielwerte

-
Spannung/V Sensorwert Widerstand/Ohm Helligkeit Temperatur/°C Taster
0.0
0
0
0
-
1
1.1
225
2816
-
70.0
1
1.6
322
4587
100
57.9
1
2.2
450
7840
82
41.9
1
2.8
565
12309
65
27.5
0
3.8
785
32845
34
0.0
0
4.6
945
119620
11
-20.0
0
5.0
1023
Inf
0
-
0

Der RCX ist ausreichend gegen Kurzschlüsse und falsch angeschlossene Bauteile gesichert. Bei eigenen Sensoren sollte man aber sehr vorsichtig sein, wie man die Schaltung aufbaut. Fremdstromquellen und Kurzschlüsse könnten den RCX dennoch beschädigen.