Contrôleur de vol Arduino.
Ce projet de contrôleur de vol Arduino a été inspiré par la construction du quadcopter auto-nivelant de Joop Brokking. Mon objectif était de construire ce drone à partir de zéro, puis d'utiliser un Arduino comme contrôleur au lieu d'utiliser une carte de contrôleur de vol existante. Le corps du drone a été conçu et imprimé en 3D par moi-même, j'ai construit une carte de circuit personnalisée pour connecter tous les appareils élect
Iterations
Le projet a connu plusieurs itérations. La version 1 a été réalisée en utilisant une carte Arduino Uno comme élément central. Il s'agissait d'une construction rapide conçue pour faire voler quelque chose pour la première fois. Le corps était une conception rudimentaire et présentait de nombreux défauts qui rendaient son utilisation difficile. Ceux-ci ont été résolus dans la prochaine itération du drone.
La principale amélioration de la version 2 était une refonte du corps du drone. Mon ami a obtenu un drone mini DJI avec des bras pliables pour le stockage et je voulais essayer la même chose avec ce projet. J'ai remplacé les bras fixes par des bras qui pivotent tous dans le corps. Deuxièmement, j'ai créé une moitié inférieure complète du drone afin que la batterie ne soit plus exposée. Il y a eu également quelques ajustements électroniques mineurs
BOM
Les pièces pour ce projet comprenaient :
- Arduino Nano.
- Puce accéléromètre/gyroscope MPU6050.
- Puce baromètre BMP280
- 4 moteurs sans balais de 2300 kV.
- 4 contrôleurs de vitesse électroniques de 30 A.
- 4x hélices 5045
- 4x roulements 699.
- 8x goupilles d'écarteurs en métal M2.5x8
- Tableau de distribution d'énergie.
- Lumière LED.
- Fils/Résistances/Condensateur
- Batterie LiPo, 3 cellules de 2200 mAh.
- Interrupteur coulissant de puissance.
- 2 Printemps ()
- 2 vis M3x20
- 2 vis M3x14
- 3 vis M3x6
- 7 écrous M3
Assemblée.
Une version de chaque fichier doit être imprimée pour un assemblage complet.
Magnets :3 fichiers spécifient qu'ils contiennent des aimants. Pour ajouter les aimants, vous devez ajouter une pause aux hauteurs de couche correctes dans le slicer. Ces aimants seront destinés à un accès facile sous le couvre-feu du drone.
Configurez
Une fois que vous avez construit un drone, vous devez commencer par exécuter le fichier Drone_Setup. Cela vous guidera à travers une série de prompts pour vous assurer que tout est configuré correctement et que les entrées de télécommande appropriées sont utilisées. À la fin de ces prompts, toutes les données seront enregistrées dans l'EEPROM.
Ensuite, exécutez Drone_ESC_Calibrate afin de tester l'accéléromètre et les moteurs. Cela vous permettra de vous assurer que les moteurs tournent dans la bonne direction et que le drone lit l'orientation correctement.
Une fois cela fait, vous pouvez exécuter Drone_Flight_Controller. Avant de voler, vous devriez commencer par ajuster les valeurs PID en haut du programme ; cela vous donnera une performance optimale.
Réglage du PID.
Voici le processus que j'ai utilisé pour régler le contrôleur PID pour le nivellement automatique du drone. Il peut y avoir de meilleures méthodes, mais celle-ci a fonctionné pour moi.
Soyez prudent lorsque vous effectuez ces étapes. Utilisez un équipement de sécurité approprié.
- Réglez le gain P à 1 et I/D à 0. Vérifiez que le drone se déplace dans les bonnes directions lorsque les manettes sont déplacées.
- D Gain :
- Augmentez le gain D par incréments de 1 jusqu'à ce que le drone commence à devenir agité dans les airs.
- Baissez jusqu'à ce que le drone vole de manière stable.
- Substituez 25% pour obtenir la valeur finale.
- P Gain :
- Augmentez le gain P par incréments de 0,01 jusqu'à ce que le drone commence à osciller lentement.
- Reduisez de 50% pour obtenir la valeur finale.
- Moi, je gagne :
- Augmentez le gain I par incréments de 0,2 jusqu'à ce que le drone commence à sur-compenser.
- Reduisez de 50% pour obtenir la valeur finale.
- P Gain à nouveau :
- Augmentez le gain P jusqu'à ce qu'il commence à osciller.
- Enlevez quelques points.
- Optimisez les valeurs par essais et erreurs.
Ce fut un processus lent pour obtenir des valeurs qui fonctionnaient bien pour moi.
Code
Vous pouvez voir le code du contrôleur de vol.ici.sur GitHub.
Mises à jour
10-oct-23 :
Ajouté de nouvelles versions de fichiers STL avec quelques mises à jour. La nouvelle conception du bras arrière est plus efficace et utilise un ressort au lieu d'un levier. La liste des composants a également été mise à jour.
Tags
Modellquelle
