2738-POLOLU MinIMU-9 v5 Gyro, Accéléromètre et Compas (LSM6DS33 et LIS3MDL Porteur)
Le Pololu MINIMU-9 v5 est une unité de mesure inertielle (IMU) qui emballe un LSM6DS33 3 axes gyro et accéléromètre 3 axes et un LIS3MDL 3 axes magnétomètre sur un minuscule 0,8 "x 0,5" bord. Une interface I²C accède à neuf rotation indépendante, l'accélération et des mesures magnétiques qui peuvent être utilisées pour calculer l'orientation absolue du capteur. Le minimu-9 v5 pension comprend un régulateur de tension et un circuit de décalage de niveau qui permettent le fonctionnement de 2,5 à 5,5 V et 0,1 "l'espacement des broches, il est facile à utiliser avec cartes sans soudure standard et 0,1" perfboard.
Le Pololu MINIMU-9 v5 est un compact (0,8 "x 0,5") carte qui combine LSM6DS33 3 axes gyroscope 3 axes accéléromètre de ST et LIS3MDL 3 axes magnétomètre pour former une unité de mesure inertielle (IMU); nous recommandons une lecture attentive de la fiche LSM6DS33 (1MB pdf) et LIS3MDL fiche technique (2MB 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 minimu-9 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 et LIS3MDL, comme le montre l'image du produit.
Par rapport à la précédente MINIMU-9 v3, 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 minimu-9 v5 est compatible broche à broche avec le minimu-9 v3, 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 MINIMU-9 v5 est également compatible broche avec la AltIMU-10 v5, qui 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. Le AltIMU comprend un deuxième trou de montage et 0,2 "plus longue que la MINIMU. Tout code écrit pour le minimu-9 v5 devrait également travailler avec le AltIMU-10 v5.
Le LSM6DS33 et LIS3MDL ont beaucoup d'options configurables, y compris les sensibilités dynamiquement sélectionnables pour le gyroscope, accéléromètre et magnétomètre. Chaque capteur comporte également un choix de débits de données de sortie. Les deux 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 minimus connectés sur le même bus I²C. (Pour plus d'informations, consultez la section I²C Communication ci-dessous.)
Les neuf rotation indépendante, l'accélération, et des lectures magnétiques (parfois appelés 9DOF) fournissent toutes les données nécessaires pour faire un système de référence attitude et la position (AHRS). Avec un algorithme approprié, un microcontrôleur ou un ordinateur peuvent utiliser les données pour calculer l'orientation du conseil MINIMU. 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 la LSM6DS33 et LIS3MDL, 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: 0,8 "x 0,5" x 0,1 "(20 mm x 13 mm x 3 mm)
Poids sans tête broches: 0,7 g (0,02 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
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
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).
Utilisation du MINIMU-9 v5
Les liaisons
Un minimum de quatre connexions est nécessaire d'utiliser le minimu-9 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 | niveau décalé ligne d'horloge I²C: HIGH est VIN, LOW est 0 V |
SDA | niveau décalé ligne de données I²C: HIGH est VIN, LOW est 0 V |
GND | La masse (0 V) connexion pour votre alimentation. Votre source de commande I²C doit également partager un terrain d'entente avec ce conseil. |
VIN | Ceci est la connexion d'alimentation de 2,5 V à 5,5 V d'alimentation principale. Les décaleurs de niveau SCL et SDA tirent les bus I²C élevés de bits jusqu'à ce niveau. |
VDD | sortie 3,3 V du régulateur ou à faible tension d'alimentation logique, selon le VIN. Lorsque VIN est fourni et supérieur à 3,3 V, VDD est un régulée 3,3 V sortie qui peut fournir jusqu'à environ 150 mA à des composants externes. En variante, lorsque l'interface avec un système de 2,5 V à 3,3 V, VIN peut être laissée déconnectée et la puissance peut être fournie directement à VDD. Jamais la tension d'alimentation à VDD lorsque VIN est connecté, et ne jamais fournir plus de 3,6 V à VDD. |
SA0 | entrée de niveau 3.3V-logique pour déterminer les adresses des esclaves I²C des deux circuits (voir ci-dessous). Il est tiré de haut par défaut à 10 résistance kQ. Cette broche est pas de niveau décalé et ne 5V tolérant. |
Le CS, les données prêtes, et l'interruption des broches du LSM6DS33 et LIS3MDL ne sont pas accessibles sur le minimu-9 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 et LIS3MDL cartes porteuses.
Diagramme schématique
Le schéma ci-dessus montre les composants supplémentaires du conseil de support incorpore pour rendre le LSM6DS33 et LIS3MDL 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 de communication I²C au même niveau de tension logique que VIN. Ce schéma est également disponible en format pdf téléchargeable: MINIMU-9 v5 schématique (106k pdf).
Communication I²C
le gyroscope et l'accéléromètre de l'LSM6DS33 et le magnétomètre de l'LIS3MDL peuvent être interrogés et configurés par le bus I²C. Chacun des trois 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) et la fiche LIS3MDL (2MB 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 et LIS3MDL 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 deux circuits intégrés ensemble et les deux 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 Minimus (ou v5 MINIMU et une v5 AltIMU) connecté sur le même bus I²C. Le tableau suivant indique les adresses esclaves des capteurs:
Capteur | Adresse esclave (par défaut) | Adresse esclave (SA0 entraînée faible) |
---|---|---|
LSM6DS33 (gyro et accéléromètre) | 1101011b | 1101010b |
LIS3MDL (magnétomètre) | 0011110b | 0011100b |
Les deux puces sur le minimu-9 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 LSM6DS33 Arduino de base et de la bibliothèque LIS3MDL Arduino qui le rendent facile à interfacer le minimu-9 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 et magnétomètre.
Conseils de protocole
Les fiches techniques fournissent toutes les informations dont vous avez besoin d'utiliser les capteurs sur le minimu-9 v5, mais choisissant les détails importants peuvent prendre un certain temps. Voici quelques conseils pour communiquer avec et la configuration du LSM6DS33 et LIS3MDL que nous espérons vous et courir un peu plus vite obtenir:
Le gyroscope, accéléromètre et magnétomètre 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 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.