Photo provenant du site esieabot.esiea.fr
Cette page porte sur le montage d'esieabot proposé par l'ESIEA, (École supérieure d'informatique électronique automatique).
esieabot
Voici ce que l'on peut trouver sur la page consacré à l'esieabot : l’esieabot est le robot pédagogique programmable de l’ESIEA. Ludique mais pro, il accélérera l'acquisition de vos compétences numériques : programmation, électronique, intelligence artificielle, cyber-sécurité, systèmes embarqués, etc.
Montage
On trouve la notice de montage sur cette page. Toutefois, je ne l'ai pas complètement suivie (version 1.0.1 téléchargée en septembre 2020) et je vous propose quelques améliorations mineures mais qui vous seront utiles.
Le montage comporte trois plateaux en aluminium superposés :
- Sur le premier plateau sont positionnés les moteurs actionnant les roues. La notice propose également d'y mettre un boitier comportant 4 piles de 1,5V pour l'alimentation de ces moteurs. Je vous conseille de ne pas positionner le boitier à cet endroit (pas pratique) mais plutôt, sur le deuxième plateau, à côté du boitier d'alimentation du Raspberry Pi. Pour info, ce deuxième boitier est prévu pour deux piles de 1,5V et dispose d'un élévateur de tension 3V vers 5V.
esieabot avec disposition des alimentations.
- L'esiabot comporte deux roues motrices et un roulement qui permet de créer un trépied. Deux vis sont prévues pour la fixation du roulement. Je vous conseille de mettre des rondelles afin d'éviter d'abimer le support du roulement avec les écrous.
- Le troisième plateau comporte une plaque d'essai pour le câblage du driver de commande du moteur. Le positionnement proposé pour le Raspberry Pi n'est pas idéal pour connecter la nappe de la caméra. Je vous suggère de le positionner plus au centre et plus près de la caméra. D'ailleurs, la photo disponible sur le site esieabot.esiea.fr montre que c'est ce qui était prévu initialement.
Positionnement final du Raspberry Pi
- La fixation du Raspberry Pi se fait à l'aide de deux entretoises. Je vous conseille fortement de mettre une troisième entretoise (10mm) côté connecteur. Il y a un passage de vis prévu. Cela permet d'éviter que le circuit imprimé soit trop sollicité (au risque de casser) lorsque vous insèrerez les fils de liaisons avec la plaque d'essai. D'ailleurs, la photo disponible sur le site esieabot.esiea.fr montre que cette troisième entretoise était présente initialement.
- Dans la notice de montage, il est indiqué que la caméra doit être fixé (via des scratches) sur le boitier de piles pour l'alimentation du moteur. Comme je conseille de mettre ce boitier ailleurs, il n'est plus possible de fixer la caméra ainsi sauf si vous acceptez qu'elle ne soit plus centrée sur l'esiabot. Personnellement, j'ai préféré la fixer sur le premier plateau via une petite cornière en plastique.
Cornière fixée sur le circuit-imprimé de la caméra
Fixation de la caméra sur le châssis
Quelques mots sur le L293D
Le composant L293D présent sur la plaque d'essai est le driver permettant d'alimenter le moteur en fonction de commandes qui lui sont envoyées. Les spécifications sont disponibles sur le site de ST Microelectronics
Schéma interne du driver et brochage
Ce driver est en mesure de fournir des courants pouvant aller jusqu'à 600mA par canal de sortie (1,2A en pic de courant non répétitif). Il dispose d'une protection thermique, de diodes anti-retour le rendant apte à commander des charges inductives. Deux entrées d'alimentation sont prévues : une pour les signaux logiques de commande (5V dans le cas présent), l'autre pour l'alimentation des charges (jusqu'à 36V, 6V dans le cas présent), en l'occurence, ici, des moteurs.
Pinout du Raspberry Pi, vue de dessus, le connecteur 1 se trouve du côté du connecteur de la SD-card.
Le câblage proposé par la notice de montage correspond aux pins suivantes (pour le Raspberry pi et le L293D) :
Vs, pin 8 du L293D, est relié au boitier d'alimentation du moteur (6V), Vss, pin 16 du L293D, est relié au 5V, pin 2 ou 4 du Raspberry Pi.
La masse est commune au Raspberry Pi (pin 20 par exemple) et à l'alimentation 6V. Elle est reliée à Gnd, pin 4, 5, 12 ou 13, du L293D.
Un moteur est relié à Output4, pin 14 du L293D (fil rouge du moteur) et à Output3, pin 11 du L293D (fil noir du moteur).
L'autre moteur est relié à Output1, pin 3 du L293D (fil rouge du moteur) et à Output2, pin 6 du L293D (fil noir du moteur).
Si Enable1, pin 1 du L293D, est à l'état haut, Output1 et 2 sont activés. Si Enable1 est à l'état bas, Output1 et 2 sont dans l'état haute impédance (voir table de vérité ci-après). Enable1 est relié à la pin 7 du Raspberry Pi (GPIO4)
Si Enable2, pin 9 du L293D, est à l'état haut, Output 3 et 4 sont activés. Si Enable2 est à l'état bas, Output3 et 4 sont dans l'état haute impédance (voir table de vérité ci-après). Enable2 est relié à la pin 18 du Raspberry Pi (GPIO24)
Input1 (pin 2 du L293D) et 2 (pin 7 du L293D) permettent de commander les sorties Output1 et 2 du du L293D. Ces sorties suivent l'état des entrées. Input1 est relié à la pin 11 (GPIO17) du Raspberry Pi, Input2 est relié à la pin 15 (GPIO22) du Raspberry Pi.
Input3 (pin 10 du L293D) et 4 (pin 15 du L293D) permettent de commander les sorties Output3 et 4 du du L293D. Ces sorties suivent l'état des entrées. Input3 est relié à la pin 22 (GPIO25) du Raspberry Pi, Input4 est relié à la pin 16 (GPIO23) du Raspberry Pi.
Table de vérité des sorties en fonction du signal input et du signal enable.
Quelques mots sur l'alimentation
Le fait d'alimenter le montage par piles permet de réaliser une économie sur le prix de l'appareil mais n'est ni très pratique, ni très économique. Le montage consomme pas mal : environ 200mA pour le Raspberry Pi et 400mA pour chaque moteur.
Avant d'aller plus loin, pourquoi deux alimentations ?
L'alimentation du moteur se fait en 6V. Il aurait été possible de délivrer le 5V au Raspberry Pi via un régulateur 5V Low Drop. Je suppose que cette solution n'a pas été adoptée pour au moins deux raisons :
- Tout d'abord, la tension des piles va baisser assez vite au fur et à mesure de l'utilisation sans pour autant empêcher le fonctionnement des moteurs. Par contre, même avec un régulateur Low Drop, le différentiel de tension deviendra vite problématique pour fournir le 5V.
- Au démarrage, le courant demandé par les moteurs est assez élevé ce qui risque de faire baisser la tension des piles en dessous du seuil de fonctionnement du régulateur. on a donc un problème similaire au précédent.
Une solution pourrait être de remplacer les deux alimentations par un accu LiPo de 7,4V qui laisse suffisamment de marge pour l'alimentation du Raspberry Pi via un régulateur Low Drop et qui permet d'alimenter les moteurs en léger survoltage (ce qui normalement ne pose pas de problème).
Une solution équivalente mais plus complexe à mettre en oeuvre et moins bonne concernant le rendement pourrait utiliser un accu LiPo de 3,7V et deux convertisseurs élévateurs, un de 5V et l'autre de 6V.
Quelque soit la solution retenue, il est impératif de protéger la sortie de l'accu par un fusible retardé ou un polyswitch (1A devrait suffire).
septembre 2020