Gyro Modul

JM3-CG32 ASURO Compass / Gyro Modul ASURO Compass / Gyro Modul ©2014 AREXX Engineering and JM3 Engineering www.arexx.com Neueste Updates sind auf ww...
Author: Sigrid Althaus
2 downloads 2 Views 920KB Size
JM3-CG32

ASURO Compass / Gyro Modul

ASURO Compass / Gyro Modul ©2014 AREXX Engineering and JM3 Engineering www.arexx.com Neueste Updates sind auf www.jm3-engineering.com!

AREXX Engineering & JM3 Engineering Version: 1.02

9. Nov. 2014

Seite: 1

Impressum ©2012-14 AREXX Engineering Nervistraat 16 8013 RS Zwolle The Netherlands Tel.: +31 (0) 38 454 2028 Fax.: +31 (0) 38 452 4482

"RP6" sind eingetragenes Warenzeichen von AREXX Engineering. Alle anderen Warenzeichen stehen im Besitz ihrer jeweiligen Eigentümer.

Diese Bedienungsanleitung ist urheberrechtlich geschützt. Der Inhalt darf ohne vorherige schriftliche Zustimmung des Herausgebers auch nicht teilweise kopiert oder übernommen werden! Änderungen an Produktspezifikationen und Lieferumfang vorbehalten. Der Inhalt dieser Bedienungsanleitung kann jederzeit ohne vorherige Ankündigung geändert werden. Neue Versionen dieser Anleitung erhalten Sie kostenlos auf

http://www.arexx.com/

Wir sind nicht verantwortlich für den Inhalt von externen Webseiten, auf die in dieser Anleitung verlinkt wird!

Hinweise zur beschränkten Garantie und Haftung Die Gewährleistung von AREXX Engineering beschränkt sich auf Austausch oder Reparatur des Roboters und seines Zubehörs innerhalb der gesetzlichen Gewährleistungsfrist bei nachweislichen Produktionsfehlern, wie mechanischer Beschädigung und fehlender oder falscher Bestückung elektronischer Bauteile, ausgenommen aller über Steckverbinder/Sockel angeschlossenen Komponenten. Es besteht keine Haftbarkeit für Schäden, die unmittelbar durch, oder in Folge der Anwendung des Roboters entstehen. Unberührt davon bleiben Ansprüche, die auf unabdingbaren gesetzlichen Vorschriften zur Produkthaftung beruhen. Sobald Sie irreversible Veränderungen (z.B. Anlöten von weiteren Bauteilen, Bohren von Löchern etc.) am Roboter oder seinem Zubehör vornehmen oder der Roboter Schaden infolge von Nichtbeachtung dieser Anleitung nimmt, erlischt jeglicher Garantieanspruch! Es kann nicht garantiert werden, dass die mitgelieferte Software individuellen Ansprüchen genügt oder komplett unterbrechungs und fehlerfrei arbeiten kann. Weiterhin ist die Software beliebig veränderbar und wird vom Anwender in das Gerät geladen. Daher trägt der Anwender das gesamte Risiko bezüglich der Qualität und der Leistungsfähigkeit des Gerätes inklusive aller Software. Bitte beachten Sie auch die entsprechenden Lizenzvereinbarungen auf der CD-ROM! WICHTIG Vor dem ersten Gebrauch dieses Robot Arms lesen Sie bitte zuerst die Gebrauchsanleitung aufmerksam durch! Sie erklärt die richtige Handhabung und informiert Sie über mögliche Gefahren. Zudem enthält sie wichtige Informationen, die nicht allen Benutzern bekannt sein dürften

Symbole Im Handbuch werden folgende Symbole verwendet: Das “Achtung!” Symbol weist auf besonders wichtige Abschnitte hin, die sorgfältig beachtet werden müssen. Wenn Sie hier Fehler machen, könnte dies ggf. zur Zerstörung des Roboters oder seines Zubehörs führen und sogar Ihre eigene oder die Gesundheit anderer gefährden!

Das “Information” Symbol weist auf Abschnitte hin, die nützliche Tipps und Tricks oder Hintergrundinformationen enthalten. Hier ist es nicht immer essentiell alles zu verstehen, aber meist sehr nützlich.

AREXX Engineering & JM3 Engineering Version: 1.02

9. Nov. 2014

Seite: 2

Sicherheitshinweise - Prüfen Sie die Polung von der Spannung. - Halten Sie die Elektronik stets trocken. Wenn das Gerät einmal nass geworden ist, entfernen Sie sofort die Batterien oder die Stromversorgung - Bei längerem Nichtgebrauch die Batterien entfernen bzw. die Stromversorgung trennen. - Bevor Sie das Modul in Betrieb nehmen, prüfen Sie stets seinen Zustand sowie auch den der Kabel. - Wenn Sie meinen, dass das Gerät nicht länger sicher betrieben werden kann, trennen Sie es sofort von der Stromversorgung und stellen Sie sicher, dass es nicht unabsichtlich benutzt werden kann. - Befragen Sie einen Fachmann, wenn sie sich der Bedienung, Sicherheit oder Anschluss des Moduls nicht sicher sind. - Niemals das Modul in Räumlichkeiten oder unter ungünstigen Bedingungen betreiben. - Das Modul besitzt hochempfindliche Bauteile. Elektronische Bauteile sind sehr gegen statische Elektrizität empfindlich. Fassen Sie das Modul nur an den Rändern an und vermeiden Sie direkten Kontakt mit den Bauteilen auf der Platine.

Normaler Gebrauch Dieses Produkt wurde als Experimentierplattform für alle an Robotik interessierten Personen entwickelt. Das Hauptziel besteht darin zu lernen, wie man das Gerät in C-Sprache programmieren kann. Das Gerät ist kein Spielzeug! Es eignet sich nicht für Kinder unter 14 Jahren. Das Gerät ist nur für Innengebrauch bestimmt. Es darf weder feucht noch nass werden. Bitte achten Sie auch auf Kondenswasser, das sich bei einem Wechsel von einem kalten in einen warmen Raum entwickeln kann. Warten Sie eine Weile, bis sich das Gerät an die neuen Umgebungsbedingungen angepasst hat, bevor Sie es in Betrieb nehmen. Jede andere Einsatzart als oben beschrieben kann zu Schäden und Risiken wie Kurzschluss, Brand, Stromschlag usw. führen Eine Verwendung des gesamten Produkts ist nur in geschlossenen, trockenen Innenräumen erlaubt. Das Produkt darf nicht feucht oder nass werden. Eine andere Verwendung als zuvor beschrieben führt zu Beschädigungen dieses Produkts, außerdem ist dies mit Gefahren wie z.B. Kurzschluss, Brand, elektrischer Schlag etc. verbunden.

Inhaltsverzeichnis 1. 2. 3. 4. 5.

Impressum ................................................................................... 2 Sicherheitshinweise ....................................................................... 3 Einleitung ...................................................................................... 5 Anleitung ........................................................................................ 6 Schaltplan / Platinen-Layout ........................................................... 11

AREXX Engineering & JM3 Engineering Version: 1.02

9. Nov. 2014

Seite: 3

ASURO Roboter

Asuro xTend mit Kompass- / Gyro-Modul & Display

AREXX Engineering & JM3 Engineering Version: 1.02

9. Nov. 2014

Seite: 4

Einleitung

Das Sensor Modul ist ein 3D Beschleunigungsmesser, Magnetometer und Drehratengeber für allgemeine und Roboteranwendungen. Es kann direkt in das Asuro xTend Board gesteckt werden. Der Sensor verwendet das LSM9DS0 MEMS IC von STM und stellte eine System in Package Lösung für einen digitalen 3D digitalen Beschleunigungsmesser, einen digitalen 3D DrehRatenmesser und einen digitalen 3D Magnetometer dar. Das IC kann konfiguriert werden um bei bestimmten Ereignissen Interrupts auszulösen die an speziellen Pins ausgegeben werden. Schwellwerte und Timing des Interrupt-Generators sind per Software einstellbar. Magnetometer-, Accelerometer- und Gyro-Scope-Messungen können ein- oder ausgeschaltet werden. Die Unterschiede zwischen einen Gyro- und einem Beschleunigungsmesser sind oftmals nicht ganz klar – hier zur Erinnerung: Ein Gyroscope oder auch Drehratengeber misst die Winkelgeschwindigkeit pro Zeiteinheit. Es kann keinen absoluten Winkel messen! Ein 3D Accelerometer oder auch Beschleunigungsmesser kann die absoluten Winkel im Raum messen. Daraus kann ein Winkelmesser, ein Bewegungsmelder oder ähnlichen programmiert werden. Zusätzlich kann man bei einer Kollision den Vektor ermitteln aus der Stoß kam. Mit dieser Information können Ausweiswege berechnet werden. Der Magnetometer detektiert das magnetische Kraftfeld der Erde. Damit kann man einen Kompass bauen da man mit den Information die Richtung zum mag. Nordpol berechnen kann.

AREXX Engineering & JM3 Engineering Version: 1.02

9. Nov. 2014

Seite: 5

Anleitung 1.

Anschluss an das ASURO xTend Board

Das Modul kann direkt in den entsprechenden Stecker auf dem ASURO xTend Board (K3) eingesteckt werden. Das Modul verfügt über keinen eigenen Spannungsregler. Vorsicht: Eine falsche Spannung kann das Modul beschädigen bzw. zerstören! 1.1. PIN OUT Compass / Gyro Module PIN 1 PIN 2 PIN 3 PIN 4 PIN 5

= = = = =

VDD_3.3 DENG INTG INT2 INT1

PIN 6 PIN 7 PIN 8 PIN 9 PIN 10

PIN1

2.

= = = = =

n/c SCA SCL DRDY GND

Pin10

Software

Der Datenaustausch und die Initialisierung erfolgen über den I2C Bus (Eine detaillierte Beschreibung ist im Datenblatt des LSM09D0). Die Asuro Demo Software des Asuro xTend Boards zeigt auf den Display die Drehrate (Raw-Wert), Roll und Pitch Winkel und den Kompass (Heading)an. Im Makefile muss dazu im Bereich Global Defines die Funktion eingeschaltet werden. # Global Defines # # Enable demo program for connected sensor module. DEFINES = IOEXT_NAV

2.1. Schreiben von Daten auf dem I2C Bus Prinzip des Lesens von Daten in die Register des ICs. /**********************************************************************\ * write data to the sensor (generalized description) \**********************************************************************/ master.TransmitBytes(I2C Addr, Register | AUTO_INC, Data Byte1, Data Byte2);

AREXX Engineering & JM3 Engineering Version: 1.02

9. Nov. 2014

Seite: 6

2.2. Lesen der Daten vom I2C Bus Prinzip des Lesens von Daten aus den Registern. /**********************************************************************\ * read data from sensor (generalized description) \**********************************************************************/ master.ReadRegisters(I2C Addr, Register | AUTO_INC, mBuffer, 6);

2.3. Initializierung des Sensors inline void Initialize() { /******************************************************************\ * initialize gyro (generalized description) * CTRL_REG1_G: 0011 1100b: Normal mode, Z-axis, DataRate = 95 Hz, Cut-Off 25 * CTRL_REG2_G: 0010 0000b: Normal mode, HP cout-off 7.2 Hz * CTRL_REG3_G: 0000 0000b: default * CTRL_REG4_G: 0000 0000b: continuous mode, little endian, 245 dps * CTRL_REG5_G: 0000 0000b: default, no FIFO & INT \*****************************************************************/ master.TransmitBytes(DGYRO, CTRL_REG1_G | AUTO_INC, 0x3C, 0x22); master.TransmitBytes(DGYRO, CTRL_REG4_G, 0x00); /******************************************************************\ * initialize magnetometer and accelerometer * reg address MSB is auto-increment * power up sensor,enable x, y, z axis * +/-2 gauss, update rate 3,125 Hz; +/- 2g, update rate 50 Hz * all filter bypassed, Hpc = 512 Hz * CTRL_REG0_XM: 0000 0000b: default * CTRL_REG1_XM: 0111 0111b: accelerometer: continuous mode, no Blockupdate, * update 200 Hz, enable x, y, z axis * CTRL_REG2_XM: 1100 0000b: anit-alias 50Hz, +/- 2g, no self-test * CTRL_REG3_XM: 0000 0000b: default * CTRL_REG4_XM: 0000 0000b: default * CTRL_REG5_XM: 1110 1000b: enable Temp, high Res, update 50 Hz, noLatch * CTRL_REG6_XM: 0000 0000b: +/- 2 gauss * CTRL_REG7_XM: 1000 0000b: normal mode, continuous conversion \******************************************************************/ master.TransmitBytes(MAGACC, CTRL_REG0_XM | AUTO_INC, 0x00, 0x77, 0xC0); // Reg0, 1, 2 master.TransmitBytes(MAGACC, CTRL_REG5_XM | AUTO_INC, 0xE8, 0x00, 0x80); // Reg5, 6, 7 }

2.4. Slave Adressen MAGACC DGYRO

= =

0x3A, 0xD6

AREXX Engineering & JM3 Engineering Version: 1.02

// LSM9DS0 Magnetometer und Acceleration // LSM9DS0 Gyro

9. Nov. 2014

Seite: 7

3.5.

Register Name

Slave Address

Reserved WHO_AM_I_G Reserved CTRL_REG1_G CTRL_REG2_G CTRL_REG3_G CTRL_REG4_G CTRL_REG5_G REFERENCE_G Reserved STATUS_REG_G OUT_X_L_G OUT_X_H_G OUT_Y_L_G OUT_Y_H_G OUT_Z_L_G OUT_Z_H_G FIFO_CTRL_REG_G FIFO_SRC_REG_G INT1_CFG_G INT1_SRC_G INT1_TSH_XH_G INT1_TSH_XL_G INT1_TSH_YH_G INT1_TSH_YL_G INT1_TSH_ZH_G INT1_TSH_ZL_G INT1_DURATION_G Reserved OUT_TEMP_L_XM OUT_TEMP_H_XM STATUS_REG_M OUT_X_L_M OUT_X_H_M OUT_Y_L_M OUT_Y_H_M OUT_Z_L_M OUT_Z_H_M Reserved WHO_AM_I_XM Reserved INT_CTRL_REG_M INT_SRC_REG_M INT_THS_L_M INT_THS_H_M OFFSET_X_L_M OFFSET_X_H_M OFFSET_Y_L_M OFFSET_Y_H_M OFFSET_Z_L_M OFFSET_Z_H_M REFERENCE_X

AREXX Engineering & JM3 Engineering Version: 1.02

DGYRO DGYRO DGYRO DGYRO DGYRO DGYRO DGYRO DGYRO DGYRO DGYRO DGYRO DGYRO DGYRO DGYRO DGYRO DGYRO DGYRO DGYRO DGYRO DGYRO DGYRO DGYRO DGYRO DGYRO DGYRO DGYRO DGYRO DGYRO MAGACC MAGACC MAGACC MAGACC MAGACC MAGACC MAGACC MAGACC MAGACC MAGACC MAGACC MAGACC MAGACC MAGACC MAGACC MAGACC MAGACC MAGACC MAGACC MAGACC MAGACC MAGACC MAGACC MAGACC

Type -r -rw rw rw rw rw rw -r r r r r r r rw r rw r rw rw rw rw rw rw rw -r r r r r r r r r -r -rw r rw rw rw rw rw rw rw rw rw

Register address Hex 00-0E 0F 10-1F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 00-04 5 6 7 8 9 0A 0B 0C 0D 0E 0F 10-11 12 13 14 15 16 17 18 19 1A 1B 1C

9. Nov. 2014

Default Binary -000 1111 -010 0000 010 0001 010 0010 010 0011 010 0100 010 0101 -010 0111 010 1000 010 1001 010 1010 010 1011 010 1100 010 1101 010 1110 010 1111 011 0000 011 0001 011 0010 011 0011 011 0100 011 0101 011 0110 011 0111 011 1000 -000 0101 000 0110 000 0111 000 1000 000 1001 000 1010 000 1011 000 1100 000 1101 000 1110 000 1111 -001 0010 001 0011 001 0100 001 0101 001 0110 001 0111 001 01000 001 01001 001 01010 001 01011 001 01100

-11010100 -00000111 00000000 00000000 00000000 00000000 00000000 -output output output output output output output 00000000 output 00000000 output 00000000 00000000 00000000 00000000 00000000 00000000 00000000 -output output output output output output output output output -01001001 -11101000 output 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

Seite: 8

REFERENCE_Y REFERENCE_Z CTRL_REG0_XM CTRL_REG1_XM CTRL_REG2_XM CTRL_REG3_XM CTRL_REG4_XM CTRL_REG5_XM CTRL_REG6_XM CTRL_REG7_XM STATUS_REG_A OUT_X_L_A OUT_X_H_A OUT_Y_L_A OUT_Y_H_A OUT_Z_L_A OUT_Z_H_A FIFO_CTRL_REG FIFO_SRC_REG INT_GEN_1_REG INT_GEN_1_SRC INT_GEN_1_THS INT_GEN_1_DURATION INT_GEN_2_REG INT_GEN_2_SRC INT_GEN_2_THS INT_GEN_2_DURATION CLICK_CFG CLICK_SRC CLICK_THS TIME_LIMIT TIME _LATENCY TIME_WINDOW Act_THS Act_DUR

AREXX Engineering & JM3 Engineering Version: 1.02

MAGACC MAGACC MAGACC MAGACC MAGACC MAGACC MAGACC MAGACC MAGACC MAGACC MAGACC MAGACC MAGACC MAGACC MAGACC MAGACC MAGACC MAGACC MAGACC MAGACC MAGACC MAGACC MAGACC MAGACC MAGACC MAGACC MAGACC MAGACC MAGACC MAGACC MAGACC MAGACC MAGACC MAGACC MAGACC

rw rw rw rw rw rw rw rw rw rw r r r r r r r rw r rw r rw rw rw r rw rw rw r rw rw rw rw rw rw

9. Nov. 2014

1D 1E 1F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F

001 01101 001 01110 001 1111 010 0000 010 0001 010 0010 010 0011 010 0100 010 0101 010 0110 010 0111 010 1000 010 1001 010 1010 010 1011 010 1100 010 1101 010 1110 010 1111 011 0000 011 0001 011 0010 011 0011 011 0100 011 0101 011 0110 011 0111 011 1000 011 1001 011 1010 011 1011 011 1100 011 1101 011 1110 011 1111

00000000 00000000 00000000 00000111 00000000 00000000 00000000 00011000 00100000 00000001 output output output output output output output 00000000 output 00000000 output 00000000 00000000 00000000 output 00000000 00000000 00000000 output 00000000 00000000 00000000 00000000 00000000 00000000

Seite: 9

3. Technische Daten VDD

=

3.3 V +/- 5%

IDD



6.5 mA (typ.)

Temperaturbereich:

-10 to 65 °C

Besondere Merkmale des LSM09D0:  3D- Beschleunigungmesser, Magnetometer und Gyro  ±2/±4/±6/±8/±16 g lineare Beschleunigung (Gesamtbereich)  ±2/±4/±8/±12 gauss Gesamtbereich  ±245/±500/±2000 dps der Drehrate Gesamtbereich  16-bit Daten  I2C serielles Interface