-
        

Seite 1 von 4 123 ... LetzteLetzte
Ergebnis 1 bis 10 von 38

Thema: Kompass Sensoren liefern unzuverlässige Werte ... Warum

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    28.10.2013
    Beiträge
    34

    Frage Kompass Sensoren liefern unzuverlässige Werte ... Warum

    Anzeige

    Hallo zusammen,

    Ich muss die Frage stellen... Wie verhalten sich eure Kompass Sensoren ?
    Es kann nicht sein, dass meine beiden: zunächst der CMPS 10 ( Tilt compensated) und ein LSM 303, solche wirren Werte liefern.
    Mein Problem ist folgender Natur:

    An einem Punkt nur für testzwecke spiele ich mein Kompassprogramm ein. Auf der Stelle bewegt, zeigt er rel. zuverlässig die Werte an, Abweichung (+-) 1 - 2 ° , so weit so gut.
    Lasse ich meinen Robi fahren, springen die Werte auf der gesamter Scala umher dh. von 0 -- 360° .
    Mal ist beim gerade aus fahren ( die selbe Strecke!!!! ) der Winkel bei 120° dann bei 300° .. 2° usw.

    Dies hat mit einem Abstand zum Motor bzw. einen anderen "magnetischen" Gegenstand nichts zu tun. Denn sogar eine 0,5 m lange Stange hat diesbezüglich nichts gebracht.

    Entweder mach ich was falsch oder sind die Sensoren derart empfindlich, dass ich damit keine vernünftigen Werte bekommen kann.

    Mich wundert es aber sehr, denn in jeden billigen Smartphone sind Kompasssensoren verbaut und dort trotz der WLAN Antenne und GPS Antenne scheinen diese zuverlässig zu arbeiten .... Warum nicht auch die oben genannten Sensoren bei Arduino ???


    Zusatzfrage :

    Würde hier evtl. ein GPS Sensor ( Indor gebrauch) einen Kompass bzw. Winkel Wert liefern ? Falls ja welchen GPS Sensor würdet Ihr empfehlen ?

    Danke vorab für Anregungen

    SG

    Christoph

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    32
    Beiträge
    2.338
    Dies hat mit einem Abstand zum Motor bzw. einen anderen "magnetischen" Gegenstand nichts zu tun. Denn sogar eine 0,5 m lange Stange hat diesbezüglich nichts gebracht.
    das ist mal eine mutige behauptung .... dir ist schon klar, dass der motor einen stator mit magneten hat die eine gewisse stärke X besitzen ... damit der motor sich dreht wird in einer spule eine elektronmagnetisches feld erzeugt das um mehrere X stärker ist als das magnetfeld der permanentmagneten!

    ansonsten würde ich mal ne Frage zur Versorgung stellen! Welche Spannung servierst du ihm auf deinem Roboter? Hast du einen ausreichend dimensionierten Pufferkondensator am Sensor bzw. könntest du vll. eine höhere Spannung liefern und dann über einen Spannungsregler eine sauberere Spannung liefern?

    der CMPS ist meines Wissen nach ein sehr empfindlicher Hall Effekt Sensor, da wird der Strom gemessen der durch den Hallsensor fließt ... wenn die Versorgung dreckig ist, bekommst du dann natürlich keine Anständige Messung zu stande.

    Ich habe es damals mit einem Asuro probiert und den Sensor ca. 1cm über dem Batteriefach montiert, ich war also runde 4cm von den Motoren entfernt. Allerdings habe ich einen relativ dicken Kondensator und eine Diode in die Versorgung gelegt, damit der SEnsor bei unterversorgung aus dem Kondensator zieht und die restliche Elektronik nicht ebenfalls den Kondensator belastet (Achtung auch die Datenpins brauchen Antiparallel Dioden sonst könnte die leicht höhere Spannung evtl. Schäden anrichten)

    PS: Die wirksamste Änderung die ich nachträglich eingebaut habe, waren ein separater Spannungsregler für die gesamte Elektronik und die Motoren direkt von der Batterie ... solange die Batteriespannung nicht einbrach lief alles bestens und stabil
    Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
    nicht.

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    22.06.2009
    Beiträge
    1.264
    Ich schließe mich dabei Ceos an. Dass es bei dem Asuro kein Problem mit der Nähe zu den Motoren gegeben hat muss aber für deinen Fall noch lange nichts heißen. Unterschiedliche Motoren stören unterschiedlich stark. Als Beispiel. Wenn du einen guten Industriemotor nimmst, wirst du selbst mal direkt am Gehäuse keine Störung feststellen bzw. die Störung geht im Grundrauschen unter. (Hängt natürlich auch von der Motorgröße usw ab - Bei einem 100 kW Motor wirst du auch bei guten Motoren noch ein externes Feld messen).

    Trotzdem gilt -> Check die Versorgung!. Es empfiehlt sich dabei eine Kombination aus einen relativ großen Elko und einen kleinen Keramikkondensator möglichst nah an den Sensor zu setzen. Wenn der Sensor ein analog Signal ausgibt sollte man auch schauen, dass diese Leitung möglichst weit weg von den Motoren geführt wird.

    Du kannst auch einen Sensor ausprobieren der Kompassdaten mit Beschleunigungs und Gyrowerten fusioniert (oder die Fusion selber machen - würde ich aber nicht machen . Ich kann da den BNO055 empfehlen (Wird in seeehr viel Smartphones verbaut), aber ich wette HaWe wird dir noch schreiben wie schlecht und schlimm er diesen Sensor findet und einen anderen vorschlagen...

    Was deine Zusatzfrage angeht:
    Nein GPS ist dafür gerade im Indoor bereich komplett ungeeignet. Auch im Außenbereich musst du erst einige Meter fahren um eine Information über die Ausrichtung zu bekommen. Dein Handy fusioniert an dieser Stelle Kompass mit GPS.

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.10.2014
    Beiträge
    2.361
    Du kannst auch einen Sensor ausprobieren der Kompassdaten mit Beschleunigungs und Gyrowerten fusioniert (oder die Fusion selber machen - würde ich aber nicht machen . Ich kann da den BNO055 empfehlen (Wird in seeehr viel Smartphones verbaut), aber ich wette HaWe wird dir noch schreiben wie schlecht und schlimm er diesen Sensor findet und einen anderen vorschlagen...
    der CMPS11 (+ CMPS10) macht doch genau das: er ist ein 9D IMU mit eigenem Signalprozessor zur Sensorfusion per integriertem Kalmanfilter!
    Er ist ein digitaler Sensor (UART + I2C), und die Versorgungsspannung über Arduino-Vc (5V oder 3.3V) ist doch auch äußerst stabil. Motoren sollen aber schon über externe Batterien versorgt werden.

    Aber Kompass ist indoors eben schlecht, und externe Magnetfelder stören extrem, das habe ich ja nun schon oft genug ausführlich beschrieben. Schaltet man alle Störungen aus, ist er extrem genau, bei mir sogar ohne Kondensator, sowohl an Arduino Due + Mega als auch am Raspi.

    Indoors und in Magnetfeld-Nähe ist mE höchstens ein Tinkerforge IMU Brick 2 geeignet, ebenfalls bereits häufig angemerkt. Er ist ein Kompass- und Acc-stabiisierter Gyro, kein kompensierter Kompass.
    ·±≠≡≈³αβγπΔΣΩ∞ Schachroboter:www.youtube.com/watch?v=Cv-yzuebC7E Rasenmäher-Robot:www.youtube.com/watch?v=z7mqnaU_9A8

  5. #5
    Erfahrener Benutzer Roboter Experte Avatar von Tido
    Registriert seit
    14.11.2006
    Ort
    OWL
    Alter
    41
    Beiträge
    609
    Was passiert denn, wenn du den Kompass durch den Raum trägst? Schwanken dann die Werte genauso?
    MfG
    Tido

    ---------------------------------------------------
    Have you tried turning it off and on again???
    ---------------------------------------------------

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    28.10.2013
    Beiträge
    34
    Hi Ceos hallo auch an die anderen,

    Das ist keine Behauptung, dass ist was ich bereits gemacht / ausprobiert habe. Auch ohne Motoren schwanken die werte. Dies dürfte deine Frage @Tido beantworten.

    Kannst du mir bitte eine schematische Darstellung deiner Lösung zuschicken?
    Wo hast du die Kondensatoren genau angebracht wie ist das mit der Data Leitungen bei dir gelöst ?

    @ Ceos Ich glaube das mein Problem genau hier liegt.

    Zwar versorge ich meinen Robi aus einer 12 Volt Batterie ( für die Antriebe) die über einen DC/DC Wandler auf exakt 5,2 Volt für die Sensorik heruntergeregelt ist doch ich denke dass ich hier keine Spitzen abfangen kann.

    Wäre dir dafür sehr dankbar.

    VG
    Chris

  7. #7
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.10.2014
    Beiträge
    2.361
    Zitat Zitat von zerebrator Beitrag anzeigen
    Hi Ceos hallo auch an die anderen,

    Das ist keine Behauptung, dass ist was ich bereits gemacht / ausprobiert habe. Auch ohne Motoren schwanken die werte. Dies dürfte deine Frage @Tido beantworten.

    Kannst du mir bitte eine schematische Darstellung deiner Lösung zuschicken?
    Wo hast du die Kondensatoren genau angebracht wie ist das mit der Data Leitungen bei dir gelöst ?

    @ Ceos Ich glaube das mein Problem genau hier liegt.

    Zwar versorge ich meinen Robi aus einer 12 Volt Batterie ( für die Antriebe) die über einen DC/DC Wandler auf exakt 5,2 Volt für die Sensorik heruntergeregelt ist doch ich denke dass ich hier keine Spitzen abfangen kann.

    Wäre dir dafür sehr dankbar.

    VG
    Chris
    das halte ich für keine gute Schaltung:

    Arduinos können über den eingebauten Spannungsregler versorgt werden, sie liefern dann eine stabilisierte Bordspannung auch für die Sensoren.
    Du kannst die 12V auf 7-9V runter regeln, damit der Regler vom Arduino nicht zu viel verheizt.
    Die H-Brücken für die Motoren werden dann direkt über 12V angesteuert.
    ·±≠≡≈³αβγπΔΣΩ∞ Schachroboter:www.youtube.com/watch?v=Cv-yzuebC7E Rasenmäher-Robot:www.youtube.com/watch?v=z7mqnaU_9A8

  8. #8
    Benutzer Stammmitglied
    Registriert seit
    28.10.2013
    Beiträge
    34
    Sorry HaWe aber das verstehe ich nicht.

    Der Arduino wird über einen anderen DC/DC Wandler mit 9 Volt versorgt.
    Ich habe an die 10 Verbraucher die 5 Volt benötigen da hängt auch der Kompass mit drauf ich kann doch nicht alles über den Arduino laufenlassen ...

    Es gibt Anwendungen mit 24 Volt Antrieben und noch höher hier muss ich es trennen. Was kann ardunio was die DC/DC Wandler nicht können ?

    Ich lasse mich gerne des besseren belehren doch ich sehe wirklich keinen Vorteil darin 10 oder mehr Verbraucher über arduion zu versorgen ich kann mit den Wandler doch höhere Störme fahren oder nicht ??

    Gruß

    Chr

  9. #9
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.10.2014
    Beiträge
    2.361
    der Vorteil wäre, dass Arduino und alle Sensoren immer exakt dasselbe Spannungslevel hätten, was wichtig ist, sobald einzelne Sensoren gegen das Aduino-VC-Level gemessen werden.
    Dass du derart viele Sensorren hast, hätte ich nicht vermutet, aber dann wäre es besser, sowohl Sensoren als auch Arduino über denselben 5V DC Wandler (und den Arduino über seinen GPIO+5V pin) zu versorgen.
    ·±≠≡≈³αβγπΔΣΩ∞ Schachroboter:www.youtube.com/watch?v=Cv-yzuebC7E Rasenmäher-Robot:www.youtube.com/watch?v=z7mqnaU_9A8

  10. #10
    Benutzer Stammmitglied
    Registriert seit
    28.10.2013
    Beiträge
    34
    Werde es trotzdem so versuchen wie du es mir empfohlen hast. Zumindest versuche ich den Kompass über Arduino laufen zu lassen

    Sollte sich Ceos mit seinen Daten noch melden werde ich auch seine Alternative gerne probieren.

    Gruß
    Chr

Seite 1 von 4 123 ... LetzteLetzte

Ähnliche Themen

  1. NX Shield mit Kompass und IR Sensoren
    Von danbru1211 im Forum Sensoren / Sensorik
    Antworten: 2
    Letzter Beitrag: 16.12.2011, 12:44
  2. Antworten: 14
    Letzter Beitrag: 08.02.2009, 16:45
  3. Antworten: 9
    Letzter Beitrag: 24.01.2009, 20:10
  4. Warum sind AD-Werte auf 0?
    Von rogerberglen im Forum Assembler-Programmierung
    Antworten: 5
    Letzter Beitrag: 18.08.2007, 12:44
  5. C-Control - Analoge Ports liefern merkwürdige Werte
    Von Bernie19 im Forum Controller- und Roboterboards von Conrad.de
    Antworten: 3
    Letzter Beitrag: 08.09.2005, 12:56

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •