Étalonnage automatique magnétomètre (6 / 6 étapes)

Étape 6: En utilisant un matériel différent

La même technique peut être utilisée avec un magnétomètre différent et ce n’est pas limité à un Arduino, mais vous devrez l’adapter et traduire éventuellement de C en une autre langue.

Si l’adaptation du code pour un magnétomètre différent, sachez que le MPU-9150 utilise différents systèmes de coordonnées pour le magnétomètre et un accéléromètre. Permutation de l’un à l’autre exige que vous échanger les valeurs X et Y et Z de nier. Cela se fait dans la fonction readMag() pour que le reste du code peut fonctionner exclusivement dans le système de coordonnées de l’accéléromètre. Les décalages, une fois calculés, sont reconverties à magnétomètre coordonnées pour le stockage.

À l’aide d’un magnétomètre différent, en principe, que vous devez simplement remplacer la fonction readMag().

Trois tableaux, [mx], mon [] et mz [] chacun des 5 éléments, maintenez les lectures de magnétomètre aux 5 positions, à savoir horizontales, pivoté de 45 degrés un sens puis l’autre sur l’axe des X et de même sur Y. À chaque position (sauf le premier), les sorties de l’accéléromètre pivotent afin que la fonction displayCal() n’a qu’à calculer les variables « angle » et « up » sous l’angle de la direction et l’orientation désirée (comme un flottement point nombre de pixels) de la plus grande pente. L’ampleur de l’erreur est convertie en une échelle logarithmique pour donner la plus grande sensibilité lorsque l’erreur est faible. La fonction displayCal() retourne une valeur booléenne true lorsque l’erreur est dans les limites, et une fois qu’il a fait un nombre défini de fois d’affilée Calibrate() stocke les lectures du magnétomètre.

Le calcul de la compensation a pris plusieurs pages de l’algèbre et la trigonométrie pour calculer mais s’incarnent dans seulement 4 lignes de code. Vous pouvez reconnaître le nombre magique 0.7071 comme la moitié la racine carrée de 2, ou cos(45⁰). Cela soustraire 1 et vous obtenez le deuxième numéro de magie 0.29289 et double pour obtenir la 3e 0.58579. Magic pas après tout.

Il n’y a rien de spécial au sujet de l’inclinaison de 45 degrés qui sert à l’étalonnage, mais il ne simplifie pas les maths considérablement. En principe, vous pourriez rouler l’appareil autour de la verticale, en permanence, effectuer des lectures de l’accéléromètre et magnétomètre et les décalages de calcul jusqu'à ce que les valeurs moyennes calculées se sont installés autour d’un résultat fiable, mais les maths serait beaucoup plus compliqué. L’application Compass iOS fait ceci, qui est où j’ai eu l’idée de calibrage automatique.

Articles Liés

Étalonnage du magnétomètre simple fer durs et mous

Étalonnage du magnétomètre simple fer durs et mous

Si votre passe-temps est RC, drones, robotique, électronique, réalité augment ou similaire alors tôt ou tard, vous rencontrerez la tâche de l'étalonnage du magnétomètre. N'importe quel module de magnétomètre doit être étalonné, parce que la mesure du
Magnétomètre manuelle simple étalonnage

Magnétomètre manuelle simple étalonnage

Il existe plusieurs types de magnétomètre bon marché maintenant disponible, que vous pouvez utiliser pour détecter une direction, mais chacun d'eux (que je sache) besoin d'étalonnage avant que vous pouvez obtenir des résultats sensibles. Dans ce Inst
Exploration d’accéléromètre et magnétomètre LSM303DLHC

Exploration d’accéléromètre et magnétomètre LSM303DLHC

Le LSM303 combine les lectures de champ électromagnétique de la terre comme un magnétomètre avec des lectures de la force de gravitation de la terre comme un accéléromètre triple-axe. Cette information fait un système de navigation compact.Comme il e
HMC5883L magnétomètre avec levier de vitesses niveau sur arduino nano

HMC5883L magnétomètre avec levier de vitesses niveau sur arduino nano

Cela vous obtiendrez détection boussole orientation en 3 dimensions dans vos projets d'arduino pour moins de 4 $!Saviez-vous que : ces choses sont si sensibles, vous pouvez les utiliser pour la détection de la position très précise à 6-degrés de libe
Dragueur de mines de magnétomètre PocketLab

Dragueur de mines de magnétomètre PocketLab

Dans le laboratoire de dragueur de mines magnétiques, vous recréera le jeu d'ordinateur classique démineur dans la vraie vie ! À l'aide de magnétomètres de PocketLab, vous va essayer de découvrir des mines cachés et marquer leur emplacement sur une g
Un suivi solaire automatique motorisé fenêtre rénovation aveugles en utilisant Arduino

Un suivi solaire automatique motorisé fenêtre rénovation aveugles en utilisant Arduino

Bâtiments représentent 20 à 40 % de l'énergie totale utiliser dans les pays développés. Stores (ou stores) peuvent aider à réduire la construction énergie utiliser et améliorer le confort visuel (réduisant l'éblouissement et augmenter l'éclairage nat
Chasse automatique des fenêtres Stand

Chasse automatique des fenêtres Stand

Hey vous là-bas les chasseurs tous ! Voici une idée qui peut vous rendre la vie de chasse plus pratique... Une fenêtre de Stand de chasse automatique ! Lorsque le capteur détecte un changement relatif au montant de chaleur émise par les objets enviro
Automatisé de tensiomètre (projet Arduino)

Automatisé de tensiomètre (projet Arduino)

L'objectif de cette instructable consiste à créer un brassard de tensiomètre automatisé à l'aide d'un Arduino Uno et pièces électroniques simples. Cet appareil vous permettra de mesurer leur pression artérielle moyenne (PAM) en une minute environ. Ar
Étalonnage d’un potentiomètre de levier de commande

Étalonnage d’un potentiomètre de levier de commande

J'ai essayé de contrôler la vitesse d'une voiture RC à l'aide d'un potentiomètre de manette de jeu, quand je suis tombé sur un problème. Le joystick centré ont une valeur par défaut différente de 0. C'était la première fois que j'utilise ce genre de
Glowy Disco Badge

Glowy Disco Badge

Dans ce projet, nous serons une moque glowy badge qui s'allume vers le haut avec différentes couleurs et de modèles qui répondent à vos mouvements. Portez-le à un parti ou une discothèque et se prélasser dans l'admiration de tous vos amis !L'affichag
Voiture numérique boussole thermomètre &

Voiture numérique boussole thermomètre &

je ne suis pas vraiment bon à trouver les lieux et la direction, mais au moins je suis capable de lire les cartes et boussole. Ces jours-ci, systèmes de navigation GPS deviennent plus populaires, donc probablement que certains diraient pourquoi j'ai
Flone 3.0 Drone Quadcopter

Flone 3.0 Drone Quadcopter

Il s'agit de flone 3.0: un Écosystème de Drone Open Source.Après la première version de notre flone 1.0 instructable primé il y a trois ans, nous avons fait beaucoup de travail.Flone est un design puissant, compact et intelligente d'un quadcopter de
Équilibrage automatique de pendule à l’envers

Équilibrage automatique de pendule à l’envers

Il s'agit de ma tentative de la pendule inversé en équilibre sur une charrette à deux roues châssis. J'avait vu les autres ici et a été inspiré pour essayer ma propre version. L'Arduino est merveilleusement simple à programmer et vous pouvez le ramas
Pilote automatique hélice

Pilote automatique hélice

** Note : je n'ai pas eu le temps de remplir toutes les étapes encore, cependant, je vais finir après je suis fait avec le travail aujourd'hui, Désolé pour le post prématuré, je veux obtenir cela avant la date limite du projet **Bonjour à tous!Je sui