Benutzer-Werkzeuge

Webseiten-Werkzeuge


legomindstorms:inhalt

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
legomindstorms:inhalt [2015-11-30 22:33] – [Sensor-Erkennung und -Einstellung] rainerlegomindstorms:inhalt [2015-11-30 23:11] (aktuell) rainer
Zeile 4: Zeile 4:
 Für beide gibt es auf [[http://www.lego.com/de-de/mindstorms/downloads]] einen Hardware-Developer Kit mit Schaltplänen der Bricks und etlicher Sensoren, die sehr hilfreich, aber offenbar nicht auf dem aktuellen Stand sind (s.u.).  Für beide gibt es auf [[http://www.lego.com/de-de/mindstorms/downloads]] einen Hardware-Developer Kit mit Schaltplänen der Bricks und etlicher Sensoren, die sehr hilfreich, aber offenbar nicht auf dem aktuellen Stand sind (s.u.). 
  
- +Hier ist zunächst eine Zusammenfassung der [[sensorhardware|Sensor-Hardware]].
-===== Generationen ===== +
- +
-Es gibt derzeit drei Generationen (siehe auch [[wp>lego_mindstorms]]): +
-  - RCX mit 2-Draht Anschlüssen (2 Aktoren, 3 Sensoren) +
-  - NXT mit 6-Draht Anschlüssen (3 Aktoren, 4 Sensoren) +
-  - EV3 mit kompatiblen Anschlüssen (4 Aktoren, 4 Sensoren) +
- +
-Alle können mit 6 Batterien à 1.5V, also nominell 9V, betrieben werden.  +
-Dies ergibt als Maximalspannung bei frischen Batterien 9.6V. +
-Bei Verwendung von Ni-Akkumulatoren ist die Minimalspannung pro Zelle 1.2V, also zusammen 7.2V. +
-Am häufigsten werden Li-Akkumulatoren verwendet, deren Nominalspannung 8.4V beträgt.  +
- +
- +
-===== Sensor-Interface ===== +
- +
-Das Sensor-Interface von NXT und EV3 verwendet 6 Leitungen: +
-  - RCX kompatibler Analog-Eingang (s.u.) +
-  - Masse (GND) bei NXT, Auto-ID Eingang beim EV3 +
-  - GND +
-  - +5V, max. 20mA (+4.3V bei NXT lt. Manual, gemessen 4.75V) +
-  - SCL für I²C, Digital Ein-/Ausgang +
-  - SDA für I²C, Digital Ein-/Ausgang, Analogeingang beim EV3 +
- +
-Dabei sollte der RCX-Analogeingang auf Pin 1 lt. Hardware-Beschreibung bei beiden die nachfolgend für den RCX dargestellte  +
-Schaltung verwenden, bei der die Batteriespannung über eine 20mA-Strombegrenzung angeschaltet wird. +
-Messungen ergaben jedoch, dass dies nicht der Fall ist. Da nur der Ultraschall-Sensor diese Versorgung benutzt und seine Resultat über I²C übergibt, wird die Stromquelle offenbar nur hier eigeschaltet. +
- +
-==== Sensor-Erkennung und -Einstellung ==== +
- +
-Während für den NXT der Typ des Sensors manuell eingestellt werden muss, +
-enthält der EV3 enthält eine Sensor-Erkennung nach folgender Tabelle  +
-in der notierten Reihenfolge (s. S. 7 des Handbuchs). +
-Ob dies auch bei neueren Ständen der NXT-Firmware erfolgt, ist unbekannt. +
- +
- +
-^ 1 ^ 2 ^ 3 ^ 4 ^ 5 ^ 6 ^  ^ +
-  | L |     | H | H | I²C Sensor +
-|   | L |     | L |   | NXT Helligkeitssensor | +
-| <0.1V  | L |         | NXT Farbsensor | +
-|   | L |         | NXT Schalter (Touch) | +
-| <0.1V  | H |         | EV3 Digitalsensor | +
-| <3.1V  | H |         | EV3 Einfachsensor | +
-| >4.8V  | H |       | H  | EV3 Farbsensor | +
- +
-Das Prinzip scheint recht einfach zu sein: +
-    * Wenn der Sensor I²C verwendet, sind durch 82kΩ-Pullups die Pins 5 und 6 auf High. Sodann muss eine I²C Kommunikation erfolgreich sein. +
-    * Da beim NXT die Pins 2 und 3 beide GND sind und in den Sensoren verbunden sind, zeigt Pin 2 Low einen NXT-Sensor an. +
-    * Ist Pin 2 nicht verbunden, was bei allen verfügbaren Sensor-Schaltplänen der Fall ist, und somit nicht Low, dann handelt es sich um einen EV3-Sensor. +
-    * Innerhalb der EV3-Familie entscheidet Pin 1 über den Sensor. +
- +
-Allerdings passt der Schaltplan des EV3 nicht ganz hierzu. Dort wird Pin 2 durch einen Spannungsteiler von 10kΩ/18kΩ an 5V im unbeschalteten Zustand auf 3.2V eingestellt; dies wäre sinnvoll, wenn die Sensoren drei Fälle durch offenlassen, Verbinden mit Masse und Verbinden mit +5V codieren würden. +
-In allen veröffentlichen Schaltplänen für EV3-Sensoren ist jedoch Pin 2 offen, und Pin 1 an Masse, mit der Ausnahme des Schalters (Touch), der Pin 1 über 910Ω an Masse legt.  +
- +
-Ferner sind die  82kΩ-Pullups für den I²C bereits in der Steuerung vorhanden und nicht auf den Sensoren.  +
- +
-Zudem sind in der Tabelle zwei Zeilen als redundant wegelassen worden; +
-und der EV3-Farbsensor ist ein I²C-Sensor, der Pin 1 auf Low legt.  +
-  +
-Damit der NXT-Helligkeitssensor im EV3 richtig erkannt wird, muss lt. Tabelle Pin 5 auf digital Low liegen.  +
-Er ist jedoch über 10kΩ mit der Basis eines Transistors verbunden, der weitere 10kΩ parallel liegen. +
- +
- +
-==== RCX-Sensoren ==== +
- +
-Das Sensor-Interface des RCX kann mit einer 2-Draht Verbindung sowohl passive als auch aktive Sensoren betreiben. +
-Diese Schnittstelle ist auch in den Nachfolgern noch auf Pin 1 und 2 verfügbar und erlaubt sehr einfache Sensoren. +
-Aktoren (Motoren) wurden gleichfalls über 2-Draht-Verbindungen angeschlossen. +
- +
-Aus den Unterlagen zum NXT geht hervor, dass die Verbindung auch die Betriebsspannung für aktive Sensoren bereitstellt, indem über einen schaltbaren Strombegrenzer für 20mA die Batteriespannung verfügbar ist. +
-Diese wird für 0.1ms unterbrochen; ein aktiver Sensor muss die Spannungsversorgung entsprechend puffern (10µF).  +
-Während der Unterbrechung liegt die Betriebsspannung über 10kΩ an der Batteriespannung, +
-und es wird die analoge Spannung mit dem Maximalwert von 5V mit 10 Bit Auflösung, also ca. 5mV, gemessen. +
-Durch eine passende Belastung wird die Spannung geringer, und der Messwert ist das analoge Eingangssignal. +
- +
-Lt. Schaltplan des NXT sollte die Spannung über 1kΩ mit einer Si-Doppeldiode (1PS226) geklemmt werden, also ca. 5.7V betragen; +
-dies ist jedoch nicht der Fall, s.u. +
- +
- +
- +
-=== Schalter- (Touch-) Sensor === +
- +
-Der einfachste Sensor ist ein Schalter, der im eingeschalteten Zustand einen Widerstand von 2,2kΩ zwischen beide Pole legt, +
-die ansonsten offen sind.  +
-Dann liegt die gemessene Spannung zwischen 1,3V und 1,8V (266..368, bei einem Strom von 0,6mA und 0.8mA), sonst auf Maximalwert 5V (1024).  +
- +
-Offensichtlich kann auch ein Optokoppler verwendet werden, wenn eine galvanische Trennung benötigt wird. In der Regel reicht dafür ein Strom von 1mA im Eingangskreis aus. +
- +
-=== Analoge Sensoren === +
- +
-Durch entsprechende Belastung des 10kΩ-Widerstands in den Messpausen können analoge Spannungen eingestellt und an den Brick übertragen werden. +
- +
-Im einfachsten Fall ist das ein Widerstand, dessen Wert aus der Batteriespannung und der gemessenen Spannung bestimmt werden kann. +
-Durch die wenig genaue bekannte Betriebsspannung (bis zu 20% unter dem Nominalwert von 9V) sind die Messwerte gleichfalls recht ungenau, so dass Relativwerte bevorzugt werden sollten. +
- +
-Im einfachsten Fall ist das ein Fotowiderstand mit 10kΩ Normalwert, dessen Dunkelwiderstand ca. 1MΩ beträgt und bei hellem Licht auf ca. 1kΩ sinkt.  +
- +
-Da die Pausen, in denen gemessen wird, vom Sensor schlecht erkennbar sind, versucht der Sensor kontinuierlich, sein Messergebnis einzustellen.  +
-Hierzu sind mindestens (9.6V-5V)/10kΩ = 0.46mA und höchstens 1mA notwendig.  +
-Eine Begrenzung ist notwendig, um den Stromverbrauch nicht unnötig groß zu machen; +
-dies kann durch einen 1kΩ-Widerstand erfolgen; dann liegt die kleinste Messpannung bei ca. 1V, also bei 20% vom Endwert. +
-Mit erheblichem Schaltungsaufwand kann dieser Wert auf vielleicht 0.25V, also 10% vom Endwert, verbessert werden, +
-was wohl meistens nicht sinnvoll ist.  +
- +
-Allerdings wird weder vom NXT noch vom EV3 normalerweise die Stromquelle von 20mA zur Batterie eingeschaltet, +
-so dass, wie im folgenden dargestellt, die Verwendung wesentlich einfacher ist. +
- +
- +
- +
-==== NXT Sensoren ==== +
- +
-Am NXT und  +
-An einem NXT wurden jedoch statisch 4.96V im Leerlauf und 1.24V bei Anschluss von 3.3kΩ gegen Massse gemessen,  +
-was auf einen Widerstand von 10kΩ gegen +5V schließen läßt und die Beschaltung erheblich vereinfacht.  +
- +
- +
- +
-=== Widerstandsmessung === +
- +
-Legt man eine Widerstand R an, dann ist die Spannung `U_x=U_v*(R_x/(R_x+R_v))`.  +
-Ist, wie beim NXT experimentiell ermittelt, `U_v=5V` und damit gleich der Referenzspannung des A/D-Wandlers, +
-dann ist der angezeigte Wert `alpha = 1024*R_x/(R_x+R_v)` mit `R_v`=10kΩ. +
- +
-=== Spannungsmessung === +
- +
-Wenn  +
- +
  
legomindstorms/inhalt.1448919238.txt.gz · Zuletzt geändert: 2015-11-30 22:33 von rainer