projet-arduino-rapport
Transcription
projet-arduino-rapport
Année : 2016 Peip2 Lisa Lastra Martial Mailloux 1 1 Table des matières 2 Introduction ................................................................................................................................3 3 Présentation du projet .............................................................................................................3 3.1 3.2 3.3 3.4 Description du projet ...................................................................................................................... 3 Répartition du travail ..................................................................................................................... 3 Description du code......................................................................................................................... 4 Montages ............................................................................................................................................. 4 4 Difficultés rencontrées ............................................................................................................7 5 Améliorations et conception finale .....................................................................................7 5.1 5.2 Améliorations .................................................................................................................................... 7 Conception finale .............................................................................................................................. 7 6 Conclusion ....................................................................................................................................8 7 Annexes 2 Année : 2016 Peip2 Lisa Lastra Martial Mailloux 2 Introduction Dans le cadre de notre 2ème année de formation PEIP nous avons du imaginer, élaborer et réaliser un projet en Arduino. Ayant récupéré le squelette d’un planeur nous nous sommes lancé le défi de le faire voler. Et c’est ainsi que nous avons décidé de réaliser un système nous permettant de contrôler un planeur à distance. Dans ce rapport nous allons tout d’abord présenter notre projet à travers 4 grands axes. Puis nous détaillerons les difficultés que nous avons rencontrées. Et nous parlerons enfin des améliorations possibles et de la conception finale de notre projet. 3 Présentation du projet 3.1 Description du projet Nous avons décidé de réaliser un planeur autonome à l’aide de deux puis trois cartes arduinos (voir figure 1). Une carte présente à l’extérieur du planeur relié à un joystick, un émetteur et un boitier de piles. Le tout constituant « la manette » permettant de diriger le planeur (voir figure 2). Et deux autres cartes présentes à « l’intérieur » du planeur permettant de recevoir les informations transmises par la « manette ». Ainsi que de contrôler le mouvement des ailes et l’allumage du moteur de l’hélice en fonction des données transmises (voir figure 3 et 4). 3.2 Répartition du travail Nous avons tout d’abord, lors de la première semaine de travail essayé de faire marcher le moteur de l’hélice (Lisa) et la manette de ps2 (Martial). Les résultats n’on pas été très concluant (voir difficultés rencontrées). Après avoir résolu les deux problèmes de la première semaine nous nous sommes attaqués au premier branchement lors de la deuxième. Pendant que l’un s’occupait de brancher le joystick, de récupérer les informations transmises par celui-ci et de les envoyer via l’émetteur (lisa), l’autre s’occupait de brancher le moteur de l’hélice et les « servos » et d’écrire le code relatif au mouvement que nous souhaitions qu’ils aient (martial). Pour ce qui est de la troisième semaine de travail nous avons réalisé les branchements et l’écriture du code relatif à la réception des informations transmises par l’émetteur via le récepteur (lisa). Ainsi que la mise en place de ce programme sur celui du contrôle des « servos » et du moteur (martial). La aussi le résultat n’a pas été très concluant (voir difficultés rencontrées). Nous avons ensuite travaillé chez nous et ensemble pour pouvoir régler ce problème et finir dans les temps. 3 3.3 Description du code Notre code est composé de trois programmes. Le premier programme nommé « Testemission2 » est téléversé sur la carte faisant partie de la « manette ». Ce programme permet de récupérer et d’envoyer les données transmises par le joystick à la deuxième carte. Une fois les données reçues par la deuxième carte, le programme « Réception » permet de les traiter et de les envoyer vers la troisième carte via un branchement en série. Le dernier programme « Reception_Planeur_V13 » qui est téléversé sur la troisième carte permet à celle-ci de les réceptionner et de traiter les informations envoyées afin de pouvoir contrôler les ailes et l’allumage du moteur de l’hélice. Nous utilisons trois librairies différentes dans nos programmes : -La librairie VirtualWire qui permet d’établir la connexion entre l’émetteur et le récepteur à 433MHz des deux premières cartes. -La librairie SoftwareSerial qui permet de réaliser l’émission/réception entre la deuxième et la troisième carte. -La librairie Servo qui permet de contrôler les « servos » des ailes. 3.4 Montages 1 9 2 3 4 5 5 6 4 Figure 1 Montage général initial 7 8 Année : 2016 Peip2 Lisa Lastra Martial Mailloux Légende de la figure 1 : -1 : Moteur de l’hélice -2 : Carte arduino Uno -3 : Récepteur -4 : Batterie -5 : Servos avant et arrière -6 : Joystick -7 : Carte arduino nano -8 : Piles -9 : Carte arduino Uno que nous avons du rajouter Montages spécifiques : -La manette de commande : La carte arduino (3) est alimenté par les piles (1), elle est reliée au joystick (2) et à l’émetteur (4). 2 1 3 1 4 1 Figure 2 Montage de la "manette" 5 Le planeur : Le montage récepteur (1) est relié à la batterie (2) et au moteur (3). La batterie alimente le tout et donc permet entre autre de faire tourner le moteur qui entraine l’hélice (4). 2 1 1 1 3 4 Figure 3 Montage du planeur Détail de la réception : La carte arduino (2) est relié au récepteur (3). Les servos présents sur les ailes et la queue du planeur (4) (5) sont reliés à la troisième arduino (1). La carte (1) et la carte (2) sont reliées grâce à une liaison série. 4 1 5 1 1 1 Figure 4 Montage récepteur 6 2 3 Année : 2016 Peip2 Lisa Lastra Martial Mailloux 4 Difficultés rencontrées Au cours de ce projet nous avons rencontrés de nombreuses difficultés que nous avons toutes surmontées. La première difficulté rencontrée est survenue lorsque nous avons essayé de faire marcher le moteur de l’hélice. Ne connaissant pas le modèle du moteur ni le module qui lui était associé nous avons eu quelques problèmes à le contrôler afin de le mettre en marche. Nous avons finalement réussi à le maitriser grâce à la librairie des servos. Le deuxième problème auquel nous avons été confronté est venu de la manette de ps2 que nous avions prévu d’utiliser pour contrôler le planeur. Ne pouvant pas télécharger la librairie propre à celle-ci nous avons finalement décidé de nous rabattre sur un joystick (plus simple mais moins efficace). Le dernier problème que nous avons rencontré est celui qui nous a pris le plus de temps à résoudre. La librairie « VirtualWire » utilisée pour réaliser l’émission/réception et la librairie « Servo » utilisée pour contrôler les « servos » du planeur n’étant pas compatibles nous avons du rajouter une troisième carte arduino. Le problème est survenu lorsqu’il a fallu connecter la deuxième carte avec la troisième. Nous les avons reliées en série mais les informations reçues sur le port série de la troisième carte n’étaient pas les mêmes que celle sur le port série de la deuxième. Nous avons finalement réussi à résoudre ce problème après de nombreuse tentatives et en remplaçant les deux dernières cartes arduino nano par des cartes arduino uno. 5 Améliorations et conception finale 5.1 Améliorations Le joystick étant très peu précis nous aurions bien aimé pouvoir utiliser la manette de ps2 pour avoir une plus grande précision et un meilleur maniement des ailes. Nous aurions aussi souhaité améliorer la qualité de la transmission entre la « manette » et le planeur afin de supprimer les mouvements parasites des ailes qui surviennent de temps à autre. Nous aurions aussi pu rajouter un accéléromètre permettant de crée un mode « pilote automatique ». 5.2 Conception finale Nous voudrions que tout le système de réception qui est actuellement en dehors du planeur soit à l’intérieur de celui-ci. Pour ce faire il nous faudrait utiliser une seule carte mini à la place des deux cartes arduino uno. Il faudrait alors recoder les librairies « VirtualWire » et « Servo » pour qu’elles soient compatibles entre elles. 7 Nous voudrions aussi créer une télécommande ou tout est intégré : les piles, l’émetteur, les joystciks et la carte arduino. Pour nous permettre d’avoir une meilleure maniabilité de notre planeur. Figure 5 La version idéale :) 6 Conclusion Nous avons réussi malgré de nombreuses difficultés à faire fonctionner notre planeur. Plus précisément nous avons réussi à contrôler le mouvement des ailes et l’allumage du moteur de l’hélice grâce à notre « manette ». Bien sur celui-ci ne vole pas mais nous espérons dans un futur proche réussir à accomplir cette tache. Nous avons pris beaucoup de plaisir à travailler sur ce projet et nous sommes très fier d’avoir pu faire quelque chose d’aboutit. Cela nous incite également à aller plus loin dans ce type de recherche. Nous tenons également à remercier Mr Masson et notre ami Alexandre Hiltcher qui ont contribué à la résolution du problème de communication entre les deux dernières arduinos. 8