Arexx JM3-CG32 User guide [de]

JM3-CG32
ASURO Compass / Gyro Modul
ASURO Compass / Gyro Modul
©2014 AREXX Engineering and JM3 Engineering
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
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.
Symbole
Im Handbuch werden folgende Symbole verwendet:
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. Impressum ................................................................................... 2
2. Sicherheitshinweise ....................................................................... 3
3. Einleitung ...................................................................................... 5
4. Anleitung ........................................................................................ 6
5. 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 Dreh­Ratenmesser 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 = VDD_3.3 PIN 2 = DENG PIN 3 = INTG PIN 4 = INT2 PIN 5 = INT1
PIN 6 = n/c PIN 7 = SCA PIN 8 = SCL PIN 9 = DRDY PIN 10 = GND
PIN1 Pin10
2. 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_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
}
/******************************************************************\
* CTRL_REG3_XM: 0000 0000b: default
2.4. Slave Adressen
MAGACC = 0x3A, // LSM9DS0 Magnetometer und Acceleration DGYRO = 0xD6 // LSM9DS0 Gyro
AREXX Engineering & JM3 Engineering Version: 1.02 9. Nov. 2014 Seite: 7
3.5. Register
Name
Slave Address
Type
Register address
Default
Hex
Binary
Reserved
DGYRO
--
00-0E
--
--
WHO_AM_I_G
DGYRO
r
0F
000 1111
11010100
Reserved
DGYRO
--
10-1F
--
--
CTRL_REG1_G
DGYRO
rw
20
010 0000
00000111
CTRL_REG2_G
DGYRO
rw
21
010 0001
00000000
CTRL_REG3_G
DGYRO
rw
22
010 0010
00000000
CTRL_REG4_G
DGYRO
rw
23
010 0011
00000000
CTRL_REG5_G
DGYRO
rw
24
010 0100
00000000
REFERENCE_G
DGYRO
rw
25
010 0101
00000000
Reserved
DGYRO
--
26
--
--
STATUS_REG_G
DGYRO
r
27
010 0111
output
OUT_X_L_G
DGYRO
r
28
010 1000
output
OUT_X_H_G
DGYRO
r
29
010 1001
output
OUT_Y_L_G
DGYRO
r
2A
010 1010
output
OUT_Y_H_G
DGYRO
r
2B
010 1011
output
OUT_Z_L_G
DGYRO
r
2C
010 1100
output
OUT_Z_H_G
DGYRO
r
2D
010 1101
output
FIFO_CTRL_REG_G
DGYRO
rw
2E
010 1110
00000000
FIFO_SRC_REG_G
DGYRO
r
2F
010 1111
output
INT1_CFG_G
DGYRO
rw
30
011 0000
00000000
INT1_SRC_G
DGYRO
r
31
011 0001
output
INT1_TSH_XH_G
DGYRO
rw
32
011 0010
00000000
INT1_TSH_XL_G
DGYRO
rw
33
011 0011
00000000
INT1_TSH_YH_G
DGYRO
rw
34
011 0100
00000000
INT1_TSH_YL_G
DGYRO
rw
35
011 0101
00000000
INT1_TSH_ZH_G
DGYRO
rw
36
011 0110
00000000
INT1_TSH_ZL_G
DGYRO
rw
37
011 0111
00000000
INT1_DURATION_G
DGYRO
rw
38
011 1000
00000000
Reserved
MAGACC
--
00-04
--
--
OUT_TEMP_L_XM
MAGACC
r
5
000 0101
output
OUT_TEMP_H_XM
MAGACC
r
6
000 0110
output
STATUS_REG_M
MAGACC
r
7
000 0111
output
OUT_X_L_M
MAGACC
r
8
000 1000
output
OUT_X_H_M
MAGACC
r
9
000 1001
output
OUT_Y_L_M
MAGACC
r
0A
000 1010
output
OUT_Y_H_M
MAGACC
r
0B
000 1011
output
OUT_Z_L_M
MAGACC
r
0C
000 1100
output
OUT_Z_H_M
MAGACC
r
0D
000 1101
output
Reserved
MAGACC
--
0E
000 1110
--
WHO_AM_I_XM
MAGACC
r
0F
000 1111
01001001
Reserved
MAGACC
--
10-11
--
--
INT_CTRL_REG_M
MAGACC
rw
12
001 0010
11101000
INT_SRC_REG_M
MAGACC
r
13
001 0011
output
INT_THS_L_M
MAGACC
rw
14
001 0100
00000000
INT_THS_H_M
MAGACC
rw
15
001 0101
00000000
OFFSET_X_L_M
MAGACC
rw
16
001 0110
00000000
OFFSET_X_H_M
MAGACC
rw
17
001 0111
00000000
OFFSET_Y_L_M
MAGACC
rw
18
001 01000
00000000
OFFSET_Y_H_M
MAGACC
rw
19
001 01001
00000000
OFFSET_Z_L_M
MAGACC
rw
1A
001 01010
00000000
OFFSET_Z_H_M
MAGACC
rw
1B
001 01011
00000000
REFERENCE_X
MAGACC
rw
1C
001 01100
00000000
AREXX Engineering & JM3 Engineering Version: 1.02 9. Nov. 2014 Seite: 8
REFERENCE_Y
MAGACC
rw
1D
001 01101
00000000
REFERENCE_Z
MAGACC
rw
1E
001 01110
00000000
CTRL_REG0_XM
MAGACC
rw
1F
001 1111
00000000
CTRL_REG1_XM
MAGACC
rw
20
010 0000
00000111
CTRL_REG2_XM
MAGACC
rw
21
010 0001
00000000
CTRL_REG3_XM
MAGACC
rw
22
010 0010
00000000
CTRL_REG4_XM
MAGACC
rw
23
010 0011
00000000
CTRL_REG5_XM
MAGACC
rw
24
010 0100
00011000
CTRL_REG6_XM
MAGACC
rw
25
010 0101
00100000
CTRL_REG7_XM
MAGACC
rw
26
010 0110
00000001
STATUS_REG_A
MAGACC
r
27
010 0111
output
OUT_X_L_A
MAGACC
r
28
010 1000
output
OUT_X_H_A
MAGACC
r
29
010 1001
output
OUT_Y_L_A
MAGACC
r
2A
010 1010
output
OUT_Y_H_A
MAGACC
r
2B
010 1011
output
OUT_Z_L_A
MAGACC
r
2C
010 1100
output
OUT_Z_H_A
MAGACC
r
2D
010 1101
output
FIFO_CTRL_REG
MAGACC
rw
2E
010 1110
00000000
FIFO_SRC_REG
MAGACC
r
2F
010 1111
output
INT_GEN_1_REG
MAGACC
rw
30
011 0000
00000000
INT_GEN_1_SRC
MAGACC
r
31
011 0001
output
INT_GEN_1_THS
MAGACC
rw
32
011 0010
00000000
INT_GEN_1_DURATION
MAGACC
rw
33
011 0011
00000000
INT_GEN_2_REG
MAGACC
rw
34
011 0100
00000000
INT_GEN_2_SRC
MAGACC
r
35
011 0101
output
INT_GEN_2_THS
MAGACC
rw
36
011 0110
00000000
INT_GEN_2_DURATION
MAGACC
rw
37
011 0111
00000000
CLICK_CFG
MAGACC
rw
38
011 1000
00000000
CLICK_SRC
MAGACC
r
39
011 1001
output
CLICK_THS
MAGACC
rw
3A
011 1010
00000000
TIME_LIMIT
MAGACC
rw
3B
011 1011
00000000
TIME _LATENCY
MAGACC
rw
3C
011 1100
00000000
TIME_WINDOW
MAGACC
rw
3D
011 1101
00000000
Act_THS
MAGACC
rw
3E
011 1110
00000000
Act_DUR
MAGACC
rw
3F
011 1111
00000000
AREXX Engineering & JM3 Engineering Version: 1.02 9. Nov. 2014 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 <= 400 kHz Power-Down Modus / low-power Modus Programmierbare Interrupts Embedded Selbsttest Embedded Temperatursensor Embedded FIFO Positions- und Bewegungserkennung Click/double-click Erkennung Intelligentes Powermanagement für batteriebetriebene Geräte
Weitere Details zur Funktionsweise des Kompass/Gyro-Chips finden sie im Datenblatt des LSM09D0.
AREXX Engineering & JM3 Engineering Version: 1.02 9. Nov. 2014 Seite: 10
4. Schaltplan
5. PCB
Top view:
AREXX Engineering & JM3 Engineering Version: 1.02 9. Nov. 2014 Seite: 11
Loading...