2739-POLOLU AltIMU-10 v5 Gyro, Accéléromètre, boussole et altimètre (LSM6DS33, LIS3MDL, et LPS25H Porteur)
Le Pololu AltIMU-10 v5 est une unité de mesure inertielle (IMU) et un altimètre qui comporte le même gyro LSM6DS33 et accéléromètre et magnétomètre LIS3MDL comme MINIMU-9 v5, et ajoute un baromètre numérique LPS25H. Une interface I²C accède à dix pression indépendante, la rotation, l'accélération et des mesures magnétiques qui peuvent être utilisées pour calculer l'altitude du capteur et de l'orientation absolue. Le conseil fonctionne de 2,5 à 5,5 V et a un espacement de 0,1 "broches.
Le Pololu AltIMU-10 v5 est un compact (1,0 "x 0,5") carte qui combine LSM6DS33 3 axes gyroscope ST et accéléromètre 3 axes, LIS3MDL 3 axes magnétomètre et LPS25H baromètre numérique pour former une unité de mesure inertielle (IMU) et un altimètre; nous recommandons la lecture attentive de la LSM6DS33 fiche technique (1MB pdf), LIS3MDL fiche technique (2MB pdf), et LPS25H fiche technique (1MB pdf) avant d'utiliser ce produit. Ces capteurs sont de grands circuits, mais leurs petits paquets rendent difficile pour l'étudiant typique ou amateur à utiliser. Ils fonctionnent également à des tensions inférieures à 3,6 V, ce qui peut rendre l'interface difficile pour les microcontrôleurs fonctionnant à 5 V. Le AltIMU-10 v5 aborde ces questions en incorporant l'électronique supplémentaires, y compris un régulateur de tension et un circuit de décalage de niveau, tout en gardant la taille globale aussi compact que possible. La carte est livrée entièrement peuplé avec ses composants SMD, y compris le LSM6DS33, LIS3MDL et LPS25H, comme le montre l'image du produit.
Par rapport à la précédente AltIMU-10 v4, la version v5 utilise les nouveaux capteurs MEMS qui offrent une certaine augmentation de la précision (réduction du bruit et des décalages à taux zéro). Le AltIMU-10 v5 est compatible broche à broche avec le AltIMU-10 v4, mais parce qu'il utilise des puces de capteurs, des logiciels écrits pour les anciennes versions IMU devra être modifié pour travailler avec le v5.
Le AltIMU-10 v5 est également compatible broche avec la MINIMU-9 v5 et offre la même fonctionnalité augmentée par un baromètre numérique qui peut être utilisé pour obtenir des mesures de pression et d'altitude. Il comporte un deuxième trou de montage et est seulement 0,2 "plus longue que la MINIMU-9 v5. Tout code écrit pour le minimu-9 v5 devrait également travailler avec le AltIMU-10 v5.
Le LSM6DS33, LIS3MDL et LPS25H ont beaucoup d'options configurables, y compris les sensibilités dynamiquement sélectionnables pour le gyroscope, accéléromètre et magnétomètre et sélectionnables résolutions pour le baromètre. Chaque capteur comporte également un choix de débits de données de sortie. Les trois circuits sont accessibles via une interface I²C / TWI partagée, permettant aux capteurs d'être adressés individuellement via une ligne d'horloge et une ligne de données unique. En outre, une adresse broche de configuration de l'esclave permet aux utilisateurs de modifier les adresses I²C des capteurs et ont deux Altimus connectés sur le même bus I²C. (Pour plus d'informations, consultez la section I²C Communication ci-dessous.)
Les neuf rotation, l'accélération, et des lectures magnétiques indépendants fournissent toutes les données nécessaires pour faire un système de référence attitude et la position (AHRS), et les lectures du capteur de pression absolue peuvent être facilement converties en altitudes, vous donnant un total de dix mesures indépendantes ( parfois appelée 10DOF). Avec un algorithme approprié, un microcontrôleur ou un ordinateur peuvent utiliser les données pour calculer l'orientation et la hauteur de la planche AltIMU. Le gyroscope peut être utilisé pour suivre de façon très précise la rotation sur une courte échelle de temps, tandis que l'accéléromètre et la boussole peuvent aider à compenser la dérive gyroscopique au fil du temps en fournissant un cadre de référence absolu. Les axes respectifs des deux puces sont alignées sur la carte pour faciliter ces calculs de fusion de capteurs.
La plaque de support comprend un régulateur de tension linéaire à faible chute qui fournit le 3,3 V requis par le LSM6DS33, LIS3MDL et LPS25H, permettant au module d'être alimenté à partir d'une seule alimentation de 2,5 V à 5,5 V. La sortie du régulateur est disponible sur la broche VDD et peut fournir près de 150 mA à des appareils externes. Le conseil d'évasion comprend également un circuit qui déplace les lignes horloge et de données I²C au même niveau de tension logique que le NIV fourni, ce qui rend simple à interfacer la carte avec 5 V systèmes. 0,1 du conseil d'administration "l'espacement des broches, il est facile à utiliser avec cartes sans soudure standard et 0,1" perfboard.
Caractéristiques
Dimensions: 1,0 "x 0,5" x 0,1 "(25 mm x 13 mm x 3 mm)
Poids sans tête broches: 0,8 g (0,03 oz)
Tension de fonctionnement: 2,5 V à 5,5 V
Courant d'alimentation: 5 mA
Format de sortie (I²C):
Gyro: une lecture de 16 bits par axe
Accéléromètre: une lecture de 16 bits par axe
Magnétomètre: une lecture de 16 bits par axe
pression 24-bit de lecture (4096 LSB / mbar): Baromètre
Plage de sensibilité:
Gyro: ± 125, ± 245, ± 500, ± 1000, ou ± 2000 ° / s
Accéléromètre: ± 2, ± 4, ± 8, ou ± 16 g
Magnétomètre: ± 4, ± 8, ± 12 ou ± 16 gauss
Pression: 260 mbar à 1 260 mbar (26 kPa à 126 kPa)
Composants inclus
A 1 × 6 bande de 0,1 "broches d'en-tête et une bande de 1 × 5 de 0,1" en-tête broches-angle droit sont inclus, comme le montre l'image ci-dessous. Vous pouvez souder la bande d'en-tête de votre choix à la carte pour une utilisation avec des câbles orsolderless breadboards personnalisés ou des fils à souder directement sur la carte elle-même pour des installations plus compactes. Le conseil d'administration dispose de deux trous de montage qui travaillent avec # 2 ou vis M2 (non inclus).
En utilisant la AltIMU-10 v5
Les liaisons
Un minimum de quatre connexions est nécessaire d'utiliser le AltIMU-10 v5: VIN, GND, SCL et SDA. VIN doit être raccordé à une source de 2,5 à 5,5 V, la masse à 0 volt, et SCL et SDA doit être connecté à un bus I²C fonctionnant au même niveau logique que VIN. (Sinon, si vous utilisez la carte avec un système 3.3 V, vous pouvez laisser NIV déconnecté et contourner le régulateur intégré en connectant 3,3 V directement à VDD.)
Brochage
PIN | Description |
---|---|
SCL | Level-shifted I²C clock line: HIGH is VIN, LOW is 0 V |
SDA | Level-shifted I²C data line: HIGH is VIN, LOW is 0 V |
GND | The ground (0 V) connection for your power supply. Your I²C control source must also share a common ground with this board. |
VIN | This is the main 2.5 V to 5.5 V power supply connection. The SCL and SDA level shifters pull the I²C bus high bits up to this level. |
VDD | 3.3 V regulator output or low-voltage logic power supply, depending on VIN. When VIN is supplied and greater than 3.3 V, VDD is a regulated 3.3 V output that can supply up to approximately 150 mA to external components. Alternatively, when interfacing with a 2.5 V to 3.3 V system, VIN can be left disconnected and power can be supplied directly to VDD. Never supply voltage to VDD when VIN is connected, and never supply more than 3.6 V to VDD. |
SA0 | 3.3V-logic-level input to determine I²C slave addresses of the three ICs (see below). It is pulled high by default through 10 kΩ resistor. This pin is not level-shifted and is not 5V-tolerant. |
Le CS, les données prêtes, et l'interruption des broches du LSM6DS33, LIS3MDL et LPS25H ne sont pas accessibles sur le AltIMU-10 v5. En particulier, l'absence de la broche CS signifie que l'interface SPI facultative de ces circuits intégrés ne sont pas disponibles. Si vous voulez que ces fonctionnalités, pensez à utiliser notre support LSM6DS33, support LIS3MDL et cartes porteuses de LPS25H.
Diagramme schématique
Le schéma ci-dessus montre les composants supplémentaires du conseil de support incorpore pour rendre le LSM6DS33, LIS3MDL et LPS25H plus facile à utiliser, y compris le régulateur de tension qui permet au conseil d'être alimenté à partir d'une seule 2,5 V à 5,5 V alimentation et le circuit de décalage de niveau qui permet une communication I²C au même niveau de tension logique comme VIN. Ce schéma est également disponible en format pdf téléchargeable: AltIMU-10 v5 schématique (113k pdf).
Communication I²C
Le gyroscope et l'accéléromètre de l'LSM6DS33, le magnétomètre du LIS3MDL et baromètre du LPS25H peuvent être interrogés et configurés par le bus I²C. Chacun des quatre capteurs agit comme un dispositif esclave sur le même bus I²C (à savoir leur horloge et de données sont liées entre elles pour faciliter la communication). En outre, de décalage de niveau sur l'horloge I²C (SCL) et des lignes de données (SDA) permettent la communication I²C avec des microcontrôleurs fonctionnant à la même tension que VIN (2,5 V à 5,5 V). Une explication détaillée des protocoles utilisés par chaque dispositif peut être trouvé dans la fiche LSM6DS33 (1MB pdf), la fiche LIS3MDL (2MB pdf), et la fiche LPS25H (1MB pdf). Des informations plus détaillées sur I²C en général peut être trouvée dans la spécification I²C-bus de NXP (371k pdf).
Le LSM6DS33, LIS3MDL et LPS25H ont chacun adresses esclaves séparés sur le bus I²C. Le conseil d'administration se connecte l'adresse esclave broches de sélection (de sa0 ou SA1) des trois circuits intégrés ensemble et tous tire à VDD par une résistance de 10 kQ. Vous pouvez conduire la broche SA0 marqué bas pour changer l'adresse de l'esclave. Cela vous permet d'avoir deux Altimus (ou un v5 AltIMU et v5 MINIMU) connectés sur le même bus I²C. Le tableau suivant indique les adresses esclaves des capteurs:
Sensor | Slave Address (default) | Slave Address (SA0 driven low) |
---|---|---|
LSM6DS33 (gyro and accelerometer) | 1101011b | 1101010b |
LIS3MDL (magnetometer) | 0011110b | 0011100b |
LPS25H (barometer) | 1011101b | 1011100b |
Les trois puces sur le AltIMU-10 v5 sont compatibles avec le mode rapide (400 kHz) normes I²C ainsi qu'avec le mode normal.
Exemple de code
Nous avons écrit une bibliothèque de base LSM6DS33 Arduino, LIS3MDL bibliothèque Arduino, et la bibliothèque LPS25H Arduino qui le rendent facile à l'interface du AltIMU-10 v5 avec un Arduino ou Arduino-compatible carte comme un A-Star. Ils permettent aussi simple à configurer les capteurs et lire les données brutes gyro, accéléromètre, magnétomètre, et de pression.
Conseils de protocole
Les fiches techniques fournissent toutes les informations dont vous avez besoin d'utiliser les capteurs sur le AltIMU-10 v5, mais choisissant les détails importants peuvent prendre un certain temps. Voici quelques conseils pour communiquer avec et la configuration du LSM6DS33, LIS3MDL et LPS25H que nous espérons vous lever et courir un peu plus vite:
Le gyroscope, accéléromètre, magnétomètre, et le capteur de pression sont tous en mode de mise hors tension par défaut. Vous devez les activer en définissant les registres de configuration appropriés.
Vous pouvez lire ou écrire plusieurs registres dans le LIS3MDL ou LPS25H avec une commande I²C unique en affirmant le bit le plus significatif de l'adresse de registre pour permettre l'adresse incrémentation automatique.
L'adresse de registre dans le LSM6DS33 incrémente automatiquement lors d'un accès d'octets multiples, vous permettant de lire ou d'écrire des registres multiples dans une commande I²C unique. Contrairement à la façon dont certains autres capteurs ST fonctionnent, l'incrémentation automatique est activé par défaut; vous pouvez le désactiver avec le champ IF_INC dans le registre CTRL3_C.
En plus des fiches techniques, ST fournit des notes d'application pour la LSM6DS33 (1MB pdf) et LIS3MDL (598K pdf) contenant des informations et des conseils sur leur utilisation supplémentaire.