|
FKG-Roboter |
Unser Sensor-Baukasten |
Berührungsschalter (mit "Whiskers" (Barthaaren)) |
Annäherungsschalter mit Infrarot-Sensoren (Typ "Poor Man") |
Abstandsmesser mit Infrarot-Sensoren |
Licht-Sensor |
Abstandsmesser mit GP2D12 |
Schall-Sensor |
Infrarot-Bewegungsmelder |
Ultraschall-Sensor |
Beschleunigungsmesser, ein sehr teuerer Sensor für Spezialaufgaben |
Pullup-Widerstände und Pullup-Widerstände abgeschaltet |
u.v.a. mehr, vgl. z.B. www.roboter-teile.de |
Auf einer schmalen Lochstreifen-Platine werden zwei Mikroschalter angelötet. Mikroschalter können bereits durch kleine Kräfte betätigt werden. Nachteil ist der kleine Schalthub. Machen wir aus der Not eine Tugend: Über den Schalthebel kann man gerade ein Stück (Plastik-) Strohhalm überstülpen, wenn man es etwas zusammenpresst. Damit stehen elastische und mehr als ausreichend lange "Barthaare" - ähnlich den Tastorganen einer Katze - zur Verfügung, die auf ein vernünftiges Maß gekürzt werden können. Ein Anschluss jedes Mikroschalters wird jeweils über Steckkabel an Masse gelegt, der andere an einen Eingangsport. Da im Normalzustand über Pullup-Widerstände eine Spannung von 5 V an die Eingangsports gelegt ist, die bei Betätigung des Schalters zusammenbricht, kann man mit PBRD ("PortBitReaD" in AVISE-FORTH) den Schaltzustand abfragen.
Annäherungsschalter mit Infrarot-Sensoren
Eine IR-LED sendet ein IR-Signal aus, das an Gegenständen (besonders weißen) reflektiert wird und vom Empfängerbaustein TSOP 1736 empfangen wird. Die größte Empfindlichkeit hat TSOP 1736 bei seiner Resonanzfrequenz von 36 kHz. Mit dem FREQ-Ausgang (PORT D,7) kann ein Signal der geeigneten Frequenz erzeugt werden, z.B. mit $ 171 FREQ (AVISE 2.2). Die Abfrage der Sensor-Ausgänge kann z.B. über PORT C,7 und PORT C,6 erfolgen mit C7 PBRD. und C6 PBRD . (AVISE 2.2: PBRD Port Bit Read) .
Ab AVISE2.4 funktioniert der FREQ-Befehl nicht mehr. Man kann sich selbst ein äquivalentes Wort definieren.
Mit 6F FREQ ( neue Form) erhält man recht genau 36 kHz. Allgemein gilt die Formel: f = 8 000 kHz / (2*b+1) wobei b der Wert auf dem Stack ist, den FREQ abhebt. Mit b = 6F hex = 111 dez erhält man f = 35,87 kHz.
Vgl. Einige Grundlagen der Messtechnik
Schaltung eines 1-Kanal-Abstandssensors mit IR
Aufbau auf einem Stück Lochstreifenkarte. Der Transistor wirkt als Schalter, der, gesteuert durch den PWM-Ausgang des Prozessors, den Strom durch die IR-LED ein- und ausschaltet. Dieser Strom wird begrenzt durch den 48 W -Widerstand. Bei 5 V Betriebsspannung ergibt sich dann ein LED-Strom von max. ca. 100 mA. Es sollte also eher ein größerer Widerstand verwendet werden (z.B. 100 W). Die LED und der IR-Sender sind so auszurichten, dass der am Hindernis reflektierte Strahl der LED in den Empfänger-Baustein TSOP 1736 (oder ähnliche, z.B. TSOP 1738 mit 38 kHz-Resonanzfrequenz) gelangen kann. Das Empfänger-Signal wird vom AD-Wandler-Eingang Port A0 gemessen. Die Größe des Signals ist - bei Berücksichtigung der Resonanzkurve des Empfängers TSOP 1736 - ein Maß für die Entfernung. |
In diesem Fall wird man den IR-Sender bei der Frequenz mit höchster Empfindlichkeit betreiben. Eine Aktion wird eingeleitet, wenn das Signal erstmalig von FFFF auf 0000 springt oder umgekehrt.
Schaltung eines 2-Kanal-Abstandssensors mit IR
Um Strom zu sparen (hier wörtlich zu nehmen), werden beide IR-LEDs hintereinander geschaltet und durch einen gemeinsamen Transistor geschaltet. Die LEDs und die IR-Empfänger sind so auszurichten, dass der am Hindernis reflektierte Strahl der einen LED in den zugeordneten Empfänger-Baustein TSOP 1736 oder ... 1738 gelangen kann. Beim rechten IR-Empfänger sind die Anschlussbeinchen etwas zu verbiegen, dass dieselben Leiterstreifen auf der Lochstreifen-Platine genutzt werden können. Das Rechteck zwischen den beiden Empfängern markiert den Platz für ein Steckerpaar, so dass ein weiterer Sensor angeschlossen werden kann (Betriebsspannung). |
Abstandsmesser mit Infrarot-Sensoren
Vgl. Einige Grundlagen der Messtechnik (Abstandssensor Typ "Poor Man" oder Sharp-Sensor GP2D12)
In diesem Fall erhält man über den AD-Wandler-Eingang eine Entfernungsinformation, die unterschiedliche Aktionen auslösen kann, wenn man die Frequenz des IR-Signals variiert.
Er wird verwendet, wenn der Roboter längs einer Kante fahren soll, oder wenn der Roboter die Tischkante entdecken soll um einen Absturz zu vermeiden. Es sind zwei Typen vorgesehen: ein "passiver "und ein "aktiver Licht-Sensor".
Der passive Lichtsensor besteht allein aus LDR's. Diese können direkt an einen der AD-Wandler-PINs von PORT A angeschlossen werden (2. Pol an Masse). Mit 7 AIN . wird in AVISE-FORTH direkt der Spannungsabfall am LDR gemessen und angezeigt (im Einschaltzustand sind ja Pullup-Widerstände vor den AD-Wandler-Eingängen zugeschaltet).
Von Fa. Gräf, Bayreuth, erhält man preiswerte LDR's. Nachteil von ihnen ist, dass sie bei Tageslicht bereits einen sehr kleinen Widerstand haben (Helligkeitsunterschiede fallen dann beim Spannungsabfall kaum mehr auf), ferner, dass sie auch von hinten Licht durchlassen. Durch einen "Blendschutz" muss man unmittelbar vor dem LDR das Tageslicht etwas abschirmen. Von hinten sind die LDRs mit dunklem Isolierband abzukleben oder mit schwarzer Farbe anzumalen.
Besser ist ein "aktiver Lichtsensor". Dabei wird mit einer superhellen LED ein Lichtfleck erzeugt, dessen reflektiertes Licht mit einem LDR abgetastet wird. Verwendet man 2 Lichtssensoren, kann man die LEDs hintereinanderschalten und braucht nur mehr einen kleinen Vorwiderstand ohne zusätzlichen "Stromverlust". Rechenbeispiel: 2 rote LED's. Flussspannung 1,6 V. R = U / I = ( 5 V - 2*1,6 V ) / 10 mA = 180 Ohm bei einer typischen Stromstärke von 10 mA. Auch hier ist es nützlich, das Tageslicht durch einen "Blendschutz" abzuschirmen.
Noch besser ist es, wenn man IR-LED's verwendet.
Wie's funktioniert: |
|||
|
Der Sharp-Sensor GP2D12 (und seine Verwandten) sendet ein Infrarot-Signal aus, das von einem Empfänger nach der Reflexion am Hindernis aufgenommen wird. Die Entfernung ergibt sich hier aus einer Winkelmessung für das rückkehrende Signal (Triangulation). Dieser Sensor hat eine Reichweite von 10 - 80 cm. Das Signal ist soweit reproduzierbar, dass - nach einer Kalibrierung - sogar quantitative Messungen möglich sind. Es leistet daher bei physikalischen Schülerversuchen ähnliche Dienste wie ein Sonarmeter.
Man erhält so am AD-Wandler-Eingang ein Signal, das der Entfernung ungefähr indirekt proportional ist. Je nach Entfernung lassen sich dann unterschiedliche Aktionen einleiten.
Formel für die Entfernung d bei dem digitalen Wert s: d(s) = 2141.72055*(s^-1.078867) ( 0 <= s <= 255 ). Für genauere Werte sollte man eine Eichkurve aufstellen.
Vgl. auch einen Testbericht
http://www.as-workshop.de/sensprax/voltout.htm
unter
passiver Infratotdetektor als Näherungs- Sensor ("pyroelektrischer Sensor")
Hierzu gibt es mittlereweile preiswerte käufliche Module SFR04, ... (www.roboter-teile.de)
Beschleunigungsmesser, ein (für uns) sehr teuerer Sensor für Spezialaufgaben (ca. 40 Euro)
Es gibt Sensoren, die direkt auf Beschleunigungen reagieren. Ich stelle mir vor, dass die zwei Halbleiterplättchen mit der Widerstandssschlange sich je nach Beschleunigung verbiegen und damit den Widerstand der Schlange verändern. Dieser liefert dann das pulsweitenmodulierte Ausgangssignal.
Der Sensor kann sowohl statische (Gravitation) als auch dynamische (Vibrationen) Beschleunigungen in zwei Achsen (x und y) messen. Der Typ ADXL 202 verfügt über einen Meßbereich von +/- 2 g, der Typ ADXL210 über +/-10g. Der Sensor liefert für beide Achsen ein analoges- sowie ein digitales Ausgangssignal.
Für die gemessene Beschleunigung gilt typischerweise: a = g (T1/T2 - 0,5)/0,125 beim ADXL202 bzw. a = g (T1/T2 - 0,5)/0,04 beim ADXL210. T1/T2 = 0,5 entspricht also der Erdbeschleunigung. T1/T2 = 0,75 liefert also beim Typ 202: a = 2 g, T1/T2 = 0,9 liefert also beim Typ 210: a = 10 g.
Mit unserem Prozessor kann das Tastverhältnis leicht gemessen werden.
Eine alternative Möglichkeit besteht darin, das analoge Signal mit unserem AD-Wandler (Port A) zu messen.
Vgl. Datenblätter: