Neigungssensor: Unterschied zwischen den Versionen
Zeile 75: | Zeile 75: | ||
---- | ---- | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== Komplexer: Beschleunigungsensor ADXL330 == | == Komplexer: Beschleunigungsensor ADXL330 == |
Version vom 23. Januar 2012, 22:08 Uhr
Inhaltsverzeichnis
Allgemeines
- Sensortypen / Techniken
- Vergleich Einsatzzweck / Aufwand
Links:
Einfacher mechanischer Neigungssensor auf Basis von Reedkontakten und Magnetpendel
Funktionsbeschreibung
Reedkontakte haben die Eigenschaft in der Nähe eines Magnetfeldes (vorzugsweise Dauermagnet) zu schalten. Der Neigungssensor, wie der Name es schon sagt, soll in der Bewegung feststellen ob es nach oben oder nach unten geht. Hier geht es nicht darum zu ermitteln, wie groß die Neigung (Anstieg oder Gefälle) ist, und das in Grad anzugeben, sondern lediglich um die Erkennung. Dennoch ist der Meßbereich (Maximalwert / Minimalwert) für die Erkennung festzulegen. Dieser Meßbereich ergibt sich aus dem maximalen Anstieg der Rampe von ca. 21°. Da der Roboter die Rampe für die Auffahrt und für die Abfahrt erkennen muss, ist der Meßbereich von 40° Grad gegeben.
Beim frühen Befahren der Rampe (hinterer Teil ist noch auf gerader Fläche) ist eine Auffahrt bzw. Abfahrt noch nicht mit dem max. Wert erkennbar (also < 20°).
Hier der Verlauf zu den Werten:
- gerade = 0°
- Beginn Anstieg o. Gefälle = 10°
- max. Anstieg o. Gefälle = 20°
Natürlich würden auch 2 Meßpunkte ausreichen (Min/Max) um den Anstieg bzw. das Gefälle zu erkennen, aber
um schneller auf die Veränderungen hin zur Ebene bzw. weg von der Ebene zu reagieren, macht es Sinn mit
Zwischenwerten zu arbeiten. Vier Schalter auf 10° und 20° verteilt sollten reichen. Die "Nullstellung" in der Ebene
mit einem Schalter zu versehen, ist nicht unbedingt notwendig.
Fotos zum funktionsfähigem Testaufbau der mechanischen Funktion
Hier haben wir die Anschlüsse der Reedkontakte mit einer einfachen Beschaltung (Leuchtdiode (LED) + Vorwiderstand an ca. 4V) versehen. Mit diesem Testaufbau kann nachgewiesen werden, wie sich die Pendelwirkung bei Neigungen und dem Dauermagneten am Pendel auf die Reed-Kontakte auswirkt. Es hat einige Zeit gedauert die Mechanik einstellbar zu gestalten. Bei den Tests sind folgende Problem aufgetreten:
- das Pendel war zu leicht
- der Magnet war zu weit von den Kontakten entfernt
- die Kontakte schalteten unterschiedlich, es kam zum "Prellen"
- die Empfindlichkeit beim Erkennen der Bewegung reichte nicht aus
Jetzt funktioniert die Anordnung wie gewünscht, wie ihr den Bildern entnehmen könnt.
Was sagt mir das blaue Leuchten der Dioden über die Neigung
- leuchtet keine Diode, ist der Sensor in Null-Position, keine Neigung (Dual: 0000 Dezimal: 0)
- leuchtet jeweils nur die linke oder rechte LED, ist die max. Neigung erkannt (Dual: 1000, 0001 Dezimal: 8, 1)
- leuchten jeweils beide LED's rechts oder links, ist die Neigung >10° aber kleiner als 20° (Dual: 1100, 0011 Dezimal:12, 3)
- leuchtet nur jeweils die vorletzte LED rechts oder links, ist die Neigung ca. 10° (Dual: 0100, 0010 Dezimal: 4, 2)
Komplexer: Beschleunigungsensor ADXL330
- Schaltung
- Anbindung an Arduino
- Anbindung an NXT
- Code
Links:
Serielle Kommunikation
- I2C / 2Wire Datenaustausch
- Bus-Treiber
- an NXT
- an Arduino