Table des matières:
- Étape 1: Ce dont nous aurons besoin:
- Étape 2: Construire…
- Étape 3: Quelques informations supplémentaires avant de continuer
- Étape 4: Coder:
- Étape 5: Test et conclusion
Vidéo: Mesure d'angle à l'aide d'un gyroscope, d'un accéléromètre et d'un Arduino : 5 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:11
L'appareil est un prototype approximatif de ce qui deviendra éventuellement un robot auto-équilibré, c'est la deuxième partie du trou (lire l'accéléromètre et contrôler un moteur pour s'auto-équilibrer). La première partie avec uniquement le gyroscope se trouve ici. Sur cette instructable, nous mesurerons l'angle à l'aide du gyroscope et de l'accéléromètre, et en utilisant une technique pour fusionner les deux capteurs pour obtenir un signal fluide. La technique est appelée "filtre complémentaire".
Étape 1: Ce dont nous aurons besoin:
Certaines pièces peuvent être remplacées et certaines modifications du code doivent être apportées pour s'adapter à votre matériel. Sur ce projet, nous utiliserons: (pour l'accéléromètre) - Adaptateur Nunchuck Wii pour Arduino
Étape 2: Construire…
Le circuit se compose d'un gyroscope connecté directement au port 0 de votre arduino et d'un nunchuck wii connecté au port I2C. Assemblage du gyroscope:1. - branchez le gyroscope à la planche à pain2. - câbler tout:- broche Vo du gyroscope connectée au port analogique 0 à l'arduino (fil orange clair)- broche G du gyroscope connectée à la terre (fil blanc)- broche V+ du gyroscope connectée à Vdd (3,3 V) (fil orange) Assemblage l'accéléromètre:1. - branchez l'adaptateur sur le nunchuck2. - branchez le nunchuck sur l'arduino à l'aide de l'adaptateur3. - placez le capteur d'accélération comme sur la photo ci-dessus
Étape 3: Quelques informations supplémentaires avant de continuer
A partir des deux capteurs, nous pouvons mesurer l'angle mais en utilisant deux techniques distinctes. Pour mesurer l'angle à l'aide du gyroscope, nous devons intégrer le signal. Mais pourquoi devons-nous faire cela ? Parce que le gyroscope nous donne le taux angulaire, donc un moyen simple d'obtenir l'angle est de multiplier le taux angulaire par le temps [angle = angle + w * dt] Pour mesurer l'angle à l'aide d'un accéléromètre, nous devons détecter la gravité dans chaque l'axe de l'accéléromètre, ce que cela signifie, la projection de l'accélération de la pesanteur sur chaque direction du capteur nous donne une idée sur l'angle. [angle_accel = arctg(Ay / sqrt(Ax^2 + Az^2))]Alors pourquoi allons-nous utiliser deux capteurs au lieu d'un ? Pour profiter des deux propriétés du capteur. Si vous regardez le graphique, les données du gyroscope augmentent continuellement, c'est ce qu'on appelle la dérive et les données de l'accéléromètre changent beaucoup en un rien de temps. Et comment fusionner les deux signaux ? Nous utiliserons une technique appelée filtre complémentaire. Je ne connais pas la théorie exacte derrière cela, mais cela fonctionne très bien. Il y a des informations sur Internet, il suffit de les rechercher sur Google si vous avez besoin de plus d'informations. Ce lien contient beaucoup d'informations et peut être utile.filtered_angle = HPF*(filtered_angle + w* dt) + LPF*(angle_accel); où HPF + LPF = 1Les valeurs de HPF et LPF se trouvent sur ce lien, sur le fichier filter.pdf. Merci les gars de "The DIY Segway". Juste à des fins de test, nous allons définir ces valeurs comme ceci, HPF = 0,98 et LPF = 0,02.
Étape 4: Coder:
Le code est une adaptation d'un code que j'ai utilisé sur un autre projet. Il y a probablement des variables inutilisées. J'ai utilisé une bibliothèque pour lire les données nunchuck à partir de https://todbot.com/blog/. Merci Tod E. Kurt. Les commentaires sur le code sont en portugais, dès que j'ai du temps libre, je le traduis. filter_teta $time:angular_velocity:gyro_angle:accel_angle:filtered_angle$Vous pouvez donc enregistrer ces valeurs sur un terminal série et tracer un graphique ou utiliser l'angle pour d'autres choses. Si vous avez besoin d'explications sur le code, n'hésitez pas à demander. Le code est zippé. Décompressez-le, ouvrez-le et téléchargez-le sur votre arduino.
Étape 5: Test et conclusion
Pour tester le système, j'ai enregistré les données à l'aide d'un programme appelé Termite, puis j'ai importé ces données sur Excel et j'ai tracé le graphique pour voir la qualité de mon filtre. Les résultats sont étonnants. Bien sûr, vous pouvez utiliser le signal pour conduire un moteur ou d'autres choses. Tout commentaire, tout doute, toute information manquante, dites-le-moi et je le corrige. S'il vous plaît, si vous aimez cela, évaluez. Merci à tous.
Conseillé:
Contrôleur Xbox 360 Accéléromètre/Gyroscope Mod : 7 étapes
Contrôleur Xbox 360 Accéléromètre/Gyro Pilotage Mod : J'ai joué à Assetto Corsa avec ma manette Xbox 360. Malheureusement, la direction avec le stick analogique est très lourde et je n'ai pas la place pour une configuration de roue. J'ai essayé de penser à des moyens de mettre en place un meilleur mécanisme de direction dans t
Simulateur de jeu SmartPhone - Jouez à des jeux Windows en utilisant l'IMU de contrôle gestuel, l'accéléromètre, le gyroscope, le magnétomètre : 5 étapes
Simulateur de jeu SmartPhone - Jouez à des jeux Windows à l'aide de l'IMU de contrôle gestuel, d'un accéléromètre, d'un gyroscope, d'un magnétomètre : soutenez ce projet : https://www.paypal.me/vslcreations en faisant un don aux codes open source & soutien au développement ultérieur
Arduino Nano et Visuino : Convertir l'accélération en angle à partir de l'accéléromètre et du gyroscope Capteur MPU6050 I2C : 8 étapes (avec images)
Arduino Nano et Visuino : Convertir l'accélération en angle depuis l'accéléromètre et le gyroscope Capteur MPU6050 I2C : il y a quelque temps, j'ai publié un tutoriel sur la façon de connecter l'accéléromètre, le gyroscope et le capteur de boussole MPU9250 à Arduino Nano et le programmer avec Visuino pour envoyer des données de paquets et afficher sur une lunette et des instruments visuels. L'accéléromètre envoie X, Y
Arduino Nano : Accéléromètre Gyroscope Boussole MPU9250 Capteur I2C avec Visuino : 11 Étapes
Arduino Nano : Accéléromètre Gyroscope Boussole MPU9250 Capteur I2C avec Visuino : MPU9250 est l'un des capteurs combinés accéléromètre, gyroscope et boussole de petite taille actuellement disponibles. Ils disposent de nombreuses fonctionnalités avancées, notamment le filtrage passe-bas, la détection de mouvement et même un processeur spécialisé programmable
Tutoriel accéléromètre et gyroscope : 3 étapes
Tutoriel sur l'accéléromètre et le gyroscope : Introduction Ce guide est destiné à tous ceux qui souhaitent utiliser des accéléromètres et des gyroscopes ainsi que des dispositifs IMU combinés (unité de mesure inertielle) dans leurs projets électroniques. Nous couvrirons : Que mesure un accéléromètre ?