Inhaltsverzeichnis
- 1 Welche Sensorarten gibt es
- 2 Bumpers
- 3 Whiskers (Fühler)
- 4 Incremental-Geber
- 5 Optische Sensoren
- 6 Ultraschall Sensoren
- 7 Kompaß
- 8 Beschleunigung
- 9 Drehung
- 10 Geschwindigkeit
- 11 Temperatur
- 12 Resistive Sensoren
- 13 Kapazitive Sensoren
- 14 Induktive Sensoren
- 15 Piezoelektrische Sensoren
- 16 PIR Passiv Infrarot Sensoren
- 17 Autoren
- 18 Siehe auch
- 19 Weblinks
Welche Sensorarten gibt es
Damit sich ein Roboter in seiner Umgebung bewegen kann, ohne an Hindernisse anzustoßen, und damit er ein Ziel finden und ansteuern kann, muß er irgendwie seine Umwelt "wahrnehmen". Hauptanwendung für diese Informationen aus der Umwelt ist die Navigation
Bumpers
Als Bumpers bezeichnet man eine Art Stoßstange, die einen Mikro-Switch auslöst.
Die Auswertung erfolgt am besten digital an einem Pin mit Pull-up Widerstand. Man kann den Eingang pollen (abfragen), aber auch einen Interrupt auslösen lassen. -->
Whiskers (Fühler)
Das sind flexible Kunststoff-Streifen von ca. 10 cm Länge, eigentlich für Datenhandschuhe vorgesehen. Aber man kann sie auch als Fühler einsetzen, und daher auch für die Kollisions-Sensorik verwenden. Beim Verbiegen steigt der Widerstand an.
Um zu messen, wird mit einem zweiten Widerstand ein Spannungsteiler aufgebaut, der dann mit einem Analog-Eingang einen Grad der Verbiegung erkennen läßt. Sie werden häufig auch Flexsensoren genannt. -->
Incremental-Geber
Dienen zur Erfassung von Drehzahl bzw. der Messung von Wegstrecken
Drehgeber Sharp GP1A30 und GP1A38
Beim Sharp GP1A30 und GP1A38 handelt es sich um Gabellichtschranken mit inkrementaler Drehgeberfunktion. Beide sind im Grunde von den Anschlüssen identisch, lediglich kann GP1A38 noch etwas höhere Drehzahlen messen. Im Gegensatz zu herkömmlichen Gabellichtschranken können mit dieser sowohl Drehzahl als auch Drehrichtung ermittelt werden. Notwendig sind dafür nur 2 digitale Ports. Verzichtet man auf die Auswertung der Drehrichtung, reicht nur ein Port. Der Sensor hat den Vorteil das die Signale bereits TTL kompatibel sind und direkt an ein Controllerboard angeschlossen werden können. Ein Beispielprogramm zu RN-Control findet man hier
Die Auswertung inkrementaler Drehgeber ist recht einfach. Ein Ausgang liefert einen Impuls pro Markierung (Scheibe auf der Welle). Prüft man bei jedem Impuls (Flanke) noch gleichzeitig den aktuellen Pegel des zweiten Ausganges, so kann daraus die Drehrichtung abgeleitet werden.
Der Signalverlauf an den Sensorausgängen ist phasenversetzt:
Optische Sensoren
Helligkeit
Die Hauptanwendung solcher Sensoren ist, den hellsten Fleck im Raum zu finden. Dies ist auch Teil vieler Roboterwettbewerbe. (Robo Callenge (2002 sic!), 'Ein Platz an der Sonne')
Solche Sensoren können einfache LDRs oder Photodioden bzw. Phototransistoren sein. LDRs haben den Vorteil, dass sie relativ hoch aussteuern, der große Nachteil ist aber, dass diese Sensoren ziemlich Wärmeempfindlich und etwas träge. Photodioden und Phototransistoren haben den Vorteil, dass sie sehr genau sind, aber nicht besonders hoch aussteuern. Diese sollte man evtl. über einen OpAmp verstärken.
Die Suche nach dem Hellsten Fleck im Rraum ist wie ich finde ein gutes Einsteigerthema!
CNY70
Der CNY70 ist ein Foto-Reflex Optokoppler. In einem würfelförmigem Gehäuse befindet sich eine Infrarot LED als Sender und ein Infrarot Fototransistor als Empfänger. Damit kann auf kurze Entfernung (wenige Millimeter) das reflektierte Licht der IR-LED durch den IR-Fototransistor gemessen werden.
Achtung: Es existiert auch noch ein CNY70 von Temic mit anderer Pinbelegung, dort ist der Fototransistor verdreht eingebaut.
Der CNY70 eignet sich für eine Vielzahl von Sensoren. Z.B. als Liniensensor, Radencoder, Abgrunddetektor und Lichtschranke. Allerdings ist er empfindlich gegen Streulicht, da das Licht der IR-LED nicht moduliert ist.
Der Liniensensor benötigt 2 A/D Wandler Eingänge des Prozessors. Die CNY70 sollten so nah wie möglich in Bodennähe angebracht sein (1..3mm). Der P-Kanal FET BS250 dient als Schalter für die IR LEDs des CNY70. Damit spart man Strom, wenn der Liniensensor nicht benötigt wird. Allerdings wird dafür ein weiterer Prozessor Ausgang als Enable Signal benötigt. HIGH Pegel schaltet die Sensor LEDs aus, LOW Pegel ein. Wird keine Enable Funktion gewünscht, läßt man den BS250 einfach weg und hängt die Vorwiderstände der Sensor LEDs direkt an VCC.
Die Radencoder benötigen zwei digitale Eingangsports des Prozessors. A/D Wandler sind nicht nötig, da die Schmitt-Trigger Gatter für saubere Logik Signale sorgen. Die CNY70 sollten so nah wie möglch an den Rädern sitzen (1..2mm). Die gewählten Widerstandswerte für R17/R19 bzw. R18/R20 sind optimiert für Radencoder die auf Transparentfolie gedruckt und auf Aluminium Räder aufgeklebt werden. Für Radencoder die auf Papier ausgedruckt werden, sind andere Widerstandswerte notwendig. Der P-Kanal FET BS250 dient als Schalter für die IR LEDs des CNY70. Damit spart man Strom, wenn der Radencoder nicht benötigt wird. Allerdings wird dafür ein weiterer Prozessor Ausgang als Enable Signal benötigt. HIGH Pegel schaltet die Sensor LEDs aus, LOW Pegel ein. Wird keine Enable Funktion gewünscht, läßt man den BS250 einfach weg und hängt die Vorwiderstände der Sensor LEDs direkt an VCC.
Distanzsensor IS471F
IS471F - Hindernisserkennung mit Infrarot Distanzsensor
Das hier vorgestellte IC IS471F erlaubt eine einfach und sogar recht preisgünstige Hinternisserkennung per Infarot. Dazu muß im wesentlichen nur noch eine Infrarot-Diode an das IC angeschlossen werden. Das modulierte Licht wird von einem Gegenstand direkt auf das IC zurückgeworfen und somit das Hinterniss erkannt. Tageslicht/Fremdlicht stört den IS471 überhaupt nicht, da das Licht mit einer bestimmten Frequenz moduliert wird.
Der normale Schaltungsaufbau sieht also wie oben abgebildet aus! In der Praxis kann das dann in etwa so aussehen:
Das englische Datenblatt findet man im Roboternetz-Download-Bereich
Die normale Reichweite ist in gewissen Grenzen abhängig von der Farbe des Hinternisses. In der Regel reicht es jedoch durchaus einige cm so das langsame Roboter durchaus sehr gut damit zurecht kommen. Durch besonders helle Infrarot LED´s und durch zusätzlich LED-Fassungen kann man die Reichweite erhöhen. Wem das noch nicht reicht, der kann über einen zusätzlichen Transistor die Strahlungsleistung der LED noch weiter erhöhen.
Sharp Infrarotsensoren
Sharp hat eine ganz interessante Serie von Bausteinen herausgebracht mit denen ein Roboter sogar recht genau Entfernungen messen kann. Das Messergebnis ist nahezu unabhängig von der Farbe und Helligkeit des gemessenen Objektes. Die Ansteuerung ist sehr einfach, der Sensorausgang kann zum Beispiel direkt an einen analogen Eingang eines Mikrocontrollers angeschlossen werden. Die Sensoren sind unter den Roboter-Bastlern weit verbreitet.
Bei vielen Händlern erhältlich kosten die Sensoren derzeit je nach Typ und Händlerspanne zwischen 13 bis 25 Euro.
Oft werden selbst in kleinen Roboter-Projekten mehrere dieser Sensoren genutzt da sie nur einen äußerst engen Erfassungsbereich haben. Sie eignen sich daher sehr gut zur Vermessung einer Umgebung, insbesondere dann wenn Sie drehbar auf einem Servo montiert werden. Als Kollisionsschutz sind sie wegen dem engen Winkel nur bedingt geeignet, zu diesem Zweck eignen sich zum Beispiel Ultraschallsensoren besser.
Das Funktionsprinzip der Sensoren ist einfach. Der Sensor besteht aus Sender und Empfänger. Der Sender sendet einen Infrarot-Strahl aus, der vom Hindernis reflektiert wird. Je nach Entfernung trifft der reflektierte Strahl an einer unterschiedlichen Stelle auf den Empfänger (ein sog. Position Sensitive Device, PSD). Der Empfänger setzt den Auftreffpunkt in einen analogen Spannungswert um. Eine schöne Skizze dazu:
Einige der beliebtesten Bausteine sind:
Sharp GP2D12
Distanz 10 - 80 cm - Entfernung wird durch analoge Spannung am Ausgang übermittelt Dies ist der am häufigsten eingesetzte Sharp Typ bei mobilen Robotern.
Sharp GP2YA21YK
Distanz 10 - 80 cm - Entfernung wird durch analoge Spannung am Ausgang übermittelt
Sharp GP2D120
Distanz 4 - 30 cm - Entfernung wird durch analoge Spannung am Ausgang übermittelt
Sharp GP2Y0A02YK
Distanz 20 - 150 cm - Entfernung wird durch analoge Spannung am Ausgang übermittelt
Sharp GP2D02
Distanz 10 - 80 cm - Entfernung wird durch 8 Bit Digitalausgang übermittelt
Sharp GP2D150
Distanz 3-30 cm - 1 Bit Schaltausgang
Datenblätter zu den oberen Sensoren findet man im Download-Bereich des Roboternetz, siehe unter #Weblinks.
Um die analogen Spannung der Sensoren in eine Entfernung umzurechnen, kann man sich mit Hilfe des Datenblattes oder einfacher Probemessungen Tabellen erstellen, welche dann vom Controller zur Umsetzung genutzt werden. Bequemer ist allerdings eine Näherungsformel:
Formel zur Entfernungsberechnung
D = A/(X-B)
D ist die Entfernung X ist der Ausgabewert des Sensors A ist die Steigung der Kurve A/X B ist der Offset der Kurve
Die Konstanten A und B ermittelt man am besten über zwei Probemessungen:
D und X sind die Entfernung und der Ausgabewert der ersten Messung (z.B. bei 20 cm) D' und X' sind die Entfernung und der Ausgabewert der zweiten Messung (z.B. bei 60 cm)
A = ((X' - X) * D' * D) /(D - D' ) B = (D' * X' - D * X) /(D' - D)
GP2D12 Messkurve
GPD120 Messkurve
Ultraschall Sensoren
Ultraschallsensoren SRF04
Die Firma Devantech hat eine Serie von sehr günstigen und kleinen Ultraschallsensoren entwickelt, die sich im Bereich "autonome Robotersysteme" durchgesetzt haben. Sie sind sehr verbreitet, da sie auch für "Hobby-Robotiker" erschwinglich sind und es sich nicht lohnen würde vergleichbare Module selber zu bauen, da diese meistens ungenauer und teurer wären.
Bekannt wurde die Serie durch den SRF04. Mit seinen kleinen Abmessungen, der niedrigen Stromaufnahme und der hohen Genauigkeit ist er für kleine Messaufgaben im Entfernungsbereich von 3cm bis 3m gut geeignet. Der SRF04 kann einen 3cm dicken Besenstiel in 2m Entfernung erkennen und wird durch ein PWM-Signal ausgewertet.
Ultraschallsensor SRF05
Der Nachfolger des SRF04 ist der neuer SRF05. Er besitzt noch eine etwas höhere Reichweite bis 4 Meter. Zudem besitzt er neben dem kompatibel Mode zu SRF04 noch eine Betriebsart bei der er über einen einzigen Port (Pin) gesteuert wird. Das heißt sowohl der Start der Messung und das Ergebnis wird über die gleiche Leitung übertragen. Programmbeispiel in Bascom
SRF08
Die Alternative zu SRF04 und SRF05 ist der beliebte SRF08 und dessen Nachfolger SRF10, der nun über den I2C-Bus ausgewertet werden kann und über eine Reichweite von 3cm bis 6m verfügt. Er hat eine noch kleinere Stromaufnahme und zusätzlich befindet sich auf der Platinenfront ein Fotowiderstand(LDR) dessen Lichtmesswerte sich ebenfalls über den I2C-Bus auswerten lassen. Durch den SRF08 wird es möglich auch bis zu 16 Mehrfachechos, von weiter hinten gelegenen Gegenständen, auszuwerten, die bei dem SRF04 ignoriert wurden. Über den I2C-Bus kann man die Messwerte in cm, zoll und in der Laufzeit µs auslesen und spart sich somit die externe Auswertung der Laufzeit, wie bei dem SRF04. Weiterhin können insgesamt 16 SRF08-Module an einen I2C-Bus angeschlossen werden.
SRF08 Programmbeispiel
SFR08 Programm Beispiel mit Bascom Über die grundsätzliche Behandlung des I2C-Bus mit Bascom kann man hier nachlesen.
Const Sf08_adr_0 = &HE0 ' I2C Adresse Const Sf08_c_range = 100 ' Reichweite Const Sf08_c_gain = 1 ' Empfindlichkeit
Die Adresse ist der Default-Wert für den Sensor, und kann eingestellt werden. Range und Gain sind anzupassen, die angegeben Werte sind aber mal grundsätzlich verwendbar.
Setup Nach dem Reset sind einmal Range und Gain zu setzen.
Setzen Range
I2cstart I2cwbyte Sf08_adr_0 ' Device I2C Adresse I2cwbyte 2 ' register "range" I2cwbyte Sf08_c_range I2cstop
Setzen Gain
I2cstart I2cwbyte Sf08_adr_0 ' Device I2C Adresse I2cwbyte 1 ' register "gain" I2cwbyte Sf08_c_gain I2cstop
Abfrage Trigger
Die Abfrage soll laut Beschreibung in zwei Schritten erfolgen, zwischen denen ca 70 mS gewartet werden soll. Diese Zeit braucht das Gerät zum Messen.
Trigger
I2cstart I2cwbyte Sf08_adr_0 ' Device I2C Adresse I2cwbyte 0 ' register "Trigger" I2cwbyte 81 ' Meßwert in Zentimetern
Waitms 70
Ergebnis abholen
DIM Lsb as Byte DIM Msb as Byte DIM IVal as word I2cstart ' Repeated Start I2cwbyte Sf08_adr_0 ' Device I2C Adresse I2cwbyte 2 ' Meßwert US I2cstart ' repeated Start I2cwbyte Sf08_adr_0 + 1 ' Device I2C Adresse READ! I2crbyte Msb , Ack ' Bit 8-15 I2crbyte Lsb , Nack ' Bit 0-7 I2cstop Ival = Makeint(lsb , Msb) ' umwandeln in Word (16 Bit)
SRF10 Ultraschallsensor
SRF10 ist quasi der Nachfolger von SRF08. Er bietet die gleiche Leistung und ist sogar gegenüber Spannungschankungen noch etwas unempfindlicher als der Vorgänger. Der größte Vorteil besteht jedoch darin das er ca. 1/3 kleiner als sein Vorgänger ist.
Die technischen Daten sind ähnlich:
- Betriebsspannung: 5V
- Stromaufnahme: ca. 3mA Standby, ca. 15mA während des Messens Frequenz: 40KHz
- Maximale Reichweite: 6 m
- Minimale Reichweite: 4 cm
- Messwerterfassung: intern, kein externer Controller zur Zeitmessung notwendig
- Interface: Standard – I2C (passend zu zahlreichen Controllerboards, z.B. RN-Control)
- Ausgabeformat: µs, cm oder Zoll
- Feature: Analogverstärkung 40 - 700 (einstellbar, 16 Stufen)
- Abmessungen: 32mm x 15mm x 10mm
- Hersteller: Devantech Ltd
SRF02 Ultraschallsensor
Der erste Sensor aus der SRF-Reihe der mit nur einem Ultraschallwandler auskommt. Dennoch können sich die Leistungen zeigen. Vorallem die Tatsache das sowohl RS232 und I2C-Bus Schnittstelle vorhanden ist dürfte viele Bastler erfreuen.
- Betriebsspannung 5V (stabilisiert)
- Stromaufnahme nur 4mA (typisch)
- Ultraschallfrequenz 40khz
- Reichweite 15cm bis 6 Meter
- Schnittstelle RS232 (TTL) und I2C-Bus
- Ausgabeeinheit wahlweise mm, inch oder uS
- Einfachste Verwendung, keine Kalibration/Justierung notwendig
- Größe 24mm x 20mm x 17mm
Vergleichstabelle
SRF10 | SRF08 | SRF05 | SRF04 | SRF02 | |
Betr. Spannung | 5V | 5V | 5V | 5V | 5V |
Stromaufnahme | 3mA typ., 15mA max. |
3mA typ., 15mA max. |
4mA typ., 30mA max. |
30mA typ., 50mA max. |
4mA typ. |
US Leistung | 100 – 150mW | 100 – 150mW | 100 – 150mW | 100 – 150mW | ?? mW |
Frequenz | 40kHz | 40kHz | 40kHz | 40kHz | 40kHz |
Bereich | 72º | 55º | 55º | 55º | 55º |
Reichweite | 4cm - 6m | 3cm - 6m | 3cm - 4m | 3cm - 3m | 15cm - 6m |
Triggerimpuls | 10µs min. | 10µs min. | |||
Abmessung in mm | 32 x 15 x 10 | 43 x 20 x 17 | 43 x 20 x 17 | 43 x 20 x 17 | 24 x 20 x 17 |
Interface | I2C | I2C | TTL Impuls | TTL Impuls | I2C o. RS232 TTL |
Feature | Minimodul | Lichtsensor | SRF04 Modus | nur 1 US-Kapsel | |
Preis ca. * | 44,00 € | 44,00 € | 22,00 € | 25,00 € | 19,00 € |
* Der Preis dient nur zum vergleich untereinander, nicht als Referenz !
Kompaß
Kompaß-Modul CMPS03
Laut der Doku ist diese Modul speziell für die Bedürnisse von Robotern gestaltet worden. Es mißt seine Lage relativ zum Erdmagnetfeld und liefert diesen Wert
- Als PWM-Signal
- Über I2C entweder 0-255 als Byte oder
- 0-3599 als 16-Bit Wert (MSB first)
In der vorliegenden Doku ist eine fixe I2C-Adresse von 0xC0 angegeben. Was leider noch fehlt, sind Angaben, ob und wie diese Adresse geändert werden kann.
Bei waagrechter(!) Montage ist das also ein Kompaß, bei senkrechter Montage dieser Module kann man auch die Neigung in Nord-Süd-Richtung messen. Hierzu sind 2 Module nötig, die zueinander um 90° gedreht angeordnet sein müssen. Die Neigung in Ost-West-Richtung zu messen, ist dagegen leider nicht möglich. Wenn ein CMPS03 als Kompass verwendet werden soll, sind zwei Dinge zu beachten:
- Mindestens 20 cm Abstand von Eisen(Motore)
- Exakte horizontale Ausrichtung.
Eine Montage an einem langen Stab aus Holz oder Kuststoff hoch über dem Roboter ist sinnvoll.
Das Ganze ist eine Anwendung des Philips-KMZ51 Magnet-Feld-Sensors mittels eines PIC16F872
Gelegentlich sollte das Modul kalibriert werden. Das kann über den I2C-Bus, aber auch mittels einen Pins am Modul initiiert werden. Dann muß das Module langsam um 360 Grad gedreht werden. Dabei nimmt das Modul 4 Meßpunkte auf und speichert sie im EEPROM.
Ein Beispielprogramm findet man hier:
Beschleunigung
Beschleunigungssensoren messen die Beschleunigung, die auf sie wirkt - wenn sie auf dem Tisch liegen, messen sie beispielsweise die Erdbeschleunigung von 1g. In einem Auto können weitere Beschleunigungen hinzukommen: Zur Seite beim Kurvenfahren, nach vorne oder hinten beim Beschleunigen, oder bei zügiger Fahrt über eine Bergkuppe auch mal welche in vertikaler Richtung.
Beschleunigungssensoren sind meist mehrdimensional ausgelegt, so dass für mehrere Achsen ein Sensor verwendet werden kann.
Anwendungen finden sie in ESP-Systemen in Autos, die u.a. über die Querbeschleunigung ausrechnen können, ob das Fahrzeug seitlich driftet oder gar schleudert.
Eine andere wichtige Aufgabe übernehmen sie zusammen mit Gyroskopen in Trägheitsnavigationssystemen, die dann sowohl die Lage im Raum als auch die Bewegung feststellen können.
Moderne Piezo-Sensoren sind nur noch Chip-gross und können direkt in Schaltungen integriert werden.
Beispiele für solche Chips ist die Chipfamilie ADXL von Analog Devices. Sie umfaßt 1- und 2-Achs Accelerometer in verschiedenen Empfindlichkleiten.
Drehung
Um Drehungen zu messen, werden sogenannte Gyroskope, kurz "Gyros" verwendet. Typische Vertreter sind hier die ADXRS-Familie von Analog Devices. Diese sind allerdigs, anders als die Beschleunigungssensoren, meistens nur für eine Achse ausgelegt. Die Ausgabe erfolgt meist analog, jede Ausgangsspannung entspricht einer bestimmten Drehrate in °/Sekunde.
Gemessen wird die Auswirkung der Corioleskraft auf zwei gleiche, in Bewegung gehaltene Massen. Diese schwingen radial, d.h. 90° verdreht zu der Achse, auf der die Drehung gemessen werden soll. Wird der Sensor um die Achse gedreht, ändert sich die Geschwindigkeit dieser Massen, da sie auf einer gedachten Scheibe abwechselnd nach innen und außen wandern. Je weiter sie außen sind, desto höher ist ihre Geschwindigkeit, je weiter innen, desto langsamer sind sie. Bei der Bewegung nach außen müssen sie also beschleunigt werden, andersherum genauso. Die dabei auftretenden Beschleunigungen werden mittels einiger Fühler gemessen, die einen Plattenkondensator bilden.
Eine Anwendung sind im Flugmodellbau Gyro-"Taillocks", die in Hubschraubern die Heckstabilität verbessern und ESP-Systeme in Autos, die u.a. durch die Messung der Gierrate, also der Drehung des Fahrzeugs um die Hochachse, feststellen können, ob das Fahrzeug seitlich driftet oder sogar schleudert.
Geschwindigkeit
Geschwindigkeit kann unterschiedlich erfasst werden.
- Direkt am Rad oder Antrieb. Diese Methode wird häufig auch in KFZ verwendet, stößt jedoch an ihre Grenzen wenn die Räder viel Schlupf haben.
- Gegenüber der Luft mittels Pitot-Tube. Das wird bei Flugzeugen so gemacht, oder z.B. in der Formel 1. Bei niedriegen Geschwindigkeiten nicht zu gebrauchen
- Mittels eines optischen Sensors gegenüber dem Untergrund. Dafür kann ein Maussensor aus einer optischen Maus verwendent werden, evtl. mit einer Anpassung der Optik für einen geänderten Abstand.
- Mittels GPS-Empfang. Funktioniert nur unter freiem Himmel.
Temperatur
NTCs
http://www.tranzistoare.ro/datasheets2/83/83853_1.pdf
PTCs
PTCs sind Temperatursensoren, deren Widerstand sich mit steigender Temperatur erhöht. Dazu gehören
- PT100, PT1000 etc.
- Die KTYxx-xxx Reihe
KTY: Silizium Temperatursensoren
Die KTY-Temperatursensoren sind verglichen mit anderen Temperatursensoren verhältnismäßig günstig, haben dafür aber auch mehr Nachteile.
Die Genauigkeit ist ziemlich eingeschränkt, weshalb die KTY-Temperatursensoren zuerst kalibriert werden sollten. Dies muss Schaltungstechnisch oder in Software erfolgen, eine eingebaute Kalibrierung gibt es nicht.
Andererseits lassen sich mittels Oversampling sehr hoch aufgelöst Temperaturen messen, was aufgrund mittelmäßiger Linearität (auch nach der Linearisierung) aber nur bei der Messung kleiner Temperaturunterschiede empfehlenswert ist.
Linearisiert werden die KTY an 5 Volt mit einem Reihenwiderstand von etwa 2,7 kOhm bis 3,3 kOhm.
Temperatur-Sensor LM75
Dieser Chip von National Semiconductors kann die Umgebungstemperatur mit einer Genauigkeit von 0.5o Grad Celsius messen. Das angegebene Bereich ist -25o bis 100o C. Es wird zweierlei geboten:
- Ein Schaltausgang - Wenn man also z.B. einen Ventilator einschalten möchte
- I2C - Der obere Teil der Adresse ist fix 0x9n, die Bits 1-3 kann man mit Jumper einstellbar machen oder fest verdrahten.
Durch einen einfachen I2C-Lesebefehl kann man die Temperatur einlesen (16-Bit), das Format ist allerdings etwas tricky. Das erste Byte (8-Bit) ist die Temperatur in ganzen Grad, als normales signed char, vom zweiten Byte gibt das MSB an, ob noch 0.5o dazuzuzählen sind (also auch, wenn vorne eine negative Zahl steht)
Der Grund ist der: die vorzeichenbehaftete 9-Bit Zahl, die da linksbündig in zwei Datenbytes übertragen wird, gibt eigentlich an, wieviel 0.5 Grad - Einheiten gemessen wurden. Rein rechnerisch wäre also Temperatur = Wert * 0.5, das müßte man aber als float durchführen oder erweitern
Programm-Beispiel für LM75
Der LM75 wird über den I2C-Bus angesprochen In BasCom, wo es ja keine signed char gibt, wird das Interpretieren auf sehr unterschiedliche Art empfohlen.
Ich empfehle:
dim Ival as integer dim Msb as byte dim Lsb as byte I2cstart I2cwbyte &H91 ' Lese-adresse ! If Err = 1 Then I2cstop ' kein ACK vom LM75 --> irgendein Fehler Ival = 9999 ' Zeichen, daß der Wert ungültig ist ! Else I2crbyte Msb , Ack I2crbyte Lsb , Nack I2cstop If Msb.7 = 1 Then Ival = Makeint(msb , &HFF) ' auffüllen mit den Vorzeichen bits Else Ival = Makeint(msb , &H00) ' positiv, also bleibt es so End If Ival = Ival * 10 ' erweitern If Lsb.7 = 1 Then Ival = Ival + 5 ' fünf Zehntel Grad dazu End If End if
das ergibt die Temperatur in Zehntel-Grad (Natürlich nur, wenn's keine Fehler gab).
Resistive Sensoren
...
Kapazitive Sensoren
Ein Beispiel für kapazitive Sensoren sind Luftfeuchtigkeitsmesser, die ihre Kapazität entsprechend der Luftfeuchtigkeit ändern. Das Auslesen der Kapazität kann prinzipiell über das Ausmessen von Ladekurven geschehen. Dies ist jedoch bei kleinen Kapazitäten nicht praktisch durchführbar, weshalb man in diesem Falle meist einen Schwingkreis baut, dessen Frequenz man dann misst und so dann zusammen mit der bekannten Induktivität der Spule die Kapazität des Kondensators ausrechnen kann.
Induktive Sensoren
Induktiver Näherungsschalter
Sensoren die ihre Induktivität entsprechend der Messgröße ändern können auch mit Hilfe eines Schwingkreises mit bekannter Kapazität ausgemessen werden.
...
Piezoelektrische Sensoren
Hier ist ein Experiment dargestellt das die Funktion von Piezowandlern demonstriert.
Drückt man auf eine längliche Glasplatte (Mikroskopträger Länge 76mm), die an den Enden auf je einem Piezo Wandler gelagert ist, dann ergeben sich Signale, die von den Kräften auf die Wandler abhängig sind.
Die Summe der beiden Kräfte entspricht der Gesamtkraft. Das Verhältnis der beiden Kräfte entspricht dem Verhältnis der Abstände des Druckpunktes zum Wandler.
Im Versuch wurde mit der Frequenz von ca. 4Hz (0,5s/div) von einem Ende bis zum anderen auf die Platte gedrückt. (Tonleiter). Die Signale der beiden Wandler sind im Oszillogramm aufgetragen und die Folge der Druck-Positionen ist auf den ersten Blick schon mal nachvollziehbar.
PIR Passiv Infrarot Sensoren
Hier handelt es sich um Passiv-Infrarot-Bewegungsmelder. Bewegungsmelder regieren beim Eintritt einer Person (Tier) in das Erfassungsfeld des Sensors. Die Anwendungsmöglichkeiten sind nahezu unbegrenzt, man kennt die Technik ja von vielen Terrassenlampen, welche sich beim vorbeigehen automatisch einschalten. Reagiert wird also auf Die Körperwärme einer sich im Erfassungsfeld bewegenden Person.
Zum Prinzip: Wärmestrahlen, die einen Erfassungsvorgang auslösen, liegen im Infrarot-Bereich des Wellenspektrums. In diesem Bereich gibt der menschliche Körper seine Wärmestrahlung ab. Leuchtmittel wie Glüh- , Halogen- und Entladungslampen, die für eine Strahlung im sichtbaren Bereich um 0,555 μm entwickelt wurden, geben jedoch auch einen erheblichen Teil an Wärmestrahlung im Infrarot-Bereich ab. Im Spektrum oberhalb des sichtbaren Licht, ab 0,780 μm, beginnt der Infrarot-Bereich. Die Wellenlänge dieser IR-Strahlung ist abhängig von der Temperatur eines Körpers. Die Wärmestrahlung des Menschen hat ihr Maximum zwischen 9 und 10 μm im Infrarot-Bereich. Diese Tatsache nutzt der PIR Sensor mittels sogenannter pyroelektrischer IRDetektoren, welche eine hohe Empfindlichkeit im langwelligen Infrarot-Bereich aufweisen. Die Infrarot- Strahlung verhält sich ähnlich wie sichtbares Licht. Sie kann reflektiert und durch Linsen gebündelt werden. Basis eines solchen IR-Detektors (Sensors) sind Lithium-Tantalatkristalle. Diese Kristalle erzeugen, bei Wärmeänderung (positive oder negative Temperaturänderung), eine elektrische Spannung. Die von den Kristallen abgegebene Spannung liegt im Bereich von einigen μV (μV = millionstel Volt) und ist von folgenden Bedingungen abhängig:
- Der Intensität der Wärmequelle (Temperatur und Größe)
- Dem Umgebungsmedium (Temperatur, unterschiedliche Luftfeuchtigkeit)
- Der Entfernung zwischen Wärmequelle und IR-Sensor
- Der Bewegungsgeschwindigkeit und Bewegungsrichtung der Wärmequelle
- Der Empfindlichkeit des PIR-Elementes (frequenzabhängiges Bandpaßverhalten mit Maximum bei ca. 0,1 Hz)
Zur Unterdrückung von Einflüssen aus der Umgebung (übliche wetterbedingte Temperaturänderungen), sind in jedem Sensor 2 Kristalle antiparallel geschaltet. Einer der Kristalle gibt, bei Auftreffen von Wärmestrahlung einen positiven, der andere einen negativen Spannungsimpuls ab. Wärmeänderungen die gleichzeitig und mit gleicher Intensität auf beide Kristalle einwirken lösen so keinen Erfassungsvorgang aus, denn die beiden Impulse heben sich gegenseitig auf. Dadurch ist ein Auslösen bei Wärmeänderungen der Umgebung weitgehend ausgeschlossen. Anders verhält es sich bei schnellen Bewegungen. Die Lithiumtantalat-Kristalle geben, entsprechend der Bewegung und der dadurch hervorgerufenen Wärmeänderung im Erfassungsfeld, ihre Impulse zeitversetzt ab. Die beiden Impulse addieren sich zu einer Wechselgröße mit höherer Signalamplitude. Dieses elektrische Ausgangssignalist proportional der Wärmeänderung und führt zur Meldung einer Bewegung.
Autoren
- PicNick
- Frank
- Dennis.strehl
- Florian
- Topic
- Manf
Siehe auch
- Navigation
- Sensoren
- Graycode
- Ultraschall SRF10 an RN-Control
- Ultraschall SRF05 an RN-MiniControl
- Bascom und Kompass CMPS03