Aller au contenu


Photo
- - - - -

Programme REA : Rover d'Exploration Autonome


22 réponses à ce sujet

#1 sky99

sky99

    Habitué

  • Membres
  • PipPip
  • 271 messages
  • Gender:Male

Posté 07 juin 2014 - 07:00

Bonjour à tous!
Certains d'entre vous me connaissent peut être déjà, ou alors certains de mes projets, comme R.Cerda,pour lequel j'ai fait un tuto, ou encore mon projet de robot à haute autonomie.
J'ai construit divers robots "comme ça", sans planifier grand chose, pour apprendre. Aujourd'hui, je me dis que je pourrais progresser de façon plus structurée, plus scientifique, un peu comme un projet de recherche (c'est mon métier après tout :) )

Je démarre donc mon programme REA, pour Rover d'Exploration Autonome. Le but est de faire un rover capable de se déplacer seul dans un environnement donné de façon autonome. On pourra noter que ce que j'annonce
a déjà été réalisé dans une certaine mesure par divers de mes projets précédents. Cependant, je souhaite pour ce projet tout reprendre depuis le début, et mener les évolutions comme un projet de recherche classique
(en m'inspirant, sans bien sur prétendre approcher ce niveau, du programme MER --Mars Exploration Rover-- de la NASA).

J'aborde ce projet sous deux axes :
  • L'axe scientifique;
  • L'axe pédagogique.

Pour l'axe scientifique, soyons modeste, je ne vais probablement rien "inventer" de nouveau. Je l'aborde toutefois comme si c'était le cas, comme si j'étais une agence spatiale ou autre, ayant pour objectif de produire un rover autonome pour exploiter divers lieux (sauf que pour moi, ce sera le jardin, ou le toit ;) ). De mon point de vue, cette approche est plus amusante, et sera également plus distrayante pour les lecteurs.

L'axe pédagogique quand à lui existera du fait de ma volonté de tout documenter, pour pouvoir créer des guides, tutoriels, fiches, etc. J'ai en effet créé un club informatique/robotique à ma fac, et j'ai pu intégrer à mes enseignements en Licence 1 quelques séances de programmation de robots (les ZUMO, de pololu). Cette approche de la programmation a beaucoup intéressé les étudiants (étudiants en informatique, je précise. Ils n'ont donc pas de cours ou de connaissances en robotique. Les robots me servent de support pour l'apprentissage à la programmation), et certains s'intéressent aux robots. Je veux donc développer des ressources leur permettant de se lancer dans la partie "hardware" du robot, puisqu'ils n'auront vu que la programmation de ceux ci. D'autre part, je pense que quelques tutoriels complets et explicites sur la réalisation de robots pourront sans doute intéresser les novices, et puisque je suis amené à exploiter pas mal de matériel (j'ai un sacré stock de pièces, probablement de quoi faire entre 10 et 20 robots indépendants en même temps, et beaucoup de variantes), mes tests de tel ou tel équipement pourraient intéresser des personnes moins débutantes.


En bref, je vais donc m'atteler à cette tâche ces temps ci, de façon continue (c'est un projet au long cours), en prenant soin à chaque fois de mettre des explications claires et détaillées, et en justifiant tous mes choix.
Je partirai donc du principe que quelqu'un sans connaissance préalable dans le domaine pourra suivre le premier tutoriel, et qu'au pire, un tutoriel donné ne nécessitera que la lecture du/des précédents pour pouvoir suivre.
Donc le lecteur ne sera pas laissé avec des zones d'ombres, à devoir faire des recherches sur le net pour comprendre. Bien entendu, je ne pourrai pas tout détailler en profondeur, par exemple si on utilise du SPI ou de l'I2C, on verra comment s'en servir (quand on en aura besoin), mais pas forcément le détail précis du protocole. J'essaierai toutefois de mettre des liens pour ceux qui sont intéréssés par les détails (j'ai trouvé de très bons articles sur sparkfun expliquant ces protocoles par exemple).

Logiquement, les capacités et les performances des robots iront en s'améliorant, mais ceux ci deviendront de plus en plus complexes. Je m'attellerai toutefois à avoir une approche modulaire : on essaiera pour un problème une solution spécifique, dont on estimera la qualité, avant de l'exploiter ou non. Divers prototypes de robots ressortiront de tout ça, ce qui fait que selon ce que l'on recherche, il sera possible de s'orienter vers telle ou telle approche.

Je vais dans tous les cas significativement augmenter la qualité des articles/guides, qui jusqu'ici étaient un peu fouillis, afin d'être clair, concis, et d'avoir une structuration facilement compréhensible dans la progression. Les précédents tutoriels traduisaient simplement ce que j'étais parvenu à obtenir, sans plus. Ici, nous verrons pourquoi choisir telle ou telle solution, des alternatives, et nous progresserons dans le programme en résolvant les problématiques au fur et à mesure.

Dans l'immédiat, les premières étapes seront de s’intéresser à :
  • La propulsion du rover;
  • Les circuits de commande;
  • L'alimentation en énergie;
  • La gestion de capteurs;
  • la conception d'un châssis
  • La programmation d'algorithmes d'évitement d'obstacles.

Ces 6 premières étapes permettront de disposer d'une base simple, fonctionnelle, et extensible. On notera encore une fois que j'ai déjà traité en partie ces points dans d'autres tutoriels, mais le but sera ici d'aller au fond des choses, et d'être capable d'adapter totalement la base aux contraintes voulues (par exemple, je ferai de petits rovers, mais normalement, la méthodologie sera applicable pour un rover de 10kg, en ajustant les composants en conséquence). Ces problématiques me semblent de toutes façons constituer un noyau de fonctionnalités nécessaires à tout rover autonome.

Par la suite, je me pencherai sur des problématiques plus avancées, telles que la mesure du déplacement effectué, le positionnement, la cartographie de l'environnement, la gestion de l'énergie, la recharge automatique du rover, les communications sans fil, etc.

A bientôt donc, pour la première étape, sur la propulsion du rover!

Mon site principal : http://www.nagashur.com/ (format blog, un wiki y est aussi)

Mon profil sur hackaday.io : https://hackaday.io/sky99 (hackerspace en anglais, j'y ai plein de projets)

Mon Github : https://github.com/sarinkhan/


#2 Melmet

Melmet

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 1 519 messages
  • Gender:Male
  • Location:Saint-Sozy (46200)

Posté 07 juin 2014 - 09:38

Salut Sky99!
Que dire, WAAAOOOWWW !!!!
Jamais été decut par ton travail, je vais pas en louper une ligne. (si tu as besoin d'aide....) :telephone:/>

Ne demande jamais à un robot de faire ce que tu peux faire toi même. :nono: :laugh1:


#3 sky99

sky99

    Habitué

  • Membres
  • PipPip
  • 271 messages
  • Gender:Male

Posté 07 juin 2014 - 04:59

Salut Sky99!
Que dire, WAAAOOOWWW !!!!
Jamais été decut par ton travail, je vais pas en louper une ligne. (si tu as besoin d'aide....) :telephone:/>

Salut!
Merci des encouragements :)
Pour l'instant, au moins pour les 6 premières étapes, ça ira, car je dois surtout documenter correctement ces étapes.
En revanche, pour la suite, je suis ouvert aux collaborations :)

Du coup... je m'y mets ^^

Mon site principal : http://www.nagashur.com/ (format blog, un wiki y est aussi)

Mon profil sur hackaday.io : https://hackaday.io/sky99 (hackerspace en anglais, j'y ai plein de projets)

Mon Github : https://github.com/sarinkhan/


#4 sky99

sky99

    Habitué

  • Membres
  • PipPip
  • 271 messages
  • Gender:Male

Posté 07 juin 2014 - 06:32

Etape 1 : la propulsion

1.1 : Le mode de déplacement
Notre objectif est de pouvoir déplacer un rover dans un environnement inconnu et potentiellement hostile, de façon autonome. Pour en arriver à ce point, nous devrons tout d'abord nous intéresser aux méthodes de propulsion terrestre qui nous sont accessibles.
Sur ce point, nous pouvons envisager plusieurs solutions :
  • une propulsion à pattes;
  • un aéroglisseur;
  • un système à roues.

Étudions ces solutions en détail.

1.1.1 - La propulsion à pattes
Image IPB
Nous pourrions nous inspirer du vivant pour déplacer notre robot. De nombreux animaux parviennent en effet à se déplacer rapidement sur des terrains divers, parfois très complexes. Avec une propulsion de ce type, on peut envisager de franchir de nombreux obstacles. La direction s'appuiera sur un contrôle précis des mouvements et des séquences de "pas". Cependant, cette solution est relativement complexe à mettre en oeuvre, et peut être coûteuse.
Voyons rapidement les avantages et inconvénients de cette solution:
Avantages
  • +franchissement de trous;
  • +franchissement de reliefs;
  • +précision potentielle;
  • +possibilité d'utiliser les pattes pour interagir avec l'environnement;
  • +possibilité d'aborder des terrains très irréguliers;
  • +capacité de contrôle de l'assiette du robot (par exemple pour des photos ou de la vidéo).
Inconvénients

  • -difficultés potentielles en terrain meuble;
  • -complexité de réalisation (nécessite de nombreux composants);
  • -complexité de programmation (nombreux organes à gérer);
  • -nécessite de nombreux capteurs pour une précision optimale;
  • -coût important du fait des nombreux composants requis;
  • -plus de composants impliquent un plus grand risque de panne;
  • -consommation énergétique relativement importante;
  • -vitesse de déplacement relativement limitée.

Cette solution présente donc des avantages certains, mais n'est pas forcément adaptée à une première approche, notamment du fait de sa complexité générale et de son coût important. D'autre part, nous nous intéresserons plus tard à l'autonomie de notre robot, et dans ce contexte, nous devons chercher une solution permettant de parcourir des distances importantes pour une faible dépense énergétique.
Nous écartons donc cette solution pour le moment, mais elle n'est pas définitivement abandonnée. En effet, dans certains contextes, elle pourra fournir une très grande capacité de franchissement que nous pourrions souhaiter.

1.1.2 - Les aéroglisseurs
Image IPB
Illustration de MesserWolland, cc - Wikimedia commons

Le principe est ici de faire reposer le robot sur un coussin d'air afin de réduire les frottements. De ce fait, une force très légère suffit à déplacer l'ensemble. En pratique, des soufflantes de sustentation (3) génèrent un flux d'air important vers le sol. Ce flux d'air est contrôlé par une jupe (4) qui le retient partiellement sous le système. Si le flux d'air est suffisant, l'ensemble se soulève du sol. On peut alors utilisé un système d'hélices pour déplacer horizontalement notre hovercraft. Celui ci peut alors se déplacer sur n'importe quel type de surface à peu près plane, même de l'eau.
Pour tourner, un orientera la soufflante propulsive dans une direction ou une autre, ou alors on utilisera plusieurs soufflantes que l'on contrôlera individuellement pour jouer sur la trajectoire.
Étudions brièvement les avantages et inconvénients de cette solution:

Avantages
  • +Capacité de déplacement sur des sols meubles et sur l'eau;
  • +Vitesse potentiellement importante;
  • +Principe relativement simple;
  • +Programmation à priori simple.

Inconvénients
  • -Nécessité d'une jupe en matériau souple, qui va s'user;
  • -Puissance consommée par la/les soufflantes de sustentation;
  • -Difficulté d'un positionnement précis;
  • -Incapacité à franchir des obstacles plus hauts que la jupe.

Les deux principaux problèmes de cette solution sont en pratique la consommation énergétique importante pour la soufflante, et les capacités de franchissement d'obstacle. Pour notre rover, puisque nous ignorons le type d'obstacles à attendre ce point pose problème, et l'autonomie en sera un autre. Toutefois, cette solution restera probablement l'une des plus performantes en environnement meuble/humide/aquatique.

1.1.3 Propulsion par roues
Image IPB
cc - Tung1213 - Wikimedia Commons
Nous nous intéresserons maintenant à la roue, invention fondamentale. Le principe est de faire tourner nos roues pour propulser le robot. Cette solution particulièrement éprouvée a été testée dans de nombreux environnements, et est fiable, efficace et potentiellement peu coûteuse en énergie. Nous parlons ici de roues, mais nous englobons les systèmes basés sur des roues, même si elles ne sont pas forcément en contact direct avec le sol, comme pour les chenilles. Nous parlerons ici globalement des systèmes terrestres s'appuyant sur la rotation d'un dispositif plus ou moins circulaire pour se déplacer.

Penchons nous sur les points forts et faibles de l'utilisation des roues :
Avantages
  • +efficacité énergétique relativement bonne;
  • +vitesse relativement bonne;
  • +système éprouvé et fiable;
  • +capacité de franchissement potentiellement intéressante (dépend de la conception);
  • +grande simplicité de mise en oeuvre;
  • +simplicité de programmation;
  • +possibilité de contrôle précis.

Inconvénients
  • -capacité de franchissement limitée par les roues
  • -il y aura une déclivité maximale franchissable ( -> impossible de franchir des côtes trop importantes)
  • -sensible aux trous, dans une certaine mesure;

En pratique, cette solution est très intéressante pour un robot d'exploration, car elle permet une bonne efficacité énergétique, donc une bonne autonomie, une vitesse importante, et on peut adapter les capacités de franchissement. On restera en deçà des capacités atteignables avec les meilleurs robots marcheurs, mais toutefois dans une mesure raisonnable. De plus, on peut se déplacer plus vite et plus longtemps qu'avec un marcheur, on pourra donc se permettre de contourner des obstacles plutôt que de les franchir systématiquement. Enfin, cette approche est du fait se sa simplicité parfaite pour débuter.

Pour la direction, nous aurons deux approches. Soit nous utiliserons des roues directrices, à savoir capable de tourner par rapport à l'axe du véhicule, comme dans une voiture de tourisme, soit nous utiliserons un système de conduite différentielle, en faisant tourner les roues de droite et de gauche à des vitesses et dans des sens différents pour tourner. En pratique, cela à diverses conséquences.
Roues directrices
Avantages
  • +nécessite un seul moteur pour la propulsion;
  • +contrôle précis de la trajectoire simple;

Inconvénients
  • -nécessite un système spécifique pour contrôler l'orientation des roues directrices;
  • -entraîne que le robot a un rayon de braquage non nul, il ne peut tourner directement sur place;
  • -on peut être amené à faire des manœuvres en plusieurs temps, plus complexes;
  • -peu adaptable à un système de chenilles.

Conduite différentielle
Avantages
  • +pas besoin de système complexe pour la direction;
  • +programmation extrêmement simple;
  • +utilisation sur roues ou chenilles;
  • +rayon de braquage nul : le robot peut tourner sur place;
  • +ensemble potentiellement extrêmement simple, avec peu d'élements.

Inconvénients
  • -nécessite deux moteurs (gauche et droit - il faudra des paires si plus de 2 roues motrices).

1.1.4 - Conclusions sur la propulsion
Au vu des spécificités de chaque solution, nous nous tournerons donc vers un système de propulsion par roues, avec l'utilisation de conduite différentielle. Cette solution à l'avantage d'être extrêmement simple, adaptable, évolutive, efficace sur le plan énergétique, robuste, relativement rapide, et pour un coût et une complexité générale très faible. Nous pourrons sur cette base construite un robot simple, efficace et performant très rapidement, tout en conservant la possibilité d'ajuster les performances et la capacité du système assez facilement. Nous utiliserons utiliserons donc cette approche pour la suite de cette phase du projet REA.

Aux prochains épisodes, nous verrons les parties suivantes :
1.2 - La motorisation
1.3 - La transmission de la puissance

Mon site principal : http://www.nagashur.com/ (format blog, un wiki y est aussi)

Mon profil sur hackaday.io : https://hackaday.io/sky99 (hackerspace en anglais, j'y ai plein de projets)

Mon Github : https://github.com/sarinkhan/


#5 sky99

sky99

    Habitué

  • Membres
  • PipPip
  • 271 messages
  • Gender:Male

Posté 08 juin 2014 - 08:44

1.2 : La motorisation
Maintenant que nous avons opté pour un type de robot, avec un système à conduite différentielle, il est temps
de s’intéresser à la motorisation. L'objectif sera d'utiliser une source d'énergie quelconque pour générer un
mouvement de rotation pour entraîner les roues. Puisque nous avons choisi la conduite différentielle, il nous
faudra deux moteurs (ou N paires).

Deux principales solutions s'offrent à nous : les moteurs thermiques et les moteurs électriques.
Les moteurs thermiques ont l'avantage de pouvoir fournir une très grande autonomie pour peu de carburant.
En contrepartie, ils sont complexes, et surtout nécessitent du carburant. Le problème, c'est que dans un environnement inconnu, nous ne pourrons trouver facilement de carburant, à moins de brûler du bois...
En bref, c'est une solution intéressante, mais pas dans notre contexte. Il nous reste alors la solution des moteurs électriques, plus simples, robustes, mais avec une autonomie plus faible pour la même masse de "carburant" (un moteur thermique équivalent roulera plus longtemps avec 100g de carburant que le moteur électrique avec 100g de batteries. En revanche, il n'est pas si difficile de générer de l'électricité, à partir du soleil, du vent ou encore de la chaleur. On pourra alors recharger les batteries du rover, et tant que celles ci gardent un minimum de capacité, le rover pourra ainsi poursuivre sa mission. Les rovers de la nasa du projet MER ont ainsi fonctionné pendant plus de 10 ans, et l'un d'eux poursuit toujours sa mission, avec des batteries et des panneaux solaires.

Maintenant, les moteurs électriques peuvent fonctionner en courant alternatif (AC) ou en courant continu (DC). Nous utiliserons cette seconde solution, car c'est la plus simple quand on utilise des batteries, ce que nous ferons. Voyons maintenant les types de moteurs que nous pourrons exploiter:

  • les moteurs pas à pas;
  • les servomoteurs à rotation continue;
  • les moteurs DC avec moto-réducteur.

Penchons nous sur les détails de chaque solution.

1.2.1 : Les moteurs élecriques
Image IPB
cc Jjmontero9, Wikimedia commons

Les moteurs électriques s'appuient sur le fait que si on fait passer du courant dans une bobine électrique située dans un champ magnétique, une force appelée force de Laplace s'exercera, poussant la bobine dans un sens et l'aimant dans l'autre. On mettra alors plusieurs bobines, de façon à pouvoir alterner la partie du rotor alimentée. Ainsi, lorsque la bobine A sera alimentée, l'aimant et celle ci se repousseront. Si on alimente à ce moment la bobine B, diamétralement opposée, et plus la A, c'est la bobine B qui est repoussée de l'aimant dont elle est proche. La bobine A revient alors près de l'aimant, et on peut recommencer.

En réalité, les choses sont un peu plus compliquées du point de vue physique. La force exercée variera en fonction de la distance, et le nombre de bobines peut changer mais en pratique l'explication donnée plus haut est une approximation convenable qui permet de saisir le principe.

Lorsque l'on utilise du courant alternatif, la tension varie, et cela permet de synchroniser le mouvement du moteur avec le signal sinusoïdal (il existe d'autres types de moteurs AC, plus ou moins complexes, mais c'est l'idée générale). Pour des moteurs à courant continu, on utilisera deux principales solutions :


Les moteurs DC à balais (DC brushed motors)
Ici, des balais, frottent sur l'axe du rotor, et par une construction astucieuse font que certaines bobines sont alimentées sur une partie du diamètre de l'axe, et d'autres sur l'autre partie du diamètre, comme suit :
Image IPB
image wikimedia commons, copyleft.
Une infographie est disponible sur la page sur les moteurs DC de wikipedia en anglais.
Le problème avec ce type de moteurs, c'est qu'avec le frottement, il y aura de l’usure, et il faudra changer les balais.

Les moteurs DC sans balais (DC Brushless)
On trouvera également des moteurs DC sans balais (DC Brushless), qui prennent en entrée du courant continu, et génèrent du courant alternatif pour alimenter les bobines. Les avantages sont que sans les balais, il n'y a pas d'entretien, et donc une grande durée de vie et une grande fiabilité. En contrepartie, ceux ci sont plus chers que les moteurs à balais. Généralement pour de petits robots, la différence est minime!

Ces moteurs seront le cœur des trois types de moteurs que nous allons maintenant étudier, puisqu'ils en intègrent tous un, avec en plus des composants spécifiques permettant d'obtenir d'autres fonctionnalités.

1.2.2 : Les moteurs pas à pas (stepper motors)
Image IPB
cc Dolly1010 - Wikimedia Commons

Ces moteurs reprennent le principe du moteur DC classique, mais en laissant à l'utilisateur le soin d'alimenter telle ou telle bobine. Ces bobines sont d'ailleurs en nombre plus ou moins important, pour des raisons que nous verrons tout de suite. Le moteur pas à pas a été pensé pour permettre non pas des rotations à haute vitesse, mais des mouvements précis, correspondant à une fraction exacte du cercle. Par exemple, un moteur pas à pas sera conçu pour effectuer des "pas" de 2° d'angle, ce qui veut dire qu'il tournera de 2° si on alimente une phase du moteur. Si on alimente la phase suivante, il tournera encore de 2°. L'intérêt de ces moteurs est que l'on peut contrôler précisément leur rotation. Ainsi, si on veut faire tourner les roues de 20°, on exécutera une séquence précise d'actions. Sachant le diamètre de la roue, on peut donc précisément évaluer la distance parcourue, pourvu que les roues ne patinent pas.
La contrepartie est que ces moteurs pas à pas ont plus de fils pour contrôler les diverses phases, et de ce fait nécessitent davantage de broches sur l'électronique de commande pour les contrôler. D'autre part, ils ne sont pas particulièrement conçus pour des vitesses de rotation rapides, ni pour avoir le meilleur rendement ou le meilleur couple. On trouvera toutefois de nombreux moteurs pas à pas très performants pour le domaine d'application que nous visons, et ceux ci représentent une solution parfaitement viable et intéressante.

Avantages
  • +contrôle très précis de la rotation, sans besoin de capteurs supplémentaires;
  • +bon couple de tenue;
  • +permettent une parfaite synchronisation des multiples moteurs;
  • +gestion de la vitesse simple;
  • +permet un positionnement précis sans capteurs supplémentaires;

Inconvénients
  • -plus de fils, et besoin d'un peu plus de composants;
  • -un peu plus complexes à programmer;
  • -coût significativement plus élevé;
  • -peu adapté à de hautes vitesses de rotation;
  • -généralement assez encombrants, ou petits modèles assez chers;

En pratique, une bonne solution dans un contexte général, et une excellente solution dans certains contextes.

1.2.3 : Les servomoteurs à rotation continue
Image IPB
servomoteur classique - cc José Luis Gálvez (Digigalos) - Wikimedia commons
Un servomoteur est un moteur que l'on peut commander de façon à le faire tourner à un angle précis. Ceux ci peuvent généralement tourner de 90° à gauche et 90° à droite. Vous pourrez donc ordonner au servomoteur de se tourner a +32°, ou à -81°. Le principe est d'avoir un moteur DC avec un potentiomètre couplé à l'axe de sortie du servomoteur. Ainsi, lorsque le moteur tourne, le potentiomètre tourne également. On peut ainsi connaitre la position du servomoteur. Ceux ci intègrent un circuit de commande qui, lorsqu'il reçoit une instruction, fait tourner le moteur dans le bon sens jusqu'à ce que la position voulue soit atteinte. En pratique, pour cela, on envoie des signaux "PWM" spécifiques, qui seront compris par l'électronique de commande et traduits en rotation adéquate.
Ces moteurs peuvent cependant être modifiés de façon à permettre une rotation continue plutôt que bornée entre divers angles. Ainsi, on utilisera les commandes PWM pour gérer la vitesse des servomoteurs plutôt que leur orientation.

Avantages
  • +très facile à programmer avec les bonnes librairies;
  • +ne nécessite aucun composant supplémentaire;
  • +permettent un certain contrôle de la vitesse de rotation et donc de la vitesse;
  • +selon la qualité du servomoteur, on peut obtenir une capacité de positionnement correcte;
  • +existe en de nombreuses tailles, qualités et puissances.

Inconvénients
  • -plus de fils, et besoin d'un peu plus de composants;
  • -coût un peu plus élevé qu'un moteur DC simple;
  • -peu adapté à de hautes vitesses de rotation;
  • -généralement assez encombrants, mais de très petites versions existent à prix abordable;
  • -axe de sortie spécifique, nécessite généralement un adaptateur pour fixer une roue standard;
  • -nécessitent une modification (de complexité abordable toutefois), ou alors un moteur pré-modifié.

En pratique, avec les bonnes librairies, cette solution permettra le robot le plus simple, puisqu'il suffira de connecter l'alimentation, et un fil par servomoteur au circuit de commande, sans puce supplémentaire ou autre composants. Avec des servomoteurs et des roues adaptés, on peut donc assembler
et programmer un déplacement de base en quelques minutes. La précision du positionnement sera cependant généralement moins bonne qu'avec un moteur pas à pas,
et on aura des performances souvent à déterminer pour le modèle retenu (les fabricants donnent rarement la vitesse de rotation obtenue pour diverses commandes PWM). La vitesse de rotation maximale est en outre souvent assez faible en comparaison des deux autres solutions.

En pratique, c'est une solution très simple, et adaptée dans certains cas. On fera face toutefois à certaines limitations dans notre contexte qui font qu'on retiendra surtout cette solution si l'on recherche la plus grande simplicité.

1.2.4 : Les moteurs DC avec boite de vitesse réductrice
Image IPB
cc Cwoo4792 - Wikimedia commons
Généralement, les petits moteurs DC que nous utilisons tournent à plusieurs milliers de tours par minute. De telles vitesses sont plus intéressantes dans d'autres contextes, mais ici posent problème. En effet, ceux ci ont généralement une grande vitesse angulaire, mais un couple faible. Ils peuvent donc tourner rapidement "à vide", mais auront du mal à faire tourner les roues du robot une fois que le poids de celui ci s'exercera dessus. Une solution est d'utiliser des engrenages pour réduire la vitesse de rotation de l'axe de sortie, et augmenter d'autant le couple. On appelle cela une boite de vitesse avec un rapport réducteur. Si l'on réduit la vitesse de rotation de moitié, le couple est théoriquement doublé. En pratique, il y aura bien quelques pertes dues aux frictions, mais on aura tout de même un gain conséquent. Dans le contexte d'un petit rover, on utilisera généralement des moteurs ayant des rapports réducteurs qui entraînent une vitesse de rotation de l'axe de sortie inférieure à 500 tours par minute. On choisira les moteurs en fonction de ce que l'on souhaite : la vitesse maximale, le couple (et donc la capacité à déplacer des charges importantes), ou un compromis entre les deux. Pour un même moteur, plus le taux de réduction sera important, et plus la vitesse sera faible, mais le couple élevé. Réciproquement, moins l'on réduit la vitesse de l'axe, et plus la vitesse sera importante au détriment d'un couple plus faible.

Avantages
  • +très facile à programmer;
  • +immense variété de modèles;
  • +disponibles en d'innombrables tailles, puissances, etc;
  • +bonnes performances en vitesse ou couple, ou compromis au choix;
  • +souvent facilement adaptables à diverses roues;
  • +coût normal.

Inconvénients
  • -contrôle de la vitesse de rotation peu précis sans capteurs supplémentaires;
  • -ne permet pas de savoir de combien à tourné le moteur ou la roue;
  • -synchronisation parfaite impossible sans capteurs;
  • -nécessitent quelques composants pour les contrôler (relativement simples toutefois).

En pratique, c'est donc une très bonne solution pour un rover simple et efficace. Le problème sera connaitre précisément le mouvement du moteurs ou des roues. Cela nécessitera obligatoirement l'ajout de capteurs supplémentaires. D'autre part, deux moteurs du même modèle peuvent présenter une légère différence, ce qui fait que par défaut l'un tournera plus vite que l'autre. Il sera donc nécessaire de prendre des mesures pour s'assurer d'une synchronisation acceptable des moteurs, ou avoir des capteurs de rotation du moteur pour pouvoir synchroniser les moteurs.

1.2.5 : Conclusions
Les trois solutions sont intéressantes pour notre programme. Toutefois, on retiendra tout d'abord les moteurs DC avec boite de vitesse réductrice du fait de leur simplicité, fiabilité, performances, et de la grande variété de modèles disponibles. On contournera les problèmes de synchronisation des moteurs et de gestion fine de la vitesse de rotation par des algorithmes plus évolués, et/ou par l'ajout de capteurs spécifiques. Il conviendra cependant de comparer la solution "moteur avec boite réductrice + capteurs" à la solution des moteurs pas à pas.

En effet, ceux ci peuvent s'avérer particulièrement intéressants, et nous développerons probablement des modèles exploitant cette technologie.

Enfin, nous ne nous intéresserons aux servomoteurs à rotation continue que ponctuellement, à moins de découvrir des modèles particuliers ayant des capacités spécifiques.

La prochaine fois, nous nous intéresserons à la partie suivante :
1.3 - La transmission de la puissance
A bientôt!

Modifié par sky99, 10 juin 2014 - 08:02 .

Mon site principal : http://www.nagashur.com/ (format blog, un wiki y est aussi)

Mon profil sur hackaday.io : https://hackaday.io/sky99 (hackerspace en anglais, j'y ai plein de projets)

Mon Github : https://github.com/sarinkhan/


#6 sky99

sky99

    Habitué

  • Membres
  • PipPip
  • 271 messages
  • Gender:Male

Posté 09 juin 2014 - 01:47

1.3 - La transmission de la puissance
Maintenant que nous avons des moteurs, il nous faut un moyen de transformer le mouvement de rotation de l'axe moteur en un mouvement linéaire du robot. On s'appuiera ici sur des roues, utilisées dans plusieurs configurations :
  • deux roues motrices et une roue libre omnidirectionnelle;
  • quatre roues motrices (ou N paires de roues motrices);
  • deux roues entraînant des chenilles.

Voyons en détail ces solutions.

1.3.1 - Deux roues motrices et une roue libre omnidirectionnelle
Image IPB
cc Jiuguang Wang, Wikimedia commons
Si nous avons deux roues, motrices, alors il nous faut un troisième point de contact avec le sol pour que le robot reste en équilibre. Il existe des robots capables de se contenter de deux roues, en s'équilibrant automatiquement, mais cette approche est plus complexe, et posera d'autres problèmes, sans forcément apporter grand chose à notre rover. Nous devons donc trouver un moyen d'avoir un troisième point de contact qui génère aussi peu de frottement que possible. Pour cela, nous utiliserons une roue omnidirectionnelle. Il s'agit d'une roue capable de rouler dans tous les sens sur sur le plan. Pour cela, il y a deux approches :
  • les billes ou "ballcaster";
  • les roues sur un pivot.

Image IPB
ballcaster en plastique, cc Bomazi, wikimedia commons.
La bille, ou ballcaster est une bille métallique ou en plastique enfermée dans une base ajourée dans sa partie basse. La bille ne peut s'échapper de cette base, mais est libre de tourner dans tous les sens. On fixe alors l'ensemble sur le châssis du robot, et on obtient notre troisième point de contact. Cette solution est peu coûteuse, facile à mettre en oeuvre, et on trouvera une grande variété de ballcasters. En contrepartie, on aura davantage de frottement qu'avec une roue classique, et une hauteur de franchissement d'obstacle plus faible, à moins de trouver un ballcaster de très grande taille, ce qui est plus rare.

La roue sur pivot est une roue classique, fixée sur un support rotatif, qui fait que celle ci peut tourner normalement comme une roue classique, mais également de gauche à droite facilement. On s'en servira de façon totalement passive : les roues motrices feront tourner le robot dans un sens, et la roue libre s'alignera avec le sens de déplacement du robot. On peut toutefois concevoir d'utiliser ce système avec un servomoteur pour tourner cette roue libre, et ainsi avoir une direction par ce biais plutôt que par les roues motrices. C'est une solution plutôt performante, avec peu de frottements. Cependant, il est difficile de trouver de petites roues de ce genre, en dessous d'une certaine taille, on ne trouvera que des ballcasters.

Dans les deux cas, cette solution limite la capacité de franchissement d'obstacle du rover en fonction de la taille de cette roue omnidirectionnelle. Plus elle est petite, plus on sera arrêtés par de petits obstacles. Pour un sol relativement lisse, c'est donc une bonne solution, en milieu accidenté, on sera en revanche plus limités.

1.3.2 - Quatre roues motrices
Image IPB
image NASA

Pour cette approche, nous aurons 4 roues motrices, donc chacune avec un moteur. Cette solution fournira un couple plus important, en contrepartie d'une consommation supérieure. On aura également une bonne capacité de franchissement, avec potentiellement la possibilité de franchir des obstacles plus grands que les roues, si la garde au sol est assez importante. On réduit le risque d'être embourbé, ensablé, ou bloqué à cause d'une roue dans le vide. Les points négatifs sont qu'il faut 4 moteurs, qui consommeront davantage (en théorie!), et qu'il faudra synchroniser les moteurs pour des performances optimales. Petit point sur la consommation toutefois. Si l'on prend un robot d'une masse donnée équipé de deux moteurs. Les moteurs devront chacun fournir un couple de X g/cm pour faire avancer le robot. Pour toutes autres choses égales par ailleurs, si l'on passe à 4 roues motrices, chaque moteur devra fournir X/2 g/cm de couple pour faire avancer le robot de façon identique. De ce fait on a plus de moteurs, mais chacun sera moins sollicité, donc consommera moins. En pratique, on aura des pertes, donc il est difficile de donner une règle générale. On peut cependant s'attendre à ce qu'à priori, 4 moteurs consomment un peu plus que 2 sur un robot , mais pas forcément le double, à moins que tous les moteurs ne soient poussés au maximum de leurs capacités.

Il est à noter qu'on peut utiliser 6, 8 ou 2N roues motrices si on le souhaite. Tous les rovers envoyés sur Mars par la NASA comportent 6 roues (sojourner, spirit et oportunity, et curiosity)
Image IPB.

Le premier robot de l'histoire de l'humanité à se déplacer à la surface d'un autre corps céleste fut le rover Lunakhod, ou le marcheur lunaire, en 1970, ouvrant la voie à l'exploration spatiale robotique. Des chercheurs de l'equipe de Sergueï Korolev, au coeur du programme spatial russe, furent par la suite (après le changement de régime russe en 1989) contactés et recrutés pour le développement du programme de rovers de la NASA. Ces technologies sont donc bien plus anciennes que ce que l'on imagine!
Les Lunakhod avaient quand à eux 8 roues :
Image IPB


1.3.3 - Deux roues entraînant une chenille
Image IPB
Robot GROVER, en Islande - image NASA

Une autre solution est d'utiliser des chenilles. Celles ci possèdent en effet de nombreux avantages, avec par exemple une très grande surface de contact avec le sol. Il en découle une excellente adhérence, et une faible pression par unité de surface sur le sol. Cette technologie réduit donc le risque d'enlisement ou d'ensablement. Du fait de son excellente adhérence, elle permet en outre d'aborder des pentes importantes, pourvu que les moteurs fournissent la puissance nécessaire. Enfin, cette solution permet un franchissement d'obstacle excellent, pouvant dépasser la hauteur de l'engin. En effet, si les chenilles dépassent de l'avant du rover, elles pourront agripper l'obstacle, et l'avant se soulèvera pour le franchir. Si les chenilles sont aussi longues que le rover, il n'y aura pas de "zone morte" au milieu. On ne pourra donc pas se retrouver bloqué sur un obstacle entre deux jeux de roues. En revanche, la chenille sera aussi solide que le plus faible de ses maillons. Si la chenille casse, alors il y a peu de chances que le rover puisse se déplacer. Pour de longues missions, il conviendra de choisir des chenilles solides. La seconde contrepartie, c'est que les chenilles génèrent plus de résistance au mouvement, et donc une consommation énergétique supérieure. Selon leur taille et leur qualité, on trouvera diverses gammes de prix pour ces chenilles.
Malgré ces petits inconvénients, les chenilles restent une solution très intéressante, et simple à mettre en oeuvre.
Il est à noter que l'on peut très bien utiliser 4 roues motrices entraînant les chenilles, pourvu qu'on synchronise les roues de chaque chenille. C'est en effet un bon moyen d'augmenter le couple disponible, et ainsi la capacité de franchissement du rover. Du fait de la très grande surface de contact entre le sol et la chenille, ce système bénéficiera d'autant plus efficacement de la puissance apportée par des paires de moteurs supplémentaires.

1.3.4 - Conclusions sur la transmission de la puissance
Dans le contexte d'un rover devant affronter un terrain accidenté, la solution la moins à même de franchir les obstacles sera celle des deux roues motrices avec une roue omnidirectionnelle. Toutefois, puisque la gestion des moteurs et l'algorithme de conduite seront identique à celui des deux roues entraînant des chenilles, et très proches de la version 4 roues motrices (ou plus), nous pourrons utiliser ce système pour des prototypes, ou pour des missions en terrain relativement lisse. On pourra toutefois utiliser deux roues libres non omnidirectionnelles à la place d'une roue omnidirectionnelle, et cela nous permettra une meilleure capacité de franchissement, et une meilleure stabilité, au prix d'un peu plus de frottement, et donc d'une efficacité energétique plus faible. Cette configuration peut en outre facilement être convertie en une configuration à chenilles, et vice-versa.

Les autres solutions sont toutes deux très intéressantes, la solution des 2N roues motrices étant plus coûteuse en moteurs et en énergie (potentiellement), mais très efficace. Sur un terrain très accidenté ou difficile, la solution la plus efficace sera celle des chenilles. Sur un terrain moins difficile, les 2N roues motrices peuvent fournir une meilleure efficacité énergétique, une vitesse de pointe plus élevée, tout en conservant une bonne capacité de franchissement, mais pour un coût plus élevés, non seulement pour les moteurs, mais aussi pour les capteurs nécessaires pour chaque moteur.

Dans le contexte d'un petit rover, afin de maintenir des coûts acceptables, et une bonne versatilité de l'ensemble, le système final embarquera probablement des chenilles entraînées par deux moteurs.

Maintenant que nous avons déterminé l'architecture globale du système de propulsion du rover, il nous faut nous intéresser à la source d'énergie de celui ci. Nous verrons cela la prochaine fois!

Mon site principal : http://www.nagashur.com/ (format blog, un wiki y est aussi)

Mon profil sur hackaday.io : https://hackaday.io/sky99 (hackerspace en anglais, j'y ai plein de projets)

Mon Github : https://github.com/sarinkhan/


#7 Lehrse

Lehrse

    Membre

  • Membres
  • 55 messages
  • Gender:Male
  • Location:Belgium
  • Interests:Robotique, électronique, informatique, lire, ...

Posté 09 juin 2014 - 09:18

Une petite question (peut être bète): les moteurs électriques ne tournent-ils pas grâce à la force de Laplace ?

Sinon vraiment sympa comme démarche.
Les robots gouvernent le monde

#8 sky99

sky99

    Habitué

  • Membres
  • PipPip
  • 271 messages
  • Gender:Male

Posté 09 juin 2014 - 09:07

Une petite question (peut être bète): les moteurs électriques ne tournent-ils pas grâce à la force de Laplace?
Sinon vraiment sympa comme démarche.

Effectivement, c'est le cas. J'ai souhaité ne pas trop rentrer dans les détails sur les concepts physiques, et du coup, peut être ai-je sur-simplifié, et j'aurais au moins du mentionner cette force, pour être complet. Je vais éditer en conséquence!
Merci de la remarque!


Edit : voila, j'ai modifié en conséquences. Merci de ton intervention, car à vouloir trop simplifié, j'ai fini par être imprécis, et même raconter des bêtises. J'ai donc refait le paragraphe, et il est même plus court.

PS : désolé si j'ai mis du temps, mais j'ai un peu le chikungunia, et par moment j'ai un peu mal à la tête!
Du coup, la suite demain, aujourd'hui j'ai pas pu faire grand chose ^^

Modifié par sky99, 10 juin 2014 - 08:05 .

Mon site principal : http://www.nagashur.com/ (format blog, un wiki y est aussi)

Mon profil sur hackaday.io : https://hackaday.io/sky99 (hackerspace en anglais, j'y ai plein de projets)

Mon Github : https://github.com/sarinkhan/


#9 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 9 934 messages
  • Gender:Male
  • Location:Anglet
  • Interests:Robotique, Entrepreneuriat, Innovation, Programmation, Résolution de problème, Recherche de solutions, Mécanique, Electronique, Créer, Concevoir

Posté 12 juin 2014 - 02:50

Un grand bravo pour tout le travail que tu fournis ! =)
Moi aussi je vais te dire la même chose que melmet : Je ne raterais pas une seule miette et si je peux te donner un coup de main pour quoi que ce soit tu hésites pas ;)
Bon courage pour la suite ! =)

Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 


#10 transistance

transistance

    Membre passionné

  • Membres
  • PipPipPip
  • 411 messages

Posté 12 juin 2014 - 11:28

Bonjour,
Chouette initiative!

Toutefois, deux choses me tracasse:

Le premier robot de l'histoire de l'humanité à se déplacer à la surface d'un autre corps céleste fut le rover Lunakhod

C'est pas plutôt LunOkhod ?

Pourquoi ne pas avoir mis ce tutoriel dans la partie tutoriels de robot-maker ?

N'oubliez jamais que "Ban Ki-moon n'attrape pas mousse"


#11 sky99

sky99

    Habitué

  • Membres
  • PipPip
  • 271 messages
  • Gender:Male

Posté 13 juin 2014 - 10:21

Un grand bravo pour tout le travail que tu fournis ! =)
Moi aussi je vais te dire la même chose que melmet : Je ne raterais pas une seule miette et si je peux te donner un coup de main pour quoi que ce soit tu hésites pas ;)/>
Bon courage pour la suite ! =)

Salut :)
Merci pour les encouragements!

Bonjour,
Chouette initiative!
Toutefois, deux choses me tracasse:
C'est pas plutôt LunOkhod ?
Pourquoi ne pas avoir mis ce tutoriel dans la partie tutoriels de robot-maker ?

Sur l’orthographe, ce n'est pas clair, sur wikipedia, je vois lunokhod, mais sur le site du CNES, je lis lunakhod... Vu que les russes ont aussi lancé la mission luna, il me paraîtrait logique que la racine reste la même, mais ici je me lance dans des considérations en linguistique sur une langue que je ne maîtrise pas ^^

Pour ce qui est des tutoriels, c'est prévu, quand il y aura assez de matière, je ferai un tutoriel.
Mais le sujet a aussi vocation à être une sorte de carnet de route, ou on présentera un problème, et réfléchira à des solutions. Pour les premières étapes, ça a tout de suite une tête de tutoriel, vu que ce sont plus ou moins les bases, et qu'il n'y a plus tellement de questions à se poser là dessus. En revanche, pour la suite, il y a de nombreuses questions qui sont pour moi ouvertes, et donc j'expérimenterai des choses. Un exemple concret : la mesure du déplacement effectué, ou j'ai plein de solutions à tester et comparer.

Enfin pour l'instant, il faut que je finisse cet axe théorique, et j'en ferai un premier tutoriel. Donc il manque encore la partie alimentation électrique, châssis et circuits de commande.

Et là je pourrai regrouper le tout dans un premier tutoriel dans la section idoine!


Sinon, je vais bientôt reprendre, le chikungunia m'a un peu terrassé, mais je reviens en forme, presque plus de douleurs articulaires ou migraines!
Donc je vous dis à bientôt :)

Mon site principal : http://www.nagashur.com/ (format blog, un wiki y est aussi)

Mon profil sur hackaday.io : https://hackaday.io/sky99 (hackerspace en anglais, j'y ai plein de projets)

Mon Github : https://github.com/sarinkhan/


#12 sky99

sky99

    Habitué

  • Membres
  • PipPip
  • 271 messages
  • Gender:Male

Posté 25 juin 2014 - 09:54

1.4 - Energie et alimentation électrique
Afin de pouvoir se déplacer en autonomie, le système doit disposer d'une source et/ou d'une réserve d'énergie.
Puisque nous avons sélectionné une motorisation électrique (DC), il nous faudra donc un système capable de fournir
un courant électrique continu.

Nous pourrons procéder de deux façons :
  • produire l'énergie sur place et s'en servir tout de suite;
  • stocker de l'énergie produite ailleurs et s'en servir quand on veut.

La première solution implique de pouvoir capter de l'énergie dans l'environnement, en continu, et
de la convertir en énergie électrique. Bien souvent, les systèmes capables de générer de l'énergie
électrique sont encombrants et lourds. Si l'on souhaite produire l'énergie du robot sur place, il
faudra donc optimiser la consommation électrique ainsi que la masse de l'ensemble. Quoi qu'il en soit,
la plupart des générateurs électriques fourniront une alimentation variable en fonction des conditions.
Il faudra donc de toutes façons un moyen de stocker l'énergie pour la restituer quand nécessaire.
Nous reviendrons ultérieurement sur les systèmes de production d'énergie.

Cela nous amène donc à la seconde solution : stocker une quantité quelconque d'énergie, pour s'en servir
quand et où ce sera nécessaire. Pour ceci, deux solutions évidentes :
  • utiliser des piles à usage unique, à changer régulièrement;
  • utiliser des batteries rechargeables.

Les piles à usage unique présentent pour certaines une bonne capacité énergétique, mais à moins de faire un système à consommation
extrêmement faible, cela impliquera des changements réguliers de piles. Ce n'est pas très écologique, économique, ni pratique.
On passera donc rapidement sur cette solution pour nous intéresser aux batteries rechargeables. En effet, pour un coût initial
un peu plus élevé, on peut disposer d'une bonne capacité de stockage d'énergie, et la capacité de recharger les batteries un
nombre important de fois (généralement entre 300 et 1000 fois), directement sur place ou dans un chargeur.

Nous nous intéresserons pour le moment à trois technologies:
  • les batteries au plomb;
  • les piles rechargeables NIMH;
  • les batteries lithium ion ou lithium polymère.

1.4.1 - Caractéristiques des batteries
Avant d'étudier les spécificités de chaque solution, voyons tout d'abord les caractéristiques générales des batteries.
Les batteries fournissant du courant électrique, il y aura deux caractéristiques principales à prendre en compte.

1.4.1.1 - La tension
La tension mesure la différence de potentiel électrique entre les deux bornes de la batterie, et se mesure en volts (symbole V).
Dans notre contexte, on cherchera à avoir des batteries fournissant une tension proche de la tension requise par les composants
du robot. En effet, pour obtenir une tension parfaite, nous utiliserons des régulateurs de tension, mais ceux ci sont d'autant
moins efficaces que la différence entre la tension d'entrée et la tension de sortie sera importante. Ainsi, pour optimiser
l'autonomie, il sera souhaitable d'être proches de la tension souhaitée.
Les batteries sont censées fournir une certaine tension, la tension nominale. Ainsi une batterie 2V est censée fournir 2 volts.
En pratique, c'est un petit peu plus compliqué : la tension de la batterie variera en fonction de son état de charge. Par exemple,
une batterie de 2V complètement chargée fournira 2.1V, et 1.8V lorsqu'elle sera complètement déchargée. Il faudra donc concevoir
le système de façon à ce qu'il soit capable de gérer les extrêmes, à savoir la tension minimale et la tension maximale.

D'autre part, ces paramètres varieront dans le temps, selon l'usure de la batterie. Ainsi, la tension maximale deviendra de plus
en plus faible, et la tension minimale peut aussi baisser. Au bout d'un certain temps, la tension maximale sera très faible, et la
batterie stockera pratiquement plus d'énergie. Si en chargeant la batterie celle ci atteint une tension maximale trop faible, il
est sans doute temps de la changer.

1.4.1.2 - L'intensité
Le second paramètre primordial d'une batterie est l'intensité qu'elle peut fournir. L'intensité indique la quantité de courant
qui peut circuler entre les bornes de la batterie. Plus l'intensité sera forte pour une tension donnée, plus on pourra alimenter
des systèmes puissants. L'intensité s'exprime en Ampères (symbole A).
Ici, les choses sont un peu plus complexes que pour la tension, puisque généralement, ce paramètre n'est pas clairement donné.
En effet, pour les batteries on donne plutôt une capacité en mAh ou Ah, soit milliAmpères-heures (ou Ampères-heures). En pratique, c'est plutôt une mesure
de la capacité énergétique de la batterie, mais nous reviendrons sur ce point plus tard.
On peut toutefois déduire de cette capacité la quantité de courant maximale disponible.
Pour une batterie de X Ah, on considérera généralement que la batterie peut fournir jusqu'à X ampères. Dans l'absence d'indications contraires, il faut
donc éviter d'utiliser plus de courant que cette valeur. Pour certaines batteries, souvent de meilleure qualité, le fabriquant indique un paramètre C
qui permet de calculer l'intensité maximale exploitable. Pour une batterie de X Ah, on pourra ainsi utiliser jusqu'à C*X ampères à un instant donné.
Par exemple, avec une batterie de 2Ah, et donnée pour 3C, on pourra utiliser jusqu'à 3*2A=6A de courant. Il faut donc veiller à ne pas dépasser cette valeur.
Si ce paramètre n'est pas indiqué, on considère que la batterie est de 1C.

1.4.1.3 - La quantité d'énergie stockée
L'intensité électrique en ampères permet donc de connaitre la quantité maximale de courant qui peut être utilisée à un moment donné. Mais comment savoir combien de temps
durera la batterie? Pour cela, on utilisera les indications du constructeur, avec la capacité en ampères-heures.
Si notre système est alimenté par une batterie de X ampères-heures, et consomme Y ampères, alors il pourra fonctionner pendant X/Y heures. Par exemple, une batterie de 2Ah
pourra alimenter un circuit consommant 2A pendant 2/2=1 heure. La même batterie alimentera un circuit consommant 0.2A (200 mA) pendant 2/0.2=10 heures.
Ce paramètre permet donc d’estimer la durée de fonctionnement de notre système. Généralement ce système électrique aura une consommation minimale et une consommation maximale.
Si on fait le calcul avec ces deux valeurs, on obtient alors la durée maximale et la durée minimale de fonctionnement.

Cependant, cet indicateur seul ne nous permet pas de calculer la puissance électrique stockée dans la batterie. En effet, il faudra pour cela prendre en compte la tension fournie
par la batterie. La puissance électrique d'un système se calcule en Watts (W), et se calcule en multipliant la tension électrique par l'intensité : P=U*I, avec P étant
la puissance en watts, U la tension en volts, et I l'intensité en ampères. Cela est important, car on peut ainsi comparer deux batteries ayant des tensions différentes.

Si l'on a une batterie de 4V, pour 2Ah, elle peut stocker 4*2=8Wh. Cela signifie qu'elle pourra fournir 8W pendant 1 heure.
Une batterie de 2Ah, mais en 2V, fournira cette fois 2*2=4Wh. On constate donc que la capacité en ampères-heures ne suffit pas, puisque dans notre exemple, pour une
même capacité en ampères-heures, l'une des batterie stocke deux fois plus d'énergie que l'autre.

On pourra donc comparer deux batteries en faisant ce calcul pour voir laquelle donnera la plus grande autonomie au système. Il convient toutefois de bien prendre en compte
le fait qu'un convertisseur de tension causera toujours quelques pertes, et qu'on sera ainsi en dessous de la capacité théorique calculée si l'on doit convertir la tension.
Notre batterie de 4V fournissant 2Ah pourrait ainsi en théorie alimenter un circuit consommant 1A en 2V pendant 4h, mais on doit s'attendre à un peu moins du fait de l'efficacité
du convertisseur. Un bon convertisseur fournira par exemple une efficacité de 90%, et on obtiendra en théorie 3h36 d'autonomie dans ce cas au lieu de 4h.

1.4.1.4 - Le taux d'auto-décharge
La plupart des batteries, rechargeables ou non, se déchargent très lentement même si elles ne sont pas utilisées. Ainsi, même si le système
est en hibernation, les batteries se videront très lentement. Ce taux se mesure en pourcentage de la capacité totale perdue par mois. Pour un système ayant une autonomie de quelques heures, cela n'aura donc probablement pas d'importance. En revanche, pour un système devant fonctionner des mois, il faudra prendre en compte ce paramètre. Ainsi, un robot peut se mettre en veille pour ne presque rien consommer, mais son autonomie ne sera pas pour autant infinie.
Le taux d'auto-décharge varie en fonction des types de batteries, et également des modèles pour un même type. Mais d'un point de vue général, voici une indication de ce taux par type de batterie :

  • NiCD : 15-20% par mois
  • NiMH : 25-30% par mois
  • Lithium-Ion : 2-5% par mois
  • plomb : 4-6% par mois


Passons maintenant aux spécificités de chaque type de batterie
1.4.2 - Les batteries au plomb
Image IPB
Les batteries au plomb sont basées sur une technologie très ancienne (1859). Pour une capacité
énergétique donnée, ce sont les plus lourdes, ce qui est logique vu que c'est la plus ancienne technologie de batteries rechargeables utilisée à l'heure actuelle.
Ces batteries permettent de fournir 20 à 40Wh par kilogramme de batterie, ou 40 à 100Wh par litre.
Elles ont une bonne durée de vie, et sont particulièrement résistantes. Elles sont en outre capables
de fournir un courant important, et acceptent plus facilement de mauvais traitements que d'autres technologies. Ce sont généralement les modèles les moins chers. Une bonne technologie si le poids ne compte pas, si le coût est important ou si la batterie risque de subir des traitements rudes. En pratique, pour de petits robots, ce n'est pas une solution très adaptée, car on trouve difficilement des batteries au plomb en dessous d'une certaine taille, et leur faible densité énergétique jouera sur l'autonomie. En effet, pour une masse donnée, on aura moins d'énergie, et pour une quantité d'énergie donnée, une masse supérieure, donc un robot se déplaçant plus difficilement, consommant ainsi plus de courant.
En revanche, pour un robot de taille moyenne (quelques kilogrammes ou dizaines de kilogrammes), c'est une solution intéressante car très économique : une batterie de scooter ou de voiture pourra alimenter le système pour un coût mesuré.

1.4.3 - Les batteries NiMH ou NiCD
Image IPB
Une autre technologie est celle des batteries au Nickel. On en trouve principalement deux sortes : les Nickel-Cadmium (NiCD), de plus en plus rares, et les Nickel-metal hydride (NiMH), qui représentent la grande majorité des piles rechargeables AAA et AA du marché. La technologie NiMH remplace la technologie NiCD moins efficace, et hors raison spécifique, on a plutôt intérêt à prendre du NiMH.

D'autres technologies existent, et fournissent de meilleures performances, mais elles sont encore rares et chères.

Les NiMH offrent une densité énergétique de 30 à 80Wh par kilogramme, ou 140 à 300Wh par litre, sont relativement résistantes, mais ont un fort taux d'auto-décharge. Le format le plus courant est celui des batteries AA ou AAA, qui fournissent une tension nominale de 1.2V, et 1.0V ou moins quand elles sont déchargées. On peut les décharger complètement, mais il ne faut pas les sur-charger.
Elles sont en outre économiques, et avec le format AA ou AAA, on peut facilement les mettre en série pour obtenir une tension cible, ou en parallèle pour multiplier l'intensité maximale.

1.4.4 - Les batteries au lithium
Image IPB
Les batteries lithium-ion (Li-Ion), parfois appelées lithium polymère (LiPo) sont des batteries efficaces mais sensibles. Elles permettent de fournir 100 à 270Wh par kilogramme, ou 250 à 700Wh par litre.
Chaque batterie fournit 3.7V (entre 3.3V et 4.2V en pratique). Ces batteries sont efficaces, mais chères, et doivent être utilisées avec précaution. En effet, il faut charger les batteries en respectant les spécifications du constructeur, car il y a des risques d'incendie ou d'explosion dans le cas contraire.
On associe donc généralement ces batteries à un circuit de charge spécifique aux batteries liIon/LiPo.
Elles ont un très faible taux d'auto-décharge, et peuvent fournir des courants importants.
En revanche, il est fortement déconseillé de faire des assemblages soi même (parallèle ou série), car les batteries doivent être identiques, et testées pour cela. Si l'on souhaite des batteries en série ou en parallèle, les fabricants vendent de tels modules déjà assemblés, et garantis. La flexibilité est donc plus faible qu'avec des batteries NiMh, et il faudra prendre davantage de précautions, pour un coût plus élevé. Cependant, cette solution est celle qui fournira la plus grande autonomie. Dans le domaine du modélisme, on pourra trouver une grande variété de modèles, à des prix corrects. Il faudra toutefois compter l'achat d'un chargeur spécifique (qu'on ne trouvera que dans des magasins spécialisés).

1.4.5 - Conclusions sur les batteries
Parmi ces trois technologies, laquelle choisir? Pour de petits robots, on peut déjà écarter les batteries au plomb. Ce choix reste toutefois à considérer pour de gros robots, si le coût est important.

A plus petite échelle, la solution la plus simple à mettre en oeuvre sera probablement celle des batteries NiMH. Les chargeurs sont économiques et faciles à trouver (même s'il est intéressant d'investir dans un bon chargeur, qui augmentera la durée de vie des batteries, fournira une charge fiable et/ou plus rapide et une durée de charge automatiquement calculée et adaptée), le coût est très modéré, et l'ensemble très modulaire.
A moins de contraintes de masse et de volume serrées, les AA offrent une meilleure densité que les AAA, et sont donc préférables. Il faudra acheter un fabriquer un boitier accueillant les batteries en série ou parallèle (ou toute combinaison souhaitée), et on pourra ainsi adapter la tension et l'intensité en sortie.

Les batteries au Lithium sont la solution la plus performante, on aura généralement 5 fois plus d'énergie stockée dans la même masse, et donc une autonomie significativement plus importante. En revanche, il faut des composants spécifiques pour la charge, ce qui alourdit la facture. C'est toutefois un investissement qui vaut le coup, et l'ensemble peut rester accessible, voir assez économique dans l'absolu. D'autre part, même en y mettant le prix, il n'est pas possible d'atteindre de telles performances avec les NiMH.
Enfin, si l'on veut atteindre des tensions élevées, et/ou des intensités importantes, les batteries au lithium seront souvent la meilleure solution, car il faudrait parfois de très nombreuses batteries NiMH en série ou parallèle pour atteindre des performances équivalentes, ce qui augmenterait d'autant le risque de
défaillance d'une batterie, et rendrait plus compliquée la charge.

En conclusion, la meilleure solution sera celle des batteries LiIon/LiPo, à moins de vouloir diminuer les coûts. Dans ce cas, les NiMH offrent une alternative correcte et très économique. Dans certains cas, avec des systèmes consommant peu, le lithium pourrait apporter plus de performances que ce qui est nécéssaire, de sorte que le NiMh serait plus rentable/rationnel.
Pour la suite, nous conserverons donc ces deux solutions, et présenterons au moins un montage basé sur le NiMH et un sur le LiIon/LiPo.

A bientôt pour la suite!

Mon site principal : http://www.nagashur.com/ (format blog, un wiki y est aussi)

Mon profil sur hackaday.io : https://hackaday.io/sky99 (hackerspace en anglais, j'y ai plein de projets)

Mon Github : https://github.com/sarinkhan/


#13 sky99

sky99

    Habitué

  • Membres
  • PipPip
  • 271 messages
  • Gender:Male

Posté 06 décembre 2014 - 11:10

Bonjour!

Comme indiqué dans le post précédent, la solution d'alimentation retenue est celle de la batterie lithium-ion ou lithium polymère.

Ces batteries fournissent 3.7V par cellule, et on trouve des batteries multi cellules (7.2V, 11v, etc). Les batteries ayant de multiples

cellules en parallèle sont cependant plus complexes à recharger, car il faut équilibrer la charge entre les cellules.

Pour l'instant, mon objectif est de rester aussi simple que possible, en dépit des avantages de ces batteries multi-cellules.

En effet, pour la charge des batteries lithium 3.7, il existe plein de petits circuits automatiques permettant de gérer

facilement la charge, ce qui nous servira plus tard.

 

Le problème que j'ai rencontré est que les puces dont je disposais pour contrôler mes moteurs fonctionnent efficacement

quand on a une tension d'alimentation des batteries de 5-6v. J'aurais pu rajouter des convertisseurs step up, mais il en aurait

fallu des gros et chers. J'ai donc cherché une puce de remplacement aux L293D ou aux SN754410, à savoir le DRV8835. Pololu

fabrique une petite carte embarquant tout ce qu'il nous faut, et cette puce à l'avantage de ne nécessiter que 4 sorties pour commander

deux moteurs, mais surtout d'accepter une tension d'alimentation des moteurs et des signaux logiques de 2 à 11v. Chaque moteur pourra utiliser 1.2A en continu, et 1.5A en pointe.

Ayant reçu ce composant, je puis enfin reprendre la poursuite du programme :)

J'ai également reçu d'autres composants, qui pourront nous servir pour des étapes ultérieures. Je vous dis donc à bientôt pour la suite, sur le contrôle des moteurs.


Mon site principal : http://www.nagashur.com/ (format blog, un wiki y est aussi)

Mon profil sur hackaday.io : https://hackaday.io/sky99 (hackerspace en anglais, j'y ai plein de projets)

Mon Github : https://github.com/sarinkhan/


#14 Piquillos64

Piquillos64

    Membre

  • Membres
  • 23 messages
  • Gender:Male
  • Location:Biarritz
  • Interests:Electronique, programmation C/C++, robotique, mécanique.

Posté 07 décembre 2014 - 12:22

Bonjour sky99,

 

Je suis tout admiratif de ton travail. C'est remarquable!

Si je comprends bien, actuellement tu test des composants pour piloter tes moteurs?

As-tu pu entamer d'autres partie de ce programme ambitieux?

Quelle sera l'envergure de ce robot? 

Je me tiens à tes cotés si tu as besoin d'aide dans ta recherche et conception.



#15 sky99

sky99

    Habitué

  • Membres
  • PipPip
  • 271 messages
  • Gender:Male

Posté 07 décembre 2014 - 04:41

Bonjour sky99,

 

Je suis tout admiratif de ton travail. C'est remarquable!

Si je comprends bien, actuellement tu test des composants pour piloter tes moteurs?

As-tu pu entamer d'autres partie de ce programme ambitieux?

Quelle sera l'envergure de ce robot? 

Je me tiens à tes cotés si tu as besoin d'aide dans ta recherche et conception.

Bonjour!

Merci pour tes encouragements :)

En fait, j'ai déjà fait plusieurs robots, et pour l'instant, les étapes actuelles sont en terrain connu.

Simplement, je me suis dit que cette fois je pourrais faire un robot "propre", et c'est l'occasion de

bien tout documenter, en justifiant tous les choix. Du coup, il y a d'autres parties que j'ai faites,

mais je présente le tout dans l'ordre. Les composants pour piloter les moteurs, d'habitude, j'utilise

les L293D et les SN754410, mais ils ne conviennent ici pas pour les raisons énoncées plus haut.

Du coup, ce soir j'ai soudé mon nouveau contrôleur de moteur, ainsi que divers autres éléments qui

serviront par la suite sur ce robot, et que je présenterai au fur et à mesure! Enfin, quand j'aurai reproduit

les fonctionnalités de mes anciens robots, je pourrai m'intéresser à de nouvelles problématiques pour 

améliorer le robot, et étendre ses fonctionnalités. D'autre part, les expérimentations faites sur ce programme

serviront à divers robots, puisque bien souvent on rencontre les mêmes problématiques. J'espère pouvoir fournir

sur la durée une collection de réflexions sur diverses problématiques ainsi que des solution concrètes et documentées.

Je note en outre ta proposition d'aide, et si pour le moment j'en suis encore à des problématiques simples,

je garde l'info pour un eventuel coup de main ultérieur :) En effet, mon domaine d'origine c'est l'info, donc

en électronique je peux avoir besoin de conseils!

Merci à toi, et à bientôt!


Mon site principal : http://www.nagashur.com/ (format blog, un wiki y est aussi)

Mon profil sur hackaday.io : https://hackaday.io/sky99 (hackerspace en anglais, j'y ai plein de projets)

Mon Github : https://github.com/sarinkhan/


#16 transistance

transistance

    Membre passionné

  • Membres
  • PipPipPip
  • 411 messages

Posté 07 décembre 2014 - 11:37

En parlant des NiMh:

 On peut les décharger complètement, mais il ne faut pas les sur-charger.

Si on dépasse le seuil de 1v par élément lors de la décharge on risque la destruction de l'accu.
 

 

Les batteries lithium-ion (Li-Ion), parfois appelées lithium polymère (LiPo) sont des batteries efficaces mais sensibles.

Euh... cette formulation est ambigüe, tu sembles dire que c'est la même chose avec deux nom différents. Ce sont 2 technologies radicalement différentes.

 

En parlant des Li-ion et LiPo:

 

Comme indiqué dans le post précédent, la solution d'alimentation retenue est celle de la batterie lithium-ion ou lithium polymère.

Ces batteries fournissent 3.7V par cellule, et on trouve des batteries multi cellules (7.2V, 11v, etc). Les batteries ayant de multiples

cellules en parallèle sont cependant plus complexes à recharger, car il faut équilibrer la charge entre les cellules.

Concernant les LiPo les batteries à plusieurs cellules en série nécessite aussi un équilibrage de charge.

 

 

Les batteries au Lithium sont la solution la plus performante, on aura généralement 5 fois plus d'énergie stockée dans la même masse, et donc une autonomie significativement plus importante.

Oui et non, ça dépend ce qu'on entend pas autonomie. Si on se base sur la durée de vie des batteries Une batterie lithium est bien moins performante qu'une NiCd.


N'oubliez jamais que "Ban Ki-moon n'attrape pas mousse"


#17 sky99

sky99

    Habitué

  • Membres
  • PipPip
  • 271 messages
  • Gender:Male

Posté 07 décembre 2014 - 04:16

En parlant des NiMh:

Si on dépasse le seuil de 1v par élément lors de la décharge on risque la destruction de l'accu.
 

Euh... cette formulation est ambigüe, tu sembles dire que c'est la même chose avec deux nom différents. Ce sont 2 technologies radicalement différentes.

 

En parlant des Li-ion et LiPo:

Concernant les LiPo les batteries à plusieurs cellules en série nécessite aussi un équilibrage de charge.

 

Oui et non, ça dépend ce qu'on entend pas autonomie. Si on se base sur la durée de vie des batteries Une batterie lithium est bien moins performante qu'une NiCd.

Bonjour!

Merci pour tes remarques!

Sur le second point, la technologie diffère, certes. Mais en utilisation, c'est très similaire, les li-ion et lipo sont chargées par les mêmes chargeurs maintenant (vérifiez toutefois avant d'utiliser un vieux chargeur!)

 

Sur le troisième point, c'est une faute de ma part, je voulais parler des cellules en série! je corrige!

Les cellules en parallèle sont normalement pré-équilibrées d'usine (en tous cas les miennes c'est le cas!)

 

Sur le dernier point, eh bien l'autonomie est généralement définie comme la durée de fonctionnement d'un système

à fonctionner entre deux rechargements en énergie (que ce soit du carburant fossile, de l'électricité, etc).

On pourrait même dire la durée de fonctionnement autonome du système sans apport d'énergie externe.

Pour l'instant, je n'ai jamais entendu utilisé le terme "autonomie" pour parler de la durabilité du système, mais c'est

un point intéressant à préciser, car dans certains contextes on peut préferer d'autres types de batteries plus durables.

Toutefois pour des robots, je vois mal pourquoi utiliser autre chose que du lipo/liion. En effet, si tu parles du nombre de cycles de charge décharge, même avec une batterie lipo qui ferait moins de cycles qu'une nicd, vu que la densité energétique est très largement inférieure, en pratique, la lipo gagne quand même.

En effet, une nicd est aux alentours de 50Wh/kg contre 100 a 300 pour du lithium. Je lis pour la nicd 1500 cycles de charges complètes, contre 500 à 1000 pour du lithium. Du coup je charge ma nicd AU MOINS deux fois plus souvent, ce qui fait que ma lithium dure plus longtemps!

 

D'autre part, les NiCD sont sensibles à l'effet mémoire, qui dégrade leurs performances, pas les lithium; le taux d'auto-décharge des nicd est largement plus important, donc en utilisation pour des systèmes faible conso, on pert beaucoup.

 

Bref, pour ma part, je ne vois pas tellement de raisons de privilégier du NICD au lithium, hormis le coût, ou alors un environnement trop "dangereux" pour du lithium, par exemple un endroit chaud...

 

D'autre part, hors lithium, plutôt que le NiCD, pourquoi pas plutôt le NiMH, qui est à peu près mieux sur tous les points, et standard?


Mon site principal : http://www.nagashur.com/ (format blog, un wiki y est aussi)

Mon profil sur hackaday.io : https://hackaday.io/sky99 (hackerspace en anglais, j'y ai plein de projets)

Mon Github : https://github.com/sarinkhan/


#18 Piquillos64

Piquillos64

    Membre

  • Membres
  • 23 messages
  • Gender:Male
  • Location:Biarritz
  • Interests:Electronique, programmation C/C++, robotique, mécanique.

Posté 07 décembre 2014 - 04:17

Bonjour,

 

Comme le dit justement transistance, LiPo et Li-Ion sont des batteries de technologie différentes... mais cela reste quand même similaire. Les éléments Li-Ion peuvent avoir une tension de 3.6V et peuvent être rechargés à chaud contrairement au LiPo où il faut attendre qu'ils refroidissent.

 

Par contre

 

 

Oui et non, ça dépend ce qu'on entend pas autonomie. Si on se base sur la durée de vie des batteries Une batterie lithium est bien moins performante qu'une NiCd.

Je ne suis pas vraiment d'accord avec toi... La technologie LiPo et Li-Ion est nettement plus intéressante. Une NiCd perd sa capacité avec le temps (effet mémoire) malgré les cycles de charges/décharges, est plus lourde et les pointes en courant sont très limitées par rapport aux lipo.

Je fais du modélisme depuis une vingtaine d'années et les lipo/liion ont révolutionné cette discipline.



#19 transistance

transistance

    Membre passionné

  • Membres
  • PipPipPip
  • 411 messages

Posté 07 décembre 2014 - 05:38

Je ne fais pas de modélisme mais sur l'un de mes robots j'utilise une vieille batterie 9.6V NiCd récupérée dans une voiture nikko evolution (fin des annèes 90) et bien elle tiens encore parfaitement la route! Par contre beaucoup de monde comme moi ont dû changer de téléphone portable parceque la batterie lithium ne faisait plus l'affaire!

 

Ne croyez pas que je prenne aveuglément le parti de la vieille technologie basée sur le Nickel. Je tiens seulement à signaler qu'on ne peut pas affirmer  qu'une technologie soit meilleure qu'une autre, ça dépend de tellement de paramètre que c'est quasi du cas par cas!


N'oubliez jamais que "Ban Ki-moon n'attrape pas mousse"


#20 sky99

sky99

    Habitué

  • Membres
  • PipPip
  • 271 messages
  • Gender:Male

Posté 08 décembre 2014 - 02:37

Je ne fais pas de modélisme mais sur l'un de mes robots j'utilise une vieille batterie 9.6V NiCd récupérée dans une voiture nikko evolution (fin des annèes 90) et bien elle tiens encore parfaitement la route! Par contre beaucoup de monde comme moi ont dû changer de téléphone portable parceque la batterie lithium ne faisait plus l'affaire!

 

Ne croyez pas que je prenne aveuglément le parti de la vieille technologie basée sur le Nickel. Je tiens seulement à signaler qu'on ne peut pas affirmer  qu'une technologie soit meilleure qu'une autre, ça dépend de tellement de paramètre que c'est quasi du cas par cas!

Il est possible que cela vienne du fait que justement tu compares une batteries de bonne qualité pour véhicule radiocommandés à des batteries bas de gamme de téléphone... (en plus la nicd est à plusieurs cellules en série, ils ont donc probablement choisi des élements de meilleure qualité pour le pack qu'une cellule basique liion) D'autre part, tout cela dépend beaucoup du cycle d'utilisation : si la batterie A est utilisée peu en rapport à sa capacité totale, elle subira moins d'usure que la batterie B qui sera utilisée pour des cycles complets fréquemment...

Pour ce qui est des exemples, j'en ai dans l'autre sens : j'ai un ordi portable qui a années (plus de 7 ans) et la batterie est toujours en très bon etat! Idem avec mon smartphone de 4-5ans!

 

Je comprends bien ton propos sur la comparaison, mais justement, une comparaison devrait être faite à "tout autre paramètre identique par ailleurs", autant que faire se peut. Du coup si on compare des batteries de masse equivalentes, les lithium ont une meilleure autonomie.

En revanche à capacité équivalente (X watt-heures), la NICD peut dans des conditions idéales s'user moins vite, si on a pas d'effet mémoire!

Mais il faut pouvoir s'en assurer :)


Mon site principal : http://www.nagashur.com/ (format blog, un wiki y est aussi)

Mon profil sur hackaday.io : https://hackaday.io/sky99 (hackerspace en anglais, j'y ai plein de projets)

Mon Github : https://github.com/sarinkhan/




Répondre à ce sujet



  


0 utilisateur(s) li(sen)t ce sujet

0 members, 0 guests, 0 anonymous users