« Fabrication d'un quadcopter autonome » : différence entre les versions

De WikiRennes
Aller à la navigationAller à la recherche
catégorisation
Aucun résumé des modifications
(catégorisation)
(14 versions intermédiaires par 2 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
Cette page sert de carnet de notes pour l'avancée des ateliers de fabrication d'un quadcopter autonome, à la Maison de Quartier La Touche. En fin de projet, la mise en forme de ces notes constituera la documentation du projet.
Cette page sert de carnet de notes pour l'avancée des ateliers de fabrication d'un quadcopter autonome, à la [[Maison de quartier La Touche|Maison de Quartier La Touche]]. En fin de projet, la mise en forme de ces notes constituera la documentation du projet.


== Idées de départ ==
== Idées de départ ==
Ligne 11 : Ligne 11 :


http://www.electronoobs.com/eng_robotica_tut6_2.php : on va pas y couper, il va falloir se plonger dans les boucles PID, pour corriger les consignes (inclinaison, hauteur) avec les mesures effectives.
http://www.electronoobs.com/eng_robotica_tut6_2.php : on va pas y couper, il va falloir se plonger dans les boucles PID, pour corriger les consignes (inclinaison, hauteur) avec les mesures effectives.
https://www.firediy.fr/article/calibrer-le-capteur-mpu6050-avec-un-arduino-drone-ch-5 : utilisation du gyroscope
https://www.firediy.fr/article/utiliser-sa-radiocommande-avec-un-arduino-drone-ch-6 : code Arduino : attachInterrupt et registres d'interruption
http://mitappsinventor.blogspot.com/2015/05/rgb-slider-color-selector-rgb-led.html appli Android pour controler le drône : un bon point de départ avec cet exemple de l'utilisation d'un slider pour contrôler une LED.
https://www.carnetdumaker.net/articles/mesurer-une-distance-avec-un-capteur-ultrason-hc-sr04-et-une-carte-arduino-genuino/ débuter avec les capteurs de distance ultrasons


== Matériel ==
== Matériel ==
Ligne 41 : Ligne 49 :
5. Les 4 capteurs infrarouges seront des Sharp GP2Y0A21YK0F, qui sont capables de détecter les obstacles entre 10 et 80 cm.
5. Les 4 capteurs infrarouges seront des Sharp GP2Y0A21YK0F, qui sont capables de détecter les obstacles entre 10 et 80 cm.


6. <s>Le gyroscope est un MPU6050.</s> Un sonar orienté vers le haut pour ne pas se cogner au plafond, un autre orienté vers le bas pour gérer la hauteur du drone.
6. Le gyroscope est un MPU6050.


7. Le baromètre est un BMP180
7. <s>Le baromètre est un BMP180.</s> Un sonar orienté vers le haut pour ne pas se cogner au plafond, un autre orienté vers le bas pour gérer la hauteur du drone.


8. Le capteur bluetooth est un HC05
8. Le capteur bluetooth est un HC05


== Schéma de branchement ==
== Schéma de branchement ==
[[Fichier:Schéma électronique quadcopter arduino png.png|centré|Merci à Mickaël Marcus pour la réalisation du schéma sur Inkscape]]
version svg pour inkscape : [[:Fichier:Schéma électronique quadcopter arduino.svg]]
== Déroulement des séances ==
=== Découverte des moteurs et des ESC ===
On prend cette page comme point de départ : http://arduino.blaisepascal.fr/controler-un-moteur-brushless/
Et ça ne fonctionne pas. En testant avec un autre lien on y arrive : https://www.firediy.fr/article/calibrer-ses-esc-avec-un-arduino-drone-ch-3
L'erreur du premier lien, c'est qu'il manque des informations dans la ligne esc.attach(12); il fallait mettre esc.attach(12, 1000, 2000); Pourquoi ?
Par ailleurs il es important de comprendre la séquence de calibration des ESC. Pour calibrer un ESC, il faut mettre plein gaz dès l'allumage, attendre les bips aigus réguliers, et relâcher les gaz à ce moment précis.
Dans notre code arduino, nous avions mis esc.write(180); pendant quelques secondes, puis  esc.write(0); 180 représente la valeur maximale (plein gaz) et 0 la valeur minimale. Le passage à 0 ne se faisait pas au bon moment, et le calibrage ne se faisait pas. Le deuxième lien (firediy) permet d'envoyer la valeur minimale à un moment précis. C'est grâce à ce code que nous avons réussi à calibrer notre ESC. Ensuite nous utilisons le 1er lien (blaisepascal) pour envoyer une valeur précise à l'ESC. Tout se passe bien, on arrive à faire tourner plus ou moins vite notre moteur. Ouf !
=== Piloter la carte arduino avec une application mobile sur android ===
Pour l'application mobile, on utilise app inventor : http://appinventor.mit.edu/
Pour communiquer avec la carte arduino, on passe par une carte bluetooth HC-05
Il existe plein de vidéos qui expliquent comment faire la connexion entre le smartphone et la carte bluetooth : https://www.qwant.com/?q=app%20inventor%20bluetooth%20arduino&t=videos
Au niveau des problèmes rencontrés, nous nous sommes cassés les dents sur :
* les pins à brancher pour les liaisons RX et TX via la bibliothèque SoftwareSerial. Beaucoup d'exemples utilisent les pins 2  et 3 de la carte arduino. Mais comme nous utilisons une carte arduino micro, ces pins ne sont pas compatibles. (''Not all pins on the Leonardo and Micro support change interrupts, so only the following can be used for RX: 8, 9, 10, 11, 14 (MISO), 15 (SCK), 16 (MOSI).'') Il va donc falloir changer notre schéma !
* dans le code arduino, attention au baudrate de la liaison par la bibliothèque SoftwareSerial ! Beaucoup d'exemples montrent un baudrate à 57600 ou 115200. Pour nous, ça n'a fonctionné que avec 9600.
* la valeur envoyée à la carte arduino est un nombre. Nous aurions voulu envoyer du texte mais il semble que ça ralentisse énormément la vitesse d'exécution du programme. Nous allons donc échanger uniquement des nombres pour garder une vitesse d'exécution optimale.
*
<references />
[[Catégorie: Fabrication numérique]]
1 679

modifications

Menu de navigation