
Table des matières:
2025 Auteur: John Day | [email protected]. Dernière modifié: 2025-01-23 14:46

Cette instructable a été créée pour répondre aux exigences du projet du Makecourse à l'Université de Floride du Sud (www.makecourse.com)
Le but de ce projet était de construire un cardan à 3 axes pour GoPro en utilisant Arduino nano + 3 servomoteurs + gyroscope/accéléromètre MPU6050. Dans ce projet, j'ai contrôlé 2 axes (roulis et lacet) à l'aide du gyroscope/accéléromètre MPU6050, le troisième axe (lacet) est contrôlé à distance et manuellement à l'aide de HC-05 et de l'application Arduino BlueControl qui se trouve dans l'App Store d'Android..
Ce travail comprend également tous les fichiers de conception 3D des composants mécaniques de Gimbal. J'ai partagé des fichiers.stl pour une impression 3D facilement et des fichiers de conception 3D en bas.
Au début de mon projet, mon plan était de construire un cardan à 3 axes avec 3 moteurs brushless, car les moteurs brushless sont plus fluides et plus réactifs que les servomoteurs. Les moteurs sans balais sont utilisés dans les applications à grande vitesse, nous pouvons donc ajuster la vitesse d'achat du moteur ESC (contrôleur). Mais pour pouvoir utiliser un moteur sans balais dans le projet Gimbal, j'ai réalisé que je devais piloter un moteur sans balais comme un servo. Dans les servomoteurs, la position du moteur est connue. Mais dans le moteur brushless, nous ne connaissons pas la position du moteur, c'est donc un inconvénient du moteur brushless que je n'arrivais pas à comprendre comment le conduire. À la fin, j'ai décidé d'utiliser 3 servomoteurs MG995 pour le projet Gimbal à couple élevé. J'ai contrôlé 2 servomoteurs pour l'axe de roulis et de tangage à l'aide du gyroscope MPU6050 et j'ai contrôlé le servomoteur de l'axe de lacet à l'aide de l'application Bluetooth HC-05 et Android.
Étape 1: Composants




Les composants que j'ai utilisés dans ce projet;
1- Arduino Nano (1 unité) (Micro usb)
2- Servomoteurs MG995 (3 unités)
3- Accéléromètre/Gyroscope 3 axes GY-521 MPU6050 (1 unité)
4- Module Bluetooth HC-05 (pour contrôler l'axe de lacet (Servo3) à distance)
4- Chargeur portable micro usb 5V
Étape 2: Implémentation de 3 servomoteurs + gyroscope MPU6050 + HC-05


Câblage servo
Servo1 (rouleau), Servo2 (tangage), Servo3 (lacet)
Les servomoteurs ont 3 fils: VCC (rouge), GND (marron ou noir), PWM (jaune).
D3 => Servo1 PWM (fil jaune)
D4 => Servo2 PWM (fil jaune)
D5 => Servo3 PWM (fil jaune)
PIN 5V d'Arduino => VCC (rouge) de 3 servomoteurs.
GND PIN d'Arduino => GND (marron ou noir) de 3 servomoteurs
Câblage du gyroscope MPU6050
A4 => SDA
A5 => SCL
3.3 V PIN d'Arduino => VCC de MPU6050
GND PIN d'Arduino => GND de MPU6050
Câblage Bluetooth HC-05
D9 => TX
D10 => RX
3.3 V PIN d'Arduino => VCC de HC-05 Bluetooth
GND PIN d'Arduino => GND de HC-05 Bluetooth
Étape 3: Conception et fonctionnalité 3D




J'ai terminé la conception 3D de Gimbal en me référant à d'autres Gimbals vendus sur le marché. Il y a trois composants principaux qui tournent avec des servomoteurs. J'ai conçu un support GoPro qui s'adapte à sa taille.
Le fichier.step de toutes les conceptions 3D est partagé en bas pour permettre une édition plus facile.
Étape 4: Mécanisme de contrôle


L'algorithme principal de mon projet Gimbal utilise la rotation Quaternion qui est une alternative aux angles d'Euler. J'ai utilisé la bibliothèque helper_3dmath.h comme référence pour permettre un mouvement fluide en utilisant l'algorithme Quaternion. Bien que la réponse de l'axe de tangage soit fluide, l'axe de roulis est en retard pour répondre au mouvement du manche. En utilisant l'algorithme Quaternion, j'ai pu contrôler les servomoteurs de roulis et de tangage. Si vous souhaitez utiliser l'axe de lacet, vous devrez peut-être utiliser le deuxième MPU6050 juste pour contrôler l'axe de lacet. Comme solution alternative, j'ai configuré HC-05 et contrôlé l'axe de lacet à distance avec l'application Android à l'aide de boutons. À chaque pression sur le bouton, le servo de l'axe de lacet tourne de 10 degrés.
Dans ce projet, les librairies que j'ai du importer en externe sont les suivantes;
1- I2Cdev.h // Utilisé avec wire.h pour permettre la communication avec le MPU6050
2- "MPU6050_6Axis_MotionApps20.h" // Bibliothèque Gyroscope
3- // Il permet de convertir les broches numériques en broches RX et TX (il faut le module bluetooth HC-05)
4-
5- // Il permet de communiquer avec les appareils I2C qui utilisent deux broches de données (SDA et SCL) => MPU6050
Le code principal est créé par Jeff Rowberg, et je l'ai modifié en fonction des fonctionnalités de mon projet et j'ai commenté toutes les fonctions dans le fichier ino.
Conseillé:
Support mural pour IPad en tant que panneau de commande domotique, utilisant un aimant servocommandé pour activer l'écran : 4 étapes (avec photos)

Support mural pour IPad en tant que panneau de commande domotique, utilisation d'un aimant servocommandé pour activer l'écran : dernièrement, j'ai passé pas mal de temps à automatiser des choses dans et autour de ma maison. J'utilise Domoticz comme application domotique, voir www.domoticz.com pour plus de détails. Dans ma recherche d'une application de tableau de bord qui affiche toutes les informations Domoticz ensemble
Télécommande sans fil utilisant le module 2.4Ghz NRF24L01 avec Arduino - Nrf24l01 4 canaux / 6 canaux émetteur-récepteur pour quadrirotor - Hélicoptère Rc - Avion Rc utilisant Ardu

Télécommande sans fil utilisant le module 2.4Ghz NRF24L01 avec Arduino | Nrf24l01 4 canaux / 6 canaux émetteur-récepteur pour quadrirotor | Hélicoptère Rc | Avion Rc utilisant Arduino: Pour faire fonctionner une voiture Rc | Quadricoptère | Drone | Avion radiocommandé | Bateau RC, nous avons toujours besoin d'un récepteur et d'un émetteur, supposons que pour RC QUADCOPTER nous ayons besoin d'un émetteur et d'un récepteur à 6 canaux et que ce type de TX et RX soit trop coûteux, nous allons donc en faire un sur notre
Tutoriel du module 6DOF du gyroscope d'accélération à 3 axes GY-521 MPU6050 : 4 étapes

Tutoriel du module GY-521 MPU6050 Gyroscope d'accélération à 3 axes 6DOF: DescriptionCe module simple contient tout le nécessaire pour s'interfacer avec l'Arduino et d'autres contrôleurs via I2C (utilisez la bibliothèque Wire Arduino) et donner des informations de détection de mouvement pour 3 axes - X, Y et Z .SpécificationsPlages d'accéléromètre : ±2, ±
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