IMA4 2018/2019 P44 : Différence entre versions
(→Analyse du projet) |
(→Scénario d'usage du produit ou du concept envisagé) |
||
Ligne 96 : | Ligne 96 : | ||
==Scénario d'usage du produit ou du concept envisagé== | ==Scénario d'usage du produit ou du concept envisagé== | ||
− | ;Premier scénario : Projet CREP | + | ;Premier scénario : '''Projet CREP''' |
Le projet de Pierre et Thibault est de participer à la Coupe Robotique des Ecoles Primaires (CREP), et de montrer ce qu'il est possible de faire à "haut niveau" quand on souhaite s'amuser avec ce genre de projet.<br> | Le projet de Pierre et Thibault est de participer à la Coupe Robotique des Ecoles Primaires (CREP), et de montrer ce qu'il est possible de faire à "haut niveau" quand on souhaite s'amuser avec ce genre de projet.<br> | ||
Ligne 104 : | Ligne 104 : | ||
Ébahis par les possibilités de ce robot et son apparente simplicité, les enfants décident alors tous de s'inscrire à Polytech Lille après leur bac et presque tous de poursuivre leur cursus en IMA. A chaque difficulté rencontrée, ils se rappelleront avec émotion la merveilleuse journée passée dans cette école qu'ils ont maintenant intégré et découvriront à leur tour avec plaisir les envers du métier d'ingénieur en Informatique, Micro-électronique et Automatique. | Ébahis par les possibilités de ce robot et son apparente simplicité, les enfants décident alors tous de s'inscrire à Polytech Lille après leur bac et presque tous de poursuivre leur cursus en IMA. A chaque difficulté rencontrée, ils se rappelleront avec émotion la merveilleuse journée passée dans cette école qu'ils ont maintenant intégré et découvriront à leur tour avec plaisir les envers du métier d'ingénieur en Informatique, Micro-électronique et Automatique. | ||
− | ;Second scénario : Projet Robotech | + | ;Second scénario : '''Projet Robotech''' |
Ça y est, Juliette est décidée. Membre à part entière de Robotech, elle se lancer aujourd'hui dans la programmation d'un robot en vue de participer à une compétition. Mais Polytech Lille a un avantage par rapport aux autres écoles, elle possède une plateforme facile à intégrer et à programmer qui contient déjà tout ce dont elle aura besoin : une alimentation par batterie, une connexion sans-fil, deux contrôleurs moteurs et une multitude d'E/S faciles à utiliser car toutes connectées à des headers. <br> | Ça y est, Juliette est décidée. Membre à part entière de Robotech, elle se lancer aujourd'hui dans la programmation d'un robot en vue de participer à une compétition. Mais Polytech Lille a un avantage par rapport aux autres écoles, elle possède une plateforme facile à intégrer et à programmer qui contient déjà tout ce dont elle aura besoin : une alimentation par batterie, une connexion sans-fil, deux contrôleurs moteurs et une multitude d'E/S faciles à utiliser car toutes connectées à des headers. <br> | ||
Elle n'a plus qu'à ajouter les différents capteurs qui lui manquent et éventuellement d'autres contrôleurs. Gagnant un précieux temps, car n'ayant plus besoin de s'inquiéter des contraintes d'intégration, elle peut s'attaquer tout de suite la programmation du robot tout en testant son code au fur à et mesure sur une platine de test documentée. Sa seule inquiétude est maintenant de finir à la première place de ce concours ! | Elle n'a plus qu'à ajouter les différents capteurs qui lui manquent et éventuellement d'autres contrôleurs. Gagnant un précieux temps, car n'ayant plus besoin de s'inquiéter des contraintes d'intégration, elle peut s'attaquer tout de suite la programmation du robot tout en testant son code au fur à et mesure sur une platine de test documentée. Sa seule inquiétude est maintenant de finir à la première place de ce concours ! | ||
− | |||
==Réponse à la question difficile== | ==Réponse à la question difficile== |
Version du 25 novembre 2018 à 18:14
Sommaire
Présentation générale
Création d'une platine programmable basée sur un Atmega 2560 à destination de l'association Robotech
Description
Le club Robotech de Polytech Lille conçoit et programme comme leur nom le suggère des robots sous diverses formes (bras, automates, robots sur roue, etc.). Afin de répondre à leurs besoins, une plateforme de programmation basée sur un atmega2560 leur est nécessaire afin de simplifier la commande et l'intégration des robots.
Objectifs
La plateforme possède un cahier des charges strictes, elle peut être alimentée via une batterie 24V (ou équivalent lipo, soit 22,2V ou 26V, c'est-à-dire une batterie 6S ou 7S), elle est programmable par USB, elle possède à minima deux contrôleurs moteurs à courant continu et une connexion sans fil afin de la reprogrammer et de communiquer, elle possède également les entrées/sorties inhérentes à ce microcontrôleur
Une documentation doit accompagnée la carte quant à ses limites en termes de tensions et de puissances admissibles.
Elle doit être fabriquée entièrement à partir de composants CMS.
Bien qu'aucune limite de taille n'ait été prononcée, elle doit bien évidemment resté dans un format suffisamment compact pour être embarquée.
Fonctions
La carte regroupant différentes fonctions, nous devrons gérer efficacement les différents étages d'alimentations, ainsi que faire attention à la consommation générale pour garantir une autonomie correcte. Nous utiliserons donc différents chipsets :
- Bien évidemment, un microcontrôleur Atmega 2560
- Deux modules FTDI :
- Un pour la connexion USB
- Un pour la connexion sans fil
Peut-être pourrons-nous utiliser un module sans-fil disposant d'une connexion I2C, SPI ou UART,
et ainsi nous dispenser de ce module supplémentaire
- Plusieurs régulateurs de tensions dont :
- Plusieurs régulateurs de 5V supportant 1A (ou plus) en sortie pour alimenter le microcontrôleur,
- un régulateur de tension 24V en sortie pour les moteurs,
- éventuellement un ou plusieurs régulateurs 3V3 pour les différents modules comme le FTDI, ou le module sans-fil
Ces derniers n'interviendront que si les modules nécessitent une alimentation plus faible
Dans ce cas, il peut être intéressant d'alimenter l'ensemble du système de contrôle à cette tension.
Ces régulateur devront accepter une grande plage de tensions,
idéalement allant de 10V à 30V, en cas d'utilisation sur une alimentation de laboratoire lors de tests.
Contraintes
Comme la carte peut se programmer via USB, une attention toute particulière doit être porter quant à l'alimentation de celle-ci.
En effet, il faut éviter toute surtension lors du branchement à l'ordinateur en désactivant l'alimentation de la batterie si jamais celle-ci est connectée.
De plus, les pistes doivent être bien dimensionnées afin d'éviter la surchauffe des pistes et, par conséquent, celle de la carte.
Ce matériel étant amené à piloter des puissances relativement importantes (jusqu'à 50W par moteur), il est également judicieux de faire attention à sa température et aux effets joules présents.
Également, il faudra faire attention aux tensions d'alimentations, aux courants et leurs sens, et les niveaux d'alimentations pour ne pas abimé ni la batterie ni la carte. Pour cela, un ensemble de diodes judicieusement choisies sera connecté à chacune des fonctions. Par exemple, des diodes zener en série sur la batterie pour s'assurer d'avoir une tension minimale et/ou ajouter également un circuit logique désactivant la carte si l'alimentation est trop basse.
Les E/S (entrées/sorties) doivent également être facilement accessibles. Ainsi, pour connecter les moteurs, j'ai décidé d'utiliser des borniers à vis, cela permettant de connecter et déconnecter à volonté et facilement les moteurs. Pour l'alimentation, il peut être judicieux d'adapter directement une connexion XT(30 par exemple) pour brancher directement dans un format standard des batteries lipo. Ce point pourra être revu avec Robotech et les encadrants. Pour le reste des E/S, des headers seront utilisés.
Analyse du projet
Positionnement par rapport à l'existant
Cette carte n'a en soit rien de nouveau. En effet il existe déjà des dizaines de cartes de ce type, par exemple à destination des imprimantes 3D, ou encore différents modules (shield) Arduino qu'il suffit alors d'empiler les uns sur les autres.
Pour l'analyse des concurrents, j'utiliserai donc ces deux exemples.
Cependant, l'avantage de posséder une telle carte propre à Polytech Lille est intéressant, la carte pourra :
- être améliorée au gré des besoins des différents étudiants et du club Robotech,
- fournir une base d'étude solide pour différents modules d'enseignements (microprocesseur, temps réel, systèmes, etc, conception de circuit électronique, parmi d'autres)
- être entièrement réalisable à l'école, offrant l'occasion d'améliorer ses compétences pratiques pour l'utilisation des machines spécifiques à ce type de projets tels que les fers à souder, les fours CMS et les appareils de gravure PCB.
- ainsi être répliquée "à l'infini"
Et c'est quand même plus fun et plus sympa de réaliser ce genre de carte de A à Z plutôt que de jouer aux lego ou de commander une carte entière qui ne sera pas forcément adaptée à tous nos besoins.
Analyse du premier concurrent
Analyse du second concurrent
- Carte basée sur un atmega 2560 à destination d'une imprimante 3D de type RAMPS
Cela pourrait être Tevo, comme Anet, ou pour citer un plus connu Ultimaker, il existe beaucoup de points communs entre la carte que je souhaite réaliser et ce type de matériel.
Tous deux disposent de contrôleurs moteurs, même s'il s'agit de moteurs pas à pas, d'une alimentation continue pouvant être importante et de plusieurs E/S possibles supplémentaires.
Bien que basée sur un système d'exploitation (nommé Marlin pour les différentes cartes opensource), rien n'empêche de programmer ces cartes manuellement.
Il existe deux grandes versions :
- Une carte Arduino Mega couplée à un shield RAMPS :
Ce shield se fixe sur l'arduino Mega, et il contient alors toutes les E/S découplées aux fonctions que proposent le RAMPS. Ce projet étant opensource, il est suffisamment documenté pour s'en servir à ses besoins. Il pourrait donc offrir une solution alternative en ajoutant un module d'alimentation pour gérer la batterie.
Le coût total de revient est de 110€ pour une solution officielle comprenant également les contrôleurs moteurs.
Plutôt cher pour une solution qui ne répond pas complètement à nos besoins, et qui est vraiment un "second" choix.
- Une carte basée sur un Atmega 2560 de type MKS :
Cette carte reprend les fonctionnalités du couple précédent, à la différence que celui-ci est intégré sur une seule carte.
Également opensource, le prix est souvent plus faible du fait de l'intégration de tous les composants, empêchant alors toute modification si jamais une fausse manipulation est opérée dessus.
A un tarif d'environ 40€, cette carte est plus accessible, mais comme la précédente ne répond pas tout à fait aux besoins du projet actuel.
Scénario d'usage du produit ou du concept envisagé
- Premier scénario
- Projet CREP
Le projet de Pierre et Thibault est de participer à la Coupe Robotique des Ecoles Primaires (CREP), et de montrer ce qu'il est possible de faire à "haut niveau" quand on souhaite s'amuser avec ce genre de projet.
Leur sujet repose sur la programmation d'un robot utilisant un microcontrôleur communiquant avec divers capteurs installés sur la piste.
Ce robot doit se rapprocher du fonctionnement d'un Lego MindStorm et se base sur le cahier des charges fourni par la CREP aux écoles primaires.
Ils choisissent d'utiliser une carte contenant donc plusieurs E/S et possédant également de quoi piloter deux moteurs à courant continu. Cette carte, alimentée par une batterie lipo 6S, s'adapte bien à leur problématique de conception et est programmable en C, un langage qu'ils maîtrisent.
Ébahis par les possibilités de ce robot et son apparente simplicité, les enfants décident alors tous de s'inscrire à Polytech Lille après leur bac et presque tous de poursuivre leur cursus en IMA. A chaque difficulté rencontrée, ils se rappelleront avec émotion la merveilleuse journée passée dans cette école qu'ils ont maintenant intégré et découvriront à leur tour avec plaisir les envers du métier d'ingénieur en Informatique, Micro-électronique et Automatique.
- Second scénario
- Projet Robotech
Ça y est, Juliette est décidée. Membre à part entière de Robotech, elle se lancer aujourd'hui dans la programmation d'un robot en vue de participer à une compétition. Mais Polytech Lille a un avantage par rapport aux autres écoles, elle possède une plateforme facile à intégrer et à programmer qui contient déjà tout ce dont elle aura besoin : une alimentation par batterie, une connexion sans-fil, deux contrôleurs moteurs et une multitude d'E/S faciles à utiliser car toutes connectées à des headers.
Elle n'a plus qu'à ajouter les différents capteurs qui lui manquent et éventuellement d'autres contrôleurs. Gagnant un précieux temps, car n'ayant plus besoin de s'inquiéter des contraintes d'intégration, elle peut s'attaquer tout de suite la programmation du robot tout en testant son code au fur à et mesure sur une platine de test documentée. Sa seule inquiétude est maintenant de finir à la première place de ce concours !
Réponse à la question difficile
Préparation du projet
Cahier des charges
Choix techniques : matériel et logiciel
Liste des tâches à effectuer
Calendrier prévisionnel
Réalisation du Projet
Feuille d'heures
Tâche | Prélude | Heures S1 | Heures S2 | Heures S3 | Heures S4 | Heures S5 | Heures S6 | Heures S7 | Heures S8 | Heures S9 | Heures S10 | Total |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Analyse du projet | 0 |