Outils pour utilisateurs

Outils du site


wiki:divers:quadcopter_from_scratch

QuadCopter From Scratch

  • *Auteur : Théo Vialis**

Contexte / Objectifs

Ce projet ce situe dans le contexte d'un projet de création d'entreprise autour des drones professionnels. N'ayant que peu d'expérience dans la conception et la fabrication d'engin volant, j'ai décider comprendre leur fonctionnement et de pratiquer le plus d'aspects possible pour, à terme, pouvoir maîtriser et créer un produit utile et original. Donc, avant de developer un prototype avec un (ou plusieurs) avantage(s) compétitifs, j'ai décidé de passer par des sous-projets qui forment les briques techniques élémentaires. Ces sous-projets, n'étant pas particulièrement originaux, ils sont publics. Je suis donc disposé et heureux de partager ce que je vais apprendre durant ce projet.

L'objectif de ce 1er sous-projet est de concevoir et de fabriquer un drone quadricoptère. Cependant, au lieu d'utiliser des cartes électroniques préprogrammées, des chassis et des hélices du commerce, je vais moi même programmer et designer le plus d'éléments possible. Ce drone sera donc fabriqué avec un maximum de pièces imprimés en 3D. Le contrôleur principal de ce drone sera une carte Raspberry PI Zéro WH (sous Raspbian). Le contrôle direct du drone sera effectué à l'aide d'un Joystick T16000 de la marque Thrustmaster branché à un PC. La télémétrie est transmise en live à un PC par Wifi. Tout les programmes sont et seront écrit en Python 3.

Pour avoir les codes sources et les modèles 3D du projets vous pouvez me contacter par email : theovialis@gmail.com

Sommaire Technique

Cahier des charges et Etats d'avancement

Résumé

L’objectif de ce premier projet est de se faire la main sur les techniques de base pour faire un drone à partir de zéro. Se rendre compte de quelles sont les difficultés de base. Qu’est-ce qui est faisable avec mes connaissances et avec quel matériel. On veut quand même que ce soit autre chose qu’un simple montage et réglage. On va donc concevoir et imprimer en 3D le plus de pièces mécaniques possible. On va programmer à la main le contrôleur avec un asservissement de base. Le contrôle à distance pourrait se faire via une télécommande ou avec le Joystick T16K et en utilisant des modules de communication de type Xbee.

Caractéristiques techniques minimales

Caractéristiques globales

  • Masse : < 1.5 kg
  • Taille : < 500 mm diagonale
  • Aspect : quadricoptère en X ou en + standard et les composants électroniques apparents. Le plus simple possible.
  • Endurance : > 5 min
  • Pas de contraintes sur la portée si sur les performances de l’engin
  • On ne veut pas un drone de course (pas de contraintes de réactivité ou de vitesse)
  • Le drone doit être modulaire le plus possible et flexible toujours parce qu'il s'agit d'un drone “banc à sable” on veut pouvoir rester libre de changer des parties ou d'ajouter des features

Eléments faits « à la main » / DIY

  • Le châssis : à modéliser sous Solidworks et à imprimer en 3D
  • Les hélices si c’est possible. Il faudra les tester et caractériser dans quelles mesure on peut ou non fabriquer les utiliser
  • Le soft : l’asservissement PID et le réglage du PID

Elements à acheter

  • Moteurs / ESC
  • Hélices si on ne les impriment pas
  • Cartes de contrôle programmable
  • Batterie LiPo
  • Pales (si l’impression est impossible)
  • Distributeur de puissance (si on le fait pas en soudant tout)
  • Capteurs : Centrale Inertielle pour la version de base du drone. Celui-ci pourra être amélioré et accueillir d'autres capteurs si nécessaire (Sonar / caméra / autres…)
  • Module de communication (pour les commandes et la télémétrie)

Etat d'avancement au 15/04/2020

Tâches accomplies

  • Contrôle des moteurs par PWM (En utilisant le servo shield)
  • Lecture des accéléromètres et des Gyroscopes par Raspi (en I2C)
  • Ecriture d’un asservissement PID fonctionnel
  • Design et fabrication d’une balance de test 1-axe
  • Fusion des capteurs Accéléromètres et Gyroscope pour avoir les bonnes valeurs d’angles
  • Protocole de calibration de l’IMU
  • Calibration automatique des ESC
  • Envoi des données depuis le Rapsi par Télémétrie en Wifi
  • Réception des données de Télémétrie sur un PC par Wifi +Visualisation par graph temps réel
  • Multi-threader tous les processes sur le Raspi pour faire du temps réel
  • Envoi des commandes depuis le PC (actuellement c’est par Raspi)
  • Commandes manuelles par Joystick envoyé par Wifi
  • Design et fabrication du châssis complet
  • Ecriture du contrôle du lacet
  • Design et fabrication des éléments pour la balance 2 Axes

Tâches restantes

  • Réglage de l’asservissement PID pour un comportement adapté au vol
  • Commandes manuelles par Joystick envoyé via Xbee
  • Travail et réglages sur balance 2-axes
  • Vol en conditions réelles

Améliorations et tâches optionnelles

  • Décollages et Atterrissages automatiques
  • Mesure live de la puissance utilisée (pont diviseur de tension et mesure de courant)
  • Utilisation de Magnétomètres, Sonar (et GPS ?)
  • Caméra sur tourelle embarquée (+ stream des images en Wifi)
  • Intégration des calculs d’angle sur une centrale inertielle positionnée hors du Centre de Gravité
  • Filtre de Kalman
  • Relais pour connecter et déconnecter la batterie à distance
  • Commandes manuelles via Télécommande classique (utilisation d’entrées analogiques ?)

Journal de Bord


wiki/divers/quadcopter_from_scratch.txt · Dernière modification: 2020/10/05 16:39 (modification externe)