Ein selbst gebasteld kompass met den NXP KMZ-Sensor : https://www.roboternetz.de/community...ghlight=MAGNET
Hallo,
ich würde gerne einen Kompass an meinem RP6 anbringen.
Nun wollte ich mal fragen welche Kompasse hier empfohlen werden.
Wie axel88 in diesem Beitrag ( https://www.roboternetz.de/community...s-f%C3%BCr-RP6 ) schon gesagt hat ist es doch relativ "doof" 40€ für so einen 2D Kompass auszugeben.
Könnte man soetwas auch mit dem KMZ51 selber bauen?
Wenn ja wie ^^? Und ist eher ein 2D oder eher ein 3D Kompass zu empfehlen?
Da ich gehört habe dass der 2D Kompass paralell zur erdoberfläche verlaufen sollte, d.h. dass wenn er gekippt wird werden die Messungen ungenau oder gar falsch.
Danke schonmal im vorraus![]()
Ein selbst gebasteld kompass met den NXP KMZ-Sensor : https://www.roboternetz.de/community...ghlight=MAGNET
Okay sieht ja ganz interessant aus.
Gibt es eigentlich Vorteile für einen 3D kompass gegenüber einem 2D?
Wenn ja wäre etwas wie dieser hier:
http://www.pololu.com/catalog/product/1250
gut?
Ein 3D kompass gibts in alle Lagen eine Richtung von Feldlinien. Ist damit von Forteil für heli. flugzeug oder quadrocopter. Ein 2D kompass kann das nicht. Grosste Nachteil von ein kompass ist die Abbiegung von das Magnetfeld durch Motoren, Stahl, Gebaude und so mehr. Innen ist dadurch das Signal meistens nicht brauchbar oder stark gestort. Aussen gehts es meistens besser.
Ja, dass die Motoren stören habe ich auch schon oft gelesen. Deshalb sollte man den Kompass 20 - 30 cm davon weg Montireren. Auch das abschirmen der Motoren durch Mu-Metall soll helfen. Ich werde mir dann wohl einen 3D Kompass zulegen da mein RP6 zum Teil auch in Schräglage o.a. fährt bzw. sich befindet.
Wie Steuert man dann so einen Kompass genau an?
Also ich habe einen Beispielcode gefunden.
mal angenommen ich würde den LSM303DLH nehmen, bräuchte ich doch einen I²O port richtig?
Die M32 Erweiterungsplatine, die ich bei mir als Master verwende, hat aber keinen freien I²O Port frei. Müsste ich das Modul dann an die Base anschließen oder könnte ich noch einen anderen Port dafür verwenden (z.B. ADC o.ä.)?
Die RP6 Base hat eine I2C Anschluss (ist in die Stecker nach den M32, I2C bus), so in Prinzip kansst du diesen Sensor mit die Base verbinden. I2C benotigt SDA, SCL und GND. Moglich muss du auch noch 2 pull-up Wiederstande nach die 5V anschliessen (nicht notig wen M32 gebraucht wird).
Ich glaube das in die Lib von M32 schon I2C Functionen forgesehen sein, wodas der Base dan Master ist.
Wen die M32 genutzt werd, ist diese der Master, und die Base der Slave. Der LM303DLH ist eine 3 V Sensor, aber die Levelshifter sind auf die Platine forgesehen.
Also heißt das ich könnte ohne Probleme den sensor an den I²O port der Base anschließen? ^^
Der I2C Bus signalen sind auf verschiedene Pos. auf die Base platine forhanden : XBUS1, pin 10=SCL, pin 12=SDA, XBUS2,pin 10=SCL, pin 12=SDA,und auch an 2 Stellen (Lotpunkten) mit die name YSCL1, YSDA1 und YSCL2, YSDA2. Die pull-up Wierderstande sind schon forgesehen auf die Base (4.7 k). M32 und andere I2C Sensoren konnen gleichzeitig auf die Bus angeschlosschen werden. Al das konnen sie auch finden auf die Schaltplane von Base und M32.
M32 soll dan master sein. I2C Beispielen sind schon in die "Examples" anzusehen.
Also muss ich:
Kompass XBUS2
VIN | YVDD1
GND | YGND1
SCL | SCL
SDA | SDA
INT1 | INT1
INT2 | INT2
anschließen? Die pull-up Wierderstande bruach ich ja wiegesagt nicht da sie schon vorhanden sind.
Lesezeichen