Table des matières:

Boussole LED et altimètre : 7 étapes (avec photos)
Boussole LED et altimètre : 7 étapes (avec photos)

Vidéo: Boussole LED et altimètre : 7 étapes (avec photos)

Vidéo: Boussole LED et altimètre : 7 étapes (avec photos)
Vidéo: S'orienter avec la boussole et la carte, TOPOGRAPHIE, Partie 3/7 2024, Juillet
Anonim
Image
Image
Schéma de circuit et PCB
Schéma de circuit et PCB

Les objets avec des LED me fascinent toujours. Par conséquent, ce projet consiste à combiner le populaire capteur de boussole numérique HMC5883L avec 48 LED. En plaçant les LED dans un cercle, la LED qui s'allume est la direction dans laquelle vous vous dirigez. Tous les 7,5 degrés entraîneront une nouvelle LED qui donne des résultats détaillés.

La carte GY-86 fournit également un capteur de pression barométrique MS5611. Avec l'aide de ce capteur, il est possible de calculer l'altitude. En raison de la haute résolution, il est parfait pour les altimètres.

Le capteur MPU6050 sur la carte GY-86 possède à la fois un accéléromètre 3 axes et un gyroscope 3 axes. Le gyroscope peut mesurer la vitesse de la position angulaire au cours du temps. L'accéléromètre peut mesurer l'accélération gravitationnelle et en utilisant les mathématiques trigonométriques, il est possible de calculer l'angle auquel le capteur est positionné. En combinant les données de l'accéléromètre et du gyroscope, il est possible d'obtenir des informations sur l'orientation du capteur. Cela peut être utilisé pour la compensation d'inclinaison de la boussole HMC5883L (à faire).

Les courtes vidéos d'instructions dans cette instructable expliqueront en détail comment cela fonctionne. Les procédures d'étalonnage sont automatisées, le succès est donc garanti. La température est disponible en Celsius (par défaut) ou en Fahrenheit.

S'amuser !!

Étape 1: Altimètre

Image
Image

L'altimètre utilise le capteur de pression barométrique MS5611. L'altitude peut être déterminée sur la base de la mesure de la pression atmosphérique. Plus l'altitude est élevée, plus la pression est faible. Au démarrage, l'altimètre utilise la pression au niveau de la mer par défaut de 1013,25 mbar. En appuyant sur le bouton de la broche 21, la pression à votre emplacement sera utilisée comme référence. De cette façon, il est possible de mesurer approximativement la hauteur de quelque chose (par exemple lors de la conduite en montée avec une voiture).

La "formule hyposométrique" est utilisée dans ce projet. Cette formule utilise la température pour compenser la mesure.

float alt=((powf(source / ((float) P / 100,0), 0,19022256) - 1,0) * ((float) TEMP / 100 + 273,15)) / 0,0065;

Vous pouvez en savoir plus sur la formule hypsométrique ici:

Formule hypsométrique

Les données d'étalonnage d'usine et la température du capteur sont lues à partir du capteur MS5611 et appliquées au code pour obtenir les mesures les plus précises. Au cours du test, j'ai constaté que le capteur MS5611 est sensible aux flux d'air et aux différences d'intensité lumineuse. Il doit être possible d'obtenir de meilleurs résultats que dans cette vidéo d'instructions.

Étape 2: Pièces

1 x microcontrôleur Microchip 18f26k22 28 broches PDIP

3 x MCP23017 16-Bit I/O Expander 28 broches SPDIP

48 x LED 3mm

1 module GY-86 avec capteurs MS5611, HMC5883L et MPU6050

1 x SH1106 OLED 128x64 I2C

1 x condensateur céramique 100nF

1 résistance de 100 Ohms

Étape 3: Schéma de circuit et PCB

Schéma de circuit et PCB
Schéma de circuit et PCB

Tout tient sur un PCB simple face. Trouvez ici les fichiers Eagle et Gerber afin que vous puissiez le fabriquer vous-même ou demandez à un fabricant de PCB.

J'utilise la boussole LED et l'altimètre dans ma voiture et j'utilise l'interface OBD2 comme alimentation. Le microcontrôleur s'intègre parfaitement dans le connecteur.

Étape 4: Comment aligner parfaitement les LED dans un cercle en quelques secondes avec le logiciel de conception de circuits imprimés Eagle

Vous devez voir cette fonctionnalité vraiment intéressante dans Eagle PCB Design Software qui vous permet d'économiser des heures de travail. Avec cette fonction Eagle, vous pouvez parfaitement aligner les LED dans un cercle en quelques secondes.

Cliquez simplement sur l'onglet "Fichier" puis sur "Exécuter ULP". De là, cliquez sur "cmd-draw.ulp". Sélectionnez « Déplacer », « échelon de degré » et « Cercle ». Remplissez le nom de la première LED dans le champ "nom". Définissez les coordonnées du centre du cercle sur la grille aux champs "X center coord" et "Y center coord". Dans ce projet il y a 48 LED donc 360 divisé par 48 fait 7,5 pour le champ "Angle step". Le rayon de ce cercle est de 1,4 pouce. Appuyez sur Entrée et vous obtenez un cercle parfait de LED.

Étape 5: Processus d'étalonnage de la boussole

Image
Image

Le HMC5883L comprend un CAN 12 bits qui permet une précision de cap de la boussole de 1 à 2 degrés Celsius. Mais avant de donner des données utilisables, il doit être calibré. Pour que ce projet soit opérationnel et se déroule sans heurts, il existe cette méthode d'étalonnage qui fournit un décalage x et y. Ce n'est pas la méthode la plus sophistiquée mais elle est suffisante pour ce projet. Cette procédure ne vous coûtera que quelques minutes et vous donnera de bons résultats.

En chargeant et en exécutant ce logiciel, vous serez guidé dans ce processus d'étalonnage. L'écran OLED vous dira quand le processus commencera et quand il se terminera. Ce processus d'étalonnage vous demandera de tourner le capteur à 360 degrés tout en le maintenant absolument à plat (horizontal par rapport au sol). Montez-le sur un trépied ou quelque chose comme ça. Faire cela en le tenant dans votre main ne fonctionne pas. A la fin les offsets seront présentés sur l'OLED. Si vous exécutez cette procédure plusieurs fois, vous devez voir des résultats presque égaux.

En option, les données collectées sont également disponibles via RS232 via la broche 27 (9600 bauds). Utilisez simplement un programme de terminal comme Putty et collectez toutes les données dans le fichier journal. Ces données peuvent être importées facilement dans Excel. De là, vous pouvez voir plus facilement à quoi ressemble le décalage de votre HMC5883L.

Les offsets sont mis dans l'EEPROM du microcontrôleur. Ceux-ci seront chargés au démarrage du logiciel de boussole et d'altimètre que vous trouverez à l'étape 7.

Étape 6: Compensez la déclinaison magnétique de votre emplacement

Image
Image
Concours de capteurs
Concours de capteurs

Il existe un Nord magnétique et un Nord géographique (Pôle Nord). Votre boussole suivra les lignes de champ magnétique de la terre, pointez donc vers le nord magnétique. La différence entre le Nord magnétique et le Nord géographique s'appelle la déclinaison magnétique. Chez moi, la déclinaison n'est que de 1 degré et 22 minutes, donc cela ne vaut pas la peine de compenser cela. À d'autres endroits, cette déclinaison peut aller jusqu'à 30 degrés.

Trouvez la déclinaison magnétique à votre emplacement

Si vous souhaitez compenser cela (c'est facultatif) vous pouvez ajouter la déclinaison (degrés et minutes) dans l'EEPROM du microcontrôleur. À l'emplacement 0x20, vous pouvez ajouter les degrés sous forme hexadécimale signée. Il est signé car il peut aussi s'agir d'une déclinaison négative. À l'emplacement 0x21, vous pouvez également ajouter les minutes sous forme hexadécimale.

Étape 7: compiler le code

Image
Image

Compilez ce code source et programmez votre microcontrôleur. Ce code se compile correctement avec MPLABX IDE v5.20 et le compilateur XC8 v2.05 en mode C99 (incluez donc les répertoires C99). Le fichier hexadécimal est également disponible afin que vous puissiez ignorer la procédure de compilation. Assurez-vous de décocher la case « Données EEPROM activées » pour éviter que les données d'étalonnage (voir étape 5) ne soient écrasées. Réglez votre programmateur sur 3,3 volts !

En connectant la broche 27 à la terre, vous obtenez la température en degrés Fahrenheit.

Merci à Achim Döbler pour sa bibliothèque graphique µGUI

Concours de capteurs
Concours de capteurs

Finaliste du concours Sensors

Conseillé: